28
28
29
29
# Read config file
30
30
configFile = 'case_management.env'
31
- configLoaded = None
32
-
33
- if os .path .exists (configFile ):
34
- os .environ ['IBM_CREDENTIALS_FILE' ] = configFile
35
- configLoaded = True
36
31
37
32
class TestCaseManagementV1 (unittest .TestCase ):
38
33
@@ -42,23 +37,18 @@ class TestCaseManagementV1(unittest.TestCase):
42
37
file_attachment_id = ''
43
38
44
39
@classmethod
45
- def setUpClass (self ):
46
-
47
- if not configLoaded :
40
+ def setUpClass (cls ):
41
+ if os .path .exists (configFile ):
42
+ os .environ ['IBM_CREDENTIALS_FILE' ] = configFile
43
+ else :
48
44
raise unittest .SkipTest ('External configuration not available, skipping...' )
49
45
50
- self .service = CaseManagementV1 .new_instance ()
51
- assert self .service is not None
52
-
53
- self .config = read_external_sources (CaseManagementV1 .DEFAULT_SERVICE_NAME )
54
- assert self .config is not None
55
- self .test_api_key = self .config .get ('APIKEY' )
56
- assert self .test_api_key is not None
46
+ cls .service = CaseManagementV1 .new_instance ()
47
+ assert cls .service is not None
57
48
58
- print ('\n Setup complete.' )
49
+ print ('Setup complete.' )
59
50
60
- @pytest .mark .depends (name = 'case_creation' )
61
- def test_create_case (self ):
51
+ def test_01_create_case (self ):
62
52
63
53
# Offering info can be retrieved via /case-management/utilities/v1/offerings/technical
64
54
offering_payload_type_model = {}
@@ -92,7 +82,7 @@ def test_create_case(self):
92
82
assert subject == response .result ['short_description' ]
93
83
assert description == response .result ['description' ]
94
84
95
- def test_create_case_with_empty_offering (self ):
85
+ def test_02_create_case_with_empty_offering (self ):
96
86
97
87
type = 'technical'
98
88
subject = 'Python - Integration test'
@@ -109,7 +99,7 @@ def test_create_case_with_empty_offering(self):
109
99
)
110
100
assert e .value .code == 400
111
101
112
- def test_create_case_with_empty_subject_and_description (self ):
102
+ def test_03_create_case_with_empty_subject_and_description (self ):
113
103
114
104
# Offering info can be retrieved via /case-management/utilities/v1/offerings/technical
115
105
offering_payload_type_model = {}
@@ -139,8 +129,7 @@ def test_create_case_with_empty_subject_and_description(self):
139
129
)
140
130
assert e .value .code == 500
141
131
142
- @pytest .mark .depends (on = 'case_creation' )
143
- def test_get_cases (self ):
132
+ def test_04_get_cases (self ):
144
133
145
134
offset = 0
146
135
limit = 2
@@ -158,8 +147,7 @@ def test_get_cases(self):
158
147
assert response .status_code == 200
159
148
assert response .result ['total_count' ] > 0
160
149
161
- @pytest .mark .depends (on = 'case_creation' )
162
- def test_get_case (self ):
150
+ def test_05_get_case (self ):
163
151
164
152
fields = ['number' , 'short_description' ]
165
153
case_number = TestCaseManagementV1 .new_case_number
@@ -173,7 +161,7 @@ def test_get_case(self):
173
161
assert TestCaseManagementV1 .new_case_number == response .result ['number' ]
174
162
assert response .result ['short_description' ] != ''
175
163
176
- def test_get_case_with_invalid_field (self ):
164
+ def test_06_get_case_with_invalid_field (self ):
177
165
178
166
fields = ['number' , 'short_description' , 'invalid_field' ]
179
167
case_number = TestCaseManagementV1 .new_case_number
@@ -186,8 +174,7 @@ def test_get_case_with_invalid_field(self):
186
174
)
187
175
assert e .value .code == 400
188
176
189
- @pytest .mark .depends (on = 'case_creation' )
190
- def test_add_comment (self ):
177
+ def test_07_add_comment (self ):
191
178
192
179
case_number = TestCaseManagementV1 .new_case_number
193
180
comment = 'This is a test comment!'
@@ -201,7 +188,7 @@ def test_add_comment(self):
201
188
assert response .status_code == 200
202
189
assert comment == response .result ["value" ]
203
190
204
- def test_add_comment_to_nonexisting_case (self ):
191
+ def test_08_add_comment_to_nonexisting_case (self ):
205
192
206
193
case_number = 'fake-case-number'
207
194
comment = 'This is a test comment!'
@@ -214,8 +201,7 @@ def test_add_comment_to_nonexisting_case(self):
214
201
)
215
202
assert e .value .code == 404
216
203
217
- @pytest .mark .depends (on = 'case_creation' )
218
- def test_add_watch_list_member (self ):
204
+ def test_09_add_watch_list_member (self ):
219
205
220
206
# Users can be retrieved via the User Management API.
221
207
user_id_and_realm_model = {}
@@ -239,9 +225,7 @@ def test_add_watch_list_member(self):
239
225
if user ['user_id' ] == user_id_and_realm_model ['user_id' ]]
240
226
assert len (found_users ) == 1
241
227
242
- @pytest .mark .depends (on = 'case_creation' )
243
- @pytest .mark .depends (name = 'file_upload' )
244
- def test_file_upload (self ):
228
+ def test_10_file_upload (self ):
245
229
246
230
fileName = "test_file.txt"
247
231
@@ -262,9 +246,7 @@ def test_file_upload(self):
262
246
assert response .status_code == 200
263
247
assert response .result ['filename' ] == fileName
264
248
265
- @pytest .mark .depends (on = 'file_upload' )
266
- @pytest .mark .depends (name = 'file_download' )
267
- def test_download_file (self ):
249
+ def test_11_download_file (self ):
268
250
269
251
response = self .service .download_file (
270
252
TestCaseManagementV1 .new_case_number ,
@@ -275,8 +257,7 @@ def test_download_file(self):
275
257
assert response .status_code == 200
276
258
assert 'content-type' in response .headers
277
259
278
- @pytest .mark .depends (on = 'file_download' )
279
- def test_delete_file (self ):
260
+ def test_12_delete_file (self ):
280
261
281
262
response = self .service .delete_file (
282
263
TestCaseManagementV1 .new_case_number ,
@@ -288,9 +269,7 @@ def test_delete_file(self):
288
269
# Assert the file attachment list is empty
289
270
assert len (response .result ['attachments' ]) == 0
290
271
291
- @pytest .mark .depends (on = 'file_download' )
292
- @pytest .mark .depends (name = 'add_resource' )
293
- def test_add_resource (self ):
272
+ def test_13_add_resource (self ):
294
273
295
274
# Adding a resource requires a valid CRN (Cloud Resource Name)
296
275
# CRN's can be retrieved via the Search and Tagging API
@@ -310,8 +289,7 @@ def test_add_resource(self):
310
289
)
311
290
assert e .value .code == 500
312
291
313
- @pytest .mark .depends (on = 'add_resource' )
314
- def test_resolve_case (self ):
292
+ def test_14_resolve_case (self ):
315
293
316
294
status_payload = {}
317
295
status_payload ['action' ] = 'resolve'
@@ -325,4 +303,4 @@ def test_resolve_case(self):
325
303
)
326
304
327
305
assert response .status_code == 200
328
- assert TestCaseManagementV1 .new_case_number == response .result ["number" ]
306
+ assert TestCaseManagementV1 .new_case_number == response .result ["number" ]
0 commit comments