@@ -391,26 +391,67 @@ def test_user_agent_header():
391
391
assert response .get_result ().request .headers .__getitem__ (
392
392
'user-agent' ) == user_agent_header ['User-Agent' ]
393
393
394
- @responses .activate
395
- def test_files ():
394
+ def test_files_dict ():
396
395
service = AnyServiceV1 ('2018-11-20' , authenticator = NoAuthAuthenticator ())
397
396
398
- responses .add (
399
- responses .GET ,
400
- 'https://gateway.watsonplatform.net/test/api' ,
401
- status = 200 ,
402
- body = json .dumps ({
403
- 'foo' : 'bar'
404
- }),
405
- content_type = 'application/json' )
406
397
form_data = {}
407
398
file = open (
408
399
os .path .join (
409
400
os .path .dirname (__file__ ), '../resources/ibm-credentials-iam.env' ), 'r' )
410
401
form_data ['file1' ] = (None , file , 'application/octet-stream' )
411
- form_data ['string1' ] = (None , 'hello' , 'text.plain' )
412
- service .prepare_request ('GET' , url = '' , headers = {'X-opt-out' : True }, files = form_data )
402
+ form_data ['string1' ] = (None , 'hello' , 'text/plain' )
403
+ request = service .prepare_request ('GET' , url = '' , headers = {'X-opt-out' : True }, files = form_data )
404
+ files = request ['files' ]
405
+ assert isinstance (files , list )
406
+ assert len (files ) == 2
407
+ filesDict = dict (files )
408
+ file1 = filesDict ['file1' ]
409
+ assert file1 [0 ] == 'ibm-credentials-iam.env'
410
+ string1 = filesDict ['string1' ]
411
+ assert string1 [0 ] is None
412
+
413
+ def test_files_list ():
414
+ service = AnyServiceV1 ('2018-11-20' , authenticator = NoAuthAuthenticator ())
415
+
416
+ form_data = []
417
+ file = open (
418
+ os .path .join (
419
+ os .path .dirname (__file__ ), '../resources/ibm-credentials-iam.env' ), 'r' )
420
+ form_data .append (('file1' , (None , file , 'application/octet-stream' )))
421
+ form_data .append (('string1' , (None , 'hello' , 'text/plain' )))
422
+ request = service .prepare_request ('GET' , url = '' , headers = {'X-opt-out' : True }, files = form_data )
423
+ files = request ['files' ]
424
+ assert isinstance (files , list )
425
+ assert len (files ) == 2
426
+ filesDict = dict (files )
427
+ file1 = filesDict ['file1' ]
428
+ assert file1 [0 ] == 'ibm-credentials-iam.env'
429
+ string1 = filesDict ['string1' ]
430
+ assert string1 [0 ] is None
431
+
432
+ def test_files_duplicate_parts ():
433
+ service = AnyServiceV1 ('2018-11-20' , authenticator = NoAuthAuthenticator ())
413
434
435
+ form_data = []
436
+ file = open (
437
+ os .path .join (
438
+ os .path .dirname (__file__ ), '../resources/ibm-credentials-iam.env' ), 'r' )
439
+ form_data .append (('creds_file' , (None , file , 'application/octet-stream' )))
440
+ file = open (
441
+ os .path .join (
442
+ os .path .dirname (__file__ ), '../resources/ibm-credentials-basic.env' ), 'r' )
443
+ form_data .append (('creds_file' , (None , file , 'application/octet-stream' )))
444
+ file = open (
445
+ os .path .join (
446
+ os .path .dirname (__file__ ), '../resources/ibm-credentials-bearer.env' ), 'r' )
447
+ form_data .append (('creds_file' , (None , file , 'application/octet-stream' )))
448
+ request = service .prepare_request ('GET' , url = '' , headers = {'X-opt-out' : True }, files = form_data )
449
+ files = request ['files' ]
450
+ assert isinstance (files , list )
451
+ assert len (files ) == 3
452
+ for part_name , tuple in files :
453
+ assert part_name == 'creds_file'
454
+ assert tuple [0 ] is not None
414
455
415
456
def test_json ():
416
457
service = AnyServiceV1 ('2018-11-20' , authenticator = NoAuthAuthenticator ())
0 commit comments