77
88from StringIO import StringIO
99
10+ sys .modules ['dbs' ] = MagicMock ()
11+ sys .modules ['dbs.apis' ] = MagicMock ()
12+ sys .modules ['dbs.apis.dbsClient' ] = MagicMock ()
13+
1014
1115class ContextualStringIO (StringIO ):
1216 def __enter__ (self ):
@@ -29,9 +33,6 @@ def setUp(self):
2933 "first" : {"a" : "B" },
3034 "second" : "C"
3135 }
32- sys .modules ['dbs' ] = MagicMock ()
33- sys .modules ['dbs.apis' ] = MagicMock ()
34- sys .modules ['dbs.apis.dbsClient' ] = MagicMock ()
3536 from WmAgentScripts .utils import deep_update
3637 self .deep_update = deep_update
3738
@@ -448,5 +449,43 @@ def getresponse(self):
448449 self .assertEqual (response , 200 )
449450
450451
452+ class TestCheckTransferApproval (unittest .TestCase ):
453+
454+ def test_checkTransferApproval (self ):
455+ class MockResponseStringIo :
456+ def __init__ (self , * args , ** kwargs ):
457+ self .response = None
458+
459+ def request (self , * args , ** kwargs ):
460+ self .response = {"phedex" : {
461+ "request" : [{
462+ "node" : [
463+ {
464+ "name" : "someSite" ,
465+ "decision" : "approved" ,
466+ },
467+ {
468+ "name" : "someSite1" ,
469+ "decision" : "pending" ,
470+ },
471+ ],
472+ }]}
473+ }
474+
475+ def getresponse (self ):
476+ return ContextualStringIO (json .dumps (self .response ))
477+
478+ from WmAgentScripts .utils import checkTransferApproval
479+ with patch ('WmAgentScripts.utils.make_x509_conn' , MockResponseStringIo ):
480+ response = checkTransferApproval (
481+ url = 'http://someurl.com/' ,
482+ phedexid = 'someid'
483+ )
484+ self .assertDictEqual (
485+ response , {
486+ 'someSite' : True ,
487+ 'someSite1' : False })
488+
489+
451490if __name__ == '__main__' :
452491 unittest .main ()
0 commit comments