1- from datashield . utils import DSLoginBuilder
1+ from datashield import DSLoginBuilder
22
33def test_logins ():
44 builder = DSLoginBuilder ().add ('server1' , 'https://opal-demo.obba.org' , 'dsuser' , 'P@ssw0rd' ).add ('server2' , 'https://demo.datashield.org' , token = '1234abcd' , profile = 'omics' )
@@ -9,8 +9,39 @@ def test_logins():
99 assert logins [0 ]['password' ] is not None
1010 assert logins [0 ]['token' ] is None
1111 assert logins [0 ]['profile' ] == 'default'
12+ assert logins [0 ]['driver' ] == 'datashield_opal.OpalDriver'
1213 assert logins [1 ]['name' ] == 'server2'
1314 assert logins [1 ]['user' ] is None
1415 assert logins [1 ]['password' ] is None
1516 assert logins [1 ]['token' ] is not None
16- assert logins [1 ]['profile' ] == 'omics'
17+ assert logins [1 ]['profile' ] == 'omics'
18+ builder .remove ('server1' )
19+ logins = builder .build ()
20+ assert len (logins ) == 1
21+ assert logins [0 ]['name' ] == 'server2'
22+
23+ def test_login_validations ():
24+ # name not missing
25+ try :
26+ DSLoginBuilder ().add (None , 'https://opal-demo.obba.org' , 'dsuser' , 'P@ssw0rd' )
27+ assert False
28+ except ValueError as e :
29+ assert True
30+ # url not missing
31+ try :
32+ DSLoginBuilder ().add ('server1' , None , 'dsuser' , 'P@ssw0rd' )
33+ assert False
34+ except ValueError as e :
35+ assert True
36+ # name is unique
37+ try :
38+ DSLoginBuilder ().add ('server1' , 'https://opal-demo.obba.org' , 'dsuser' , 'P@ssw0rd' ).add ('server1' , 'https://demo.datashield.org' , token = '1234abcd' )
39+ assert False
40+ except ValueError as e :
41+ assert True
42+ # either user and token is missing
43+ try :
44+ DSLoginBuilder ().add ('server1' , 'https://opal-demo.obba.org' ).add ('server2' , 'https://demo.datashield.org' )
45+ assert False
46+ except ValueError as e :
47+ assert True
0 commit comments