Skip to content

Commit 1caa446

Browse files
committed
chore: modify case management examples
1 parent 3145e45 commit 1caa446

File tree

1 file changed

+109
-24
lines changed

1 file changed

+109
-24
lines changed

examples/test_case_management_v1_examples.py

Lines changed: 109 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,23 @@
1717
Examples for CaseManagementV1
1818
"""
1919

20+
import io
2021
import os
2122
import pytest
2223
from ibm_cloud_sdk_core import ApiException, read_external_sources
2324
from ibm_platform_services.case_management_v1 import *
2425

2526
# Config file name
26-
config_file = 'case_management_v1.env'
27+
config_file = 'case_management.env'
2728

2829
case_management_service = None
2930

3031
config = None
3132

33+
case_number = None
34+
attachment_id = None
35+
resource_crn = None
36+
3237

3338
##############################################################################
3439
# Start of Examples for Service: CaseManagementV1
@@ -57,6 +62,9 @@ def setup_class(cls):
5762
global config
5863
config = read_external_sources(CaseManagementV1.DEFAULT_SERVICE_NAME)
5964

65+
global resource_crn
66+
resource_crn = config['RESOURCE_CRN']
67+
6068
print('Setup complete.')
6169

6270
needscredentials = pytest.mark.skipif(
@@ -71,16 +79,33 @@ def test_create_case_example(self):
7179
try:
7280
# begin-createCase
7381

82+
offering_type = OfferingType(
83+
group='crn_service_name',
84+
key='cloud-object-storage'
85+
)
86+
offering_payload = Offering(
87+
name='Cloud Object Storage',
88+
type=offering_type
89+
)
90+
7491
case = case_management_service.create_case(
7592
type='technical',
76-
subject='testString',
77-
description='testString'
93+
subject='Example technical case',
94+
description='This is an example case description. This is where the problem would be described.',
95+
offering=offering_payload,
96+
severity=4,
7897
).get_result()
7998

8099
print(json.dumps(case, indent=2))
81100

82101
# end-createCase
83102

103+
assert case is not None
104+
assert case['number'] is not None
105+
106+
global case_number
107+
case_number = case['number']
108+
84109
except ApiException as e:
85110
pytest.fail(str(e))
86111

@@ -89,11 +114,21 @@ def test_get_case_example(self):
89114
"""
90115
get_case request example
91116
"""
117+
assert case_number is not None
118+
92119
try:
93120
# begin-getCase
94121

122+
fields_to_return = [
123+
GetCaseEnums.Fields.DESCRIPTION,
124+
GetCaseEnums.Fields.STATUS,
125+
GetCaseEnums.Fields.SEVERITY,
126+
GetCaseEnums.Fields.CREATED_BY,
127+
]
128+
95129
case = case_management_service.get_case(
96-
case_number='testString'
130+
case_number=case_number,
131+
fields=fields_to_return
97132
).get_result()
98133

99134
print(json.dumps(case, indent=2))
@@ -111,7 +146,12 @@ def test_get_cases_example(self):
111146
try:
112147
# begin-getCases
113148

114-
case_list = case_management_service.get_cases().get_result()
149+
case_list = case_management_service.get_cases(
150+
offset=0,
151+
limit=100,
152+
search='blocker',
153+
sort=GetCasesEnums.Fields.UPDATED_AT,
154+
).get_result()
115155

116156
print(json.dumps(case_list, indent=2))
117157

@@ -125,12 +165,14 @@ def test_add_comment_example(self):
125165
"""
126166
add_comment request example
127167
"""
168+
assert case_number is not None
169+
128170
try:
129171
# begin-addComment
130172

131173
comment = case_management_service.add_comment(
132-
case_number='testString',
133-
comment='This is a test comment'
174+
case_number=case_number,
175+
comment='This is an example comment.'
134176
).get_result()
135177

136178
print(json.dumps(comment, indent=2))
@@ -145,11 +187,18 @@ def test_add_watchlist_example(self):
145187
"""
146188
add_watchlist request example
147189
"""
190+
assert case_number is not None
191+
148192
try:
149193
# begin-addWatchlist
150194

195+
watchlist_users = [
196+
User(realm='IBMid', user_id='[email protected]')
197+
]
198+
151199
watchlist_add_response = case_management_service.add_watchlist(
152-
case_number='testString',
200+
case_number=case_number,
201+
watchlist=watchlist_users,
153202
).get_result()
154203

155204
print(json.dumps(watchlist_add_response, indent=2))
@@ -164,11 +213,18 @@ def test_remove_watchlist_example(self):
164213
"""
165214
remove_watchlist request example
166215
"""
216+
assert case_number is not None
217+
167218
try:
168219
# begin-removeWatchlist
169220

221+
watchlist_users = [
222+
User(realm='IBMid', user_id='[email protected]')
223+
]
224+
170225
watchlist = case_management_service.remove_watchlist(
171-
case_number='testString',
226+
case_number=case_number,
227+
watchlist=watchlist_users,
172228
).get_result()
173229

174230
print(json.dumps(watchlist, indent=2))
@@ -183,11 +239,16 @@ def test_add_resource_example(self):
183239
"""
184240
add_resource request example
185241
"""
242+
assert case_number is not None
243+
assert resource_crn is not None
244+
186245
try:
187246
# begin-addResource
188247

189248
resource = case_management_service.add_resource(
190-
case_number='testString',
249+
case_number=case_number,
250+
crn=resource_crn,
251+
note="This resource is the service that is having the problem.",
191252
).get_result()
192253

193254
print(json.dumps(resource, indent=2))
@@ -202,22 +263,36 @@ def test_upload_file_example(self):
202263
"""
203264
upload_file request example
204265
"""
266+
assert case_number is not None
267+
205268
try:
206269
# begin-uploadFile
207270

271+
example_file_content = b'This is the content of the file to upload.'
272+
208273
file_with_metadata_model = {
209-
'data': io.BytesIO(b'This is a mock file.').getvalue()
274+
'data': io.BytesIO(example_file_content).getvalue(),
275+
'filename': 'example.log',
276+
'content_type': 'application/octet-stream',
210277
}
211278

279+
files_to_upload = [file_with_metadata_model]
280+
212281
attachment = case_management_service.upload_file(
213-
case_number='testString',
214-
file=[file_with_metadata_model]
282+
case_number=case_number,
283+
file=files_to_upload,
215284
).get_result()
216285

217286
print(json.dumps(attachment, indent=2))
218287

219288
# end-uploadFile
220289

290+
assert attachment is not None
291+
assert attachment['id'] is not None
292+
293+
global attachment_id
294+
attachment_id = attachment['id']
295+
221296
except ApiException as e:
222297
pytest.fail(str(e))
223298

@@ -226,16 +301,21 @@ def test_download_file_example(self):
226301
"""
227302
download_file request example
228303
"""
304+
assert case_number is not None
305+
assert attachment_id is not None
306+
229307
try:
230308
# begin-downloadFile
231309

232-
result = case_management_service.download_file(
233-
case_number='testString',
234-
file_id='testString'
235-
).get_result()
310+
response = case_management_service.download_file(
311+
case_number=case_number,
312+
file_id=attachment_id,
313+
)
236314

237-
with open('/tmp/result.out', 'wb') as fp:
238-
fp.write(result)
315+
file = response.get_result()
316+
317+
print('Attachment content-type:', response.get_headers()['content-type'])
318+
print('Attachment contents:', file)
239319

240320
# end-downloadFile
241321

@@ -247,12 +327,15 @@ def test_delete_file_example(self):
247327
"""
248328
delete_file request example
249329
"""
330+
assert case_number is not None
331+
assert attachment_id is not None
332+
250333
try:
251334
# begin-deleteFile
252335

253336
attachment_list = case_management_service.delete_file(
254-
case_number='testString',
255-
file_id='testString'
337+
case_number=case_number,
338+
file_id=attachment_id
256339
).get_result()
257340

258341
print(json.dumps(attachment_list, indent=2))
@@ -267,17 +350,19 @@ def test_update_case_status_example(self):
267350
"""
268351
update_case_status request example
269352
"""
353+
assert case_number is not None
354+
270355
try:
271356
# begin-updateCaseStatus
272357

273358
status_payload_model = {
274359
'action': 'resolve',
275-
'comment': 'It was actually a mistake',
276-
'resolution_code': 1
360+
'comment': 'The problem has been resolved.',
361+
'resolution_code': 1,
277362
}
278363

279364
case = case_management_service.update_case_status(
280-
case_number='testString',
365+
case_number=case_number,
281366
status_payload=status_payload_model
282367
).get_result()
283368

0 commit comments

Comments
 (0)