1414
1515import mock
1616import pytest
17+ import requests
1718
1819from icontrol import __version__ as VERSION
1920from icontrol import session
@@ -27,11 +28,7 @@ def iCRS():
2728 fake_iCRS .session = mock .MagicMock ()
2829 mock_response = mock .MagicMock ()
2930 mock_response .status_code = 200
30- fake_iCRS .session .delete .return_value = mock_response
31- fake_iCRS .session .get .return_value = mock_response
32- fake_iCRS .session .patch .return_value = mock_response
33- fake_iCRS .session .post .return_value = mock_response
34- fake_iCRS .session .put .return_value = mock_response
31+ fake_iCRS .session .send .return_value = mock_response
3532 return fake_iCRS
3633
3734
@@ -380,119 +377,109 @@ def test_correct_uri_construction_mgmt_cm(uparts_cm):
380377
381378# Test exception handling
382379def test_wrapped_delete_success (iCRS , uparts ):
383- iCRS .delete (uparts ['base_uri' ], partition = 'AFN' , name = 'AIN' ,
384- uri_as_parts = True )
385- assert iCRS .session .delete .call_args == \
386- mock .call ('https://0.0.0.0/mgmt/tm/root/RESTiface/~AFN~AIN' )
380+ iCRS .delete (uparts ['base_uri' ], partition = 'AFN' , name = 'AIN' , uri_as_parts = True )
381+ assert isinstance (iCRS .session .prepare_request .call_args [0 ][0 ], requests .Request )
382+ assert iCRS .session .prepare_request .call_args [0 ][0 ].url == 'https://0.0.0.0/mgmt/tm/root/RESTiface/~AFN~AIN'
387383
388384
389385def test_wrapped_delete_207_fail (iCRS , uparts ):
390- iCRS .session .delete .return_value .status_code = 207
391- with pytest .raises (session .iControlUnexpectedHTTPError ) as CHE :
392- iCRS .delete (uparts ['base_uri' ], partition = 'A_FOLDER_NAME' ,
393- name = 'AN_INSTANCE_NAME' )
394- assert str (CHE .value ).startswith ('207 Unexpected Error: ' )
386+ iCRS .session .send .return_value .status_code = 207
387+ with pytest .raises (session .iControlUnexpectedHTTPError ) as ex :
388+ iCRS .delete (uparts ['base_uri' ], partition = 'A_FOLDER_NAME' , name = 'AN_INSTANCE_NAME' )
389+ assert str (ex .value ).startswith ('207 Unexpected Error: ' )
395390
396391
397392def test_wrapped_get_success (iCRS , uparts ):
398- iCRS .get (uparts ['base_uri' ], partition = 'AFN' , name = 'AIN' ,
399- uri_as_parts = True )
400- assert iCRS .session .get .call_args == \
401- mock .call ('https://0.0.0.0/mgmt/tm/root/RESTiface/~AFN~AIN' )
393+ iCRS .get (uparts ['base_uri' ], partition = 'AFN' , name = 'AIN' , uri_as_parts = True )
394+ assert isinstance (iCRS .session .prepare_request .call_args [0 ][0 ], requests .Request )
395+ assert iCRS .session .prepare_request .call_args [0 ][0 ].url == 'https://0.0.0.0/mgmt/tm/root/RESTiface/~AFN~AIN'
402396
403397
404398def test_wrapped_get_success_with_suffix (iCRS , uparts ):
405- iCRS .get (uparts ['base_uri' ], partition = 'AFN' , name = 'AIN' ,
406- suffix = uparts ['suffix' ],
407- uri_as_parts = True )
408- assert iCRS .session .get .call_args == \
409- mock .call ('https://0.0.0.0/mgmt/tm/root/RESTiface/~AFN~AIN/members/m1' )
399+ iCRS .get (uparts ['base_uri' ], partition = 'AFN' , name = 'AIN' , suffix = uparts ['suffix' ], uri_as_parts = True )
400+ assert isinstance (iCRS .session .prepare_request .call_args [0 ][0 ], requests .Request )
401+ assert iCRS .session .prepare_request .call_args [0 ][0 ].url == 'https://0.0.0.0/mgmt/tm/root/RESTiface/~AFN~AIN/members/m1'
410402
411403
412404def test_wrapped_get_207_fail (iCRS , uparts ):
413- iCRS .session .get .return_value .status_code = 207
414- with pytest .raises (session .iControlUnexpectedHTTPError ) as CHE :
415- iCRS .get (uparts ['base_uri' ], partition = 'A_FOLDER_NAME' ,
416- name = 'AN_INSTANCE_NAME' )
417- assert str (CHE .value ).startswith ('207 Unexpected Error: ' )
405+ iCRS .session .send .return_value .status_code = 207
406+ with pytest .raises (session .iControlUnexpectedHTTPError ) as ex :
407+ iCRS .get (uparts ['base_uri' ], partition = 'A_FOLDER_NAME' , name = 'AN_INSTANCE_NAME' )
408+ assert str (ex .value ).startswith ('207 Unexpected Error: ' )
418409
419410
420411def test_wrapped_patch_success (iCRS , uparts ):
421- iCRS .patch (uparts ['base_uri' ], partition = 'AFN' , name = 'AIN' ,
422- uri_as_parts = True )
423- assert iCRS .session .patch .call_args == \
424- mock . call ( 'https://0.0.0.0/mgmt/tm/root/RESTiface/~AFN~AIN' , data = None )
412+ iCRS .patch (uparts ['base_uri' ], partition = 'AFN' , name = 'AIN' , uri_as_parts = True )
413+ assert isinstance ( iCRS . session . prepare_request . call_args [ 0 ][ 0 ], requests . Request )
414+ assert iCRS .session .prepare_request .call_args [ 0 ][ 0 ]. url == 'https://0.0.0.0/mgmt/tm/root/RESTiface/~AFN~AIN'
415+ assert iCRS . session . prepare_request . call_args [ 0 ][ 0 ]. data == []
425416
426417
427418def test_wrapped_patch_207_fail (iCRS , uparts ):
428- iCRS .session .patch .return_value .status_code = 207
429- with pytest .raises (session .iControlUnexpectedHTTPError ) as CHE :
430- iCRS .patch (uparts ['base_uri' ], partition = 'A_FOLDER_NAME' ,
431- name = 'AN_INSTANCE_NAME' )
432- assert str (CHE .value ).startswith ('207 Unexpected Error: ' )
419+ iCRS .session .send .return_value .status_code = 207
420+ with pytest .raises (session .iControlUnexpectedHTTPError ) as ex :
421+ iCRS .patch (uparts ['base_uri' ], partition = 'A_FOLDER_NAME' , name = 'AN_INSTANCE_NAME' )
422+ assert str (ex .value ).startswith ('207 Unexpected Error: ' )
433423
434424
435425def test_wrapped_put_207_fail (iCRS , uparts ):
436- iCRS .session .put .return_value .status_code = 207
437- with pytest .raises (session .iControlUnexpectedHTTPError ) as CHE :
438- iCRS .put (uparts ['base_uri' ], partition = 'A_FOLDER_NAME' ,
439- name = 'AN_INSTANCE_NAME' )
440- assert str (CHE .value ).startswith ('207 Unexpected Error: ' )
426+ iCRS .session .send .return_value .status_code = 207
427+ with pytest .raises (session .iControlUnexpectedHTTPError ) as ex :
428+ iCRS .put (uparts ['base_uri' ], partition = 'A_FOLDER_NAME' , name = 'AN_INSTANCE_NAME' )
429+ assert str (ex .value ).startswith ('207 Unexpected Error: ' )
441430
442431
443432def test_wrapped_post_207_fail (iCRS , uparts ):
444- iCRS .session .post .return_value .status_code = 207
445- with pytest .raises (session .iControlUnexpectedHTTPError ) as CHE :
446- iCRS .post (uparts ['base_uri' ], partition = 'A_FOLDER_NAME' ,
447- name = 'AN_INSTANCE_NAME' )
448- assert str (CHE .value ).startswith ('207 Unexpected Error: ' )
433+ iCRS .session .send .return_value .status_code = 207
434+ with pytest .raises (session .iControlUnexpectedHTTPError ) as ex :
435+ iCRS .post (uparts ['base_uri' ], partition = 'A_FOLDER_NAME' , name = 'AN_INSTANCE_NAME' )
436+ assert str (ex .value ).startswith ('207 Unexpected Error: ' )
449437
450438
451439def test_wrapped_post_success (iCRS , uparts ):
452- iCRS .post (uparts ['base_uri' ], partition = 'AFN' , name = 'AIN' ,
453- uri_as_parts = True )
454- assert iCRS .session .post .call_args == \
455- mock . call ( 'https://0.0.0.0/mgmt/tm/root/RESTiface/~AFN~AIN' , data = None ,
456- json = None )
440+ iCRS .post (uparts ['base_uri' ], partition = 'AFN' , name = 'AIN' , uri_as_parts = True )
441+ assert isinstance ( iCRS . session . prepare_request . call_args [ 0 ][ 0 ], requests . Request )
442+ assert iCRS .session .prepare_request .call_args [ 0 ][ 0 ]. url == 'https://0.0.0.0/mgmt/tm/root/RESTiface/~AFN~AIN'
443+ assert iCRS . session . prepare_request . call_args [ 0 ][ 0 ]. data == []
444+ assert iCRS . session . prepare_request . call_args [ 0 ][ 0 ]. json is None
457445
458446
459447def test_wrapped_post_success_with_data (iCRS , uparts ):
460- iCRS .post (uparts ['base_uri' ], partition = 'AFN' , name = 'AIN' , data = {'a' : 1 },
461- uri_as_parts = True )
462- assert iCRS .session .post .call_args == \
463- mock . call ( 'https://0.0.0.0/mgmt/tm/root/RESTiface/~AFN~AIN' ,
464- data = { 'a' : 1 }, json = None )
448+ iCRS .post (uparts ['base_uri' ], partition = 'AFN' , name = 'AIN' , data = {'a' : 1 }, uri_as_parts = True )
449+ assert isinstance ( iCRS . session . prepare_request . call_args [ 0 ][ 0 ], requests . Request )
450+ assert iCRS .session .prepare_request .call_args [ 0 ][ 0 ]. url == 'https://0.0.0.0/mgmt/tm/root/RESTiface/~AFN~AIN'
451+ assert iCRS . session . prepare_request . call_args [ 0 ][ 0 ]. data == { 'a' : 1 }
452+ assert iCRS . session . prepare_request . call_args [ 0 ][ 0 ]. json is None
465453
466454
467455def test_wrapped_post_success_with_json (iCRS , uparts ):
468- iCRS .post (uparts ['base_uri' ], partition = 'AFN' , name = 'AIN' , json = '{"a": 1}' ,
469- uri_as_parts = True )
470- assert iCRS .session .post .call_args == \
471- mock . call ( 'https://0.0.0.0/mgmt/tm/root/RESTiface/~AFN~AIN' , data = None ,
472- json = '{"a": 1}' )
456+ iCRS .post (uparts ['base_uri' ], partition = 'AFN' , name = 'AIN' , json = '{"a": 1}' , uri_as_parts = True )
457+ assert isinstance ( iCRS . session . prepare_request . call_args [ 0 ][ 0 ], requests . Request )
458+ assert iCRS .session .prepare_request .call_args [ 0 ][ 0 ]. url == 'https://0.0.0.0/mgmt/tm/root/RESTiface/~AFN~AIN'
459+ assert iCRS . session . prepare_request . call_args [ 0 ][ 0 ]. data == []
460+ assert iCRS . session . prepare_request . call_args [ 0 ][ 0 ]. json == '{"a": 1}'
473461
474462
475463def test_wrapped_post_success_with_json_and_data (iCRS , uparts ):
476- iCRS .post (uparts ['base_uri' ], partition = 'AFN' , name = 'AIN' , data = {'a' : 1 },
477- json = '{"a": 1}' , uri_as_parts = True )
478- assert iCRS .session .post .call_args == \
479- mock . call ( 'https://0.0.0.0/mgmt/tm/root/RESTiface/~AFN~AIN' ,
480- data = { 'a' : 1 }, json = '{"a": 1}' )
464+ iCRS .post (uparts ['base_uri' ], partition = 'AFN' , name = 'AIN' , data = {'a' : 1 }, json = '{"a": 1}' , uri_as_parts = True )
465+ assert isinstance ( iCRS . session . prepare_request . call_args [ 0 ][ 0 ], requests . Request )
466+ assert iCRS .session .prepare_request .call_args [ 0 ][ 0 ]. url == 'https://0.0.0.0/mgmt/tm/root/RESTiface/~AFN~AIN'
467+ assert iCRS . session . prepare_request . call_args [ 0 ][ 0 ]. data == { 'a' : 1 }
468+ assert iCRS . session . prepare_request . call_args [ 0 ][ 0 ]. json == '{"a": 1}'
481469
482470
483471def test_wrapped_put_success (iCRS , uparts ):
484- iCRS .put (uparts ['base_uri' ], partition = 'AFN' , name = 'AIN' ,
485- uri_as_parts = True )
486- assert iCRS .session .put .call_args == \
487- mock . call ( 'https://0.0.0.0/mgmt/tm/root/RESTiface/~AFN~AIN' , data = None )
472+ iCRS .put (uparts ['base_uri' ], partition = 'AFN' , name = 'AIN' , uri_as_parts = True )
473+ assert isinstance ( iCRS . session . prepare_request . call_args [ 0 ][ 0 ], requests . Request )
474+ assert iCRS .session .prepare_request .call_args [ 0 ][ 0 ]. url == 'https://0.0.0.0/mgmt/tm/root/RESTiface/~AFN~AIN'
475+ assert iCRS . session . prepare_request . call_args [ 0 ][ 0 ]. data == []
488476
489477
490478def test_wrapped_put_success_with_data (iCRS , uparts ):
491- iCRS .put (uparts ['base_uri' ], partition = 'AFN' , name = 'AIN' , data = {'b' : 2 },
492- uri_as_parts = True )
493- assert iCRS .session .put .call_args == \
494- mock .call ('https://0.0.0.0/mgmt/tm/root/RESTiface/~AFN~AIN' ,
495- data = {'b' : 2 })
479+ iCRS .put (uparts ['base_uri' ], partition = 'AFN' , name = 'AIN' , data = {'b' : 2 }, uri_as_parts = True )
480+ assert isinstance (iCRS .session .prepare_request .call_args [0 ][0 ], requests .Request )
481+ assert iCRS .session .prepare_request .call_args [0 ][0 ].url == 'https://0.0.0.0/mgmt/tm/root/RESTiface/~AFN~AIN'
482+ assert iCRS .session .prepare_request .call_args [0 ][0 ].data == {'b' : 2 }
496483
497484
498485def test___init__user_agent ():
@@ -531,7 +518,8 @@ def test__init__without_verify():
531518
532519
533520def test__init__with_verify ():
534- icrs = session .iControlRESTSession ('test_name' , 'test_pw' ,
535- token = True , verify = '/path/to/cert' )
521+ icrs = session .iControlRESTSession (
522+ 'test_name' , 'test_pw' , token = True , verify = '/path/to/cert'
523+ )
536524 assert icrs .session .verify is '/path/to/cert'
537525 assert icrs .session .auth .verify is '/path/to/cert'
0 commit comments