@@ -33,6 +33,49 @@ def test_session_from_url():
33
33
assert s .hostname == 'example.com'
34
34
assert s ._settings ['protocol' ] == 'http'
35
35
36
+
37
+ def test_from_authinfo (tmpdir_factory ):
38
+ filename = str (tmpdir_factory .mktemp ('tmp' ).join ('authinfo' ))
39
+
40
+ HOSTNAME = 'example.com'
41
+ USERNAME = 'BlackKnight'
42
+ PASSWORD = 'iaminvincible!'
43
+
44
+ with open (filename , 'w' ) as f :
45
+ f .write ('machine %s login %s password %s'
46
+ % (HOSTNAME , USERNAME , PASSWORD ))
47
+
48
+ # Get username & password from matching hostname
49
+ with mock .patch ('sasctl.core.Session.get_token' ):
50
+ s = Session ('http://example.com' , authinfo = filename )
51
+ assert s .hostname == HOSTNAME
52
+ assert s .username == USERNAME
53
+ assert s ._settings ['password' ] == PASSWORD
54
+
55
+
56
+ with open (filename , 'w' ) as f :
57
+ f .write ('host %s user %s password %s'
58
+ % (HOSTNAME , USERNAME , PASSWORD ))
59
+
60
+ with mock .patch ('sasctl.core.Session.get_token' ):
61
+ s = Session ('http://example.com' , authinfo = filename )
62
+ assert s .hostname == HOSTNAME
63
+ assert s .username == USERNAME
64
+ assert s ._settings ['password' ] == PASSWORD
65
+
66
+ with open (filename , 'w' ) as f :
67
+ f .write ('host %s user %s password %s\n '
68
+ % (HOSTNAME , 'Arthur' , 'kingofthebrittons' ))
69
+ f .write ('host %s user %s password %s\n '
70
+ % (HOSTNAME , USERNAME , PASSWORD ))
71
+
72
+ with mock .patch ('sasctl.core.Session.get_token' ):
73
+ s = Session ('http://example.com' , username = USERNAME , authinfo = filename )
74
+ assert s .hostname == HOSTNAME
75
+ assert s .username == USERNAME
76
+ assert s ._settings ['password' ] == PASSWORD
77
+
78
+
36
79
def test_new_session (missing_packages ):
37
80
HOST = 'example.com'
38
81
USERNAME = 'user'
0 commit comments