@@ -24,6 +24,11 @@ def setup_daemon():
24
24
return stdin , stdout
25
25
26
26
27
+ @patch ('sshuttle.firewall.HOSTSFILE' , new = 'tmp/hosts' )
28
+ @patch ('sshuttle.firewall.hostmap' , new = {
29
+ 'myhost' : '1.2.3.4' ,
30
+ 'myotherhost' : '1.2.3.5' ,
31
+ })
27
32
def test_rewrite_etc_hosts ():
28
33
if not os .path .isdir ("tmp" ):
29
34
os .mkdir ("tmp" )
@@ -33,11 +38,6 @@ def test_rewrite_etc_hosts():
33
38
34
39
shutil .copyfile ("tmp/hosts.orig" , "tmp/hosts" )
35
40
36
- sshuttle .firewall .HOSTSFILE = "tmp/hosts"
37
- sshuttle .firewall .hostmap = {
38
- 'myhost' : '1.2.3.4' ,
39
- 'myotherhost' : '1.2.3.5' ,
40
- }
41
41
sshuttle .firewall .rewrite_etc_hosts (10 )
42
42
with open ("tmp/hosts" ) as f :
43
43
line = f .readline ()
@@ -61,14 +61,26 @@ def test_rewrite_etc_hosts():
61
61
assert filecmp .cmp ("tmp/hosts.orig" , "tmp/hosts" , shallow = False ) is True
62
62
63
63
64
+ @patch ('sshuttle.firewall.HOSTSFILE' , new = 'tmp/hosts' )
64
65
@patch ('sshuttle.firewall.setup_daemon' )
65
66
@patch ('sshuttle.firewall.get_method' )
66
67
def test_main (mock_get_method , mock_setup_daemon ):
67
68
stdin , stdout = setup_daemon ()
68
69
mock_setup_daemon .return_value = stdin , stdout
69
70
71
+ if not os .path .isdir ("tmp" ):
72
+ os .mkdir ("tmp" )
73
+
70
74
sshuttle .firewall .main ("test" , False )
71
75
76
+ with open ("tmp/hosts" ) as f :
77
+ line = f .readline ()
78
+ s = line .split ()
79
+ assert s == ['1.2.3.3' , 'existing' ]
80
+
81
+ line = f .readline ()
82
+ assert line == ""
83
+
72
84
stdout .mock_calls == [
73
85
call .write ('READY test\n ' ),
74
86
call .flush (),
0 commit comments