File tree 2 files changed +43
-1
lines changed
2 files changed +43
-1
lines changed Original file line number Diff line number Diff line change 6
6
import gitlab
7
7
8
8
9
- def test_services (project ):
9
+ def test_get_service_lazy (project ):
10
10
service = project .services .get ("jira" , lazy = True )
11
11
assert isinstance (service , gitlab .v4 .objects .ProjectService )
12
+
13
+
14
+ def test_update_service (project ):
15
+ service_dict = project .services .update (
16
+ "emails-on-push" , {"recipients" : "email@example.com" }
17
+ )
18
+ assert service_dict ["active" ]
19
+
20
+
21
+ def test_list_services (project , service ):
22
+ services = project .services .list ()
23
+ assert isinstance (services [0 ], gitlab .v4 .objects .ProjectService )
24
+ assert services [0 ].active
25
+
26
+
27
+ def test_get_service (project , service ):
28
+ service_object = project .services .get (service ["slug" ])
29
+ assert isinstance (service_object , gitlab .v4 .objects .ProjectService )
30
+ assert service_object .active
31
+
32
+
33
+ def test_delete_service (project , service ):
34
+ service_object = project .services .get (service ["slug" ])
35
+ service_object .delete ()
36
+
37
+ service_object = project .services .get (service ["slug" ])
38
+ assert not service_object .active
Original file line number Diff line number Diff line change @@ -392,6 +392,21 @@ def release(project, project_file):
392
392
return release
393
393
394
394
395
+ @pytest .fixture (scope = "function" )
396
+ def service (project ):
397
+ """This is just a convenience fixture to make test cases slightly prettier. Project
398
+ services are not idempotent. A service cannot be retrieved until it is enabled.
399
+ After it is enabled the first time, it can never be fully deleted, only disabled."""
400
+ service = project .services .update ("asana" , {"api_key" : "api_key" })
401
+
402
+ yield service
403
+
404
+ try :
405
+ project .services .delete ("asana" )
406
+ except gitlab .exceptions .GitlabDeleteError as e :
407
+ print (f"Service already disabled: { e } " )
408
+
409
+
395
410
@pytest .fixture (scope = "module" )
396
411
def user (gl ):
397
412
"""User fixture for user API resource tests."""
You can’t perform that action at this time.
0 commit comments