1
- import unittest
2
1
import pytest
3
- from unittest .mock import patch
4
2
5
3
from VHostScan .lib .helpers .wordlist_helper import WordList
6
4
from VHostScan .lib .helpers .wordlist_helper import DEFAULT_WORDLIST_FILE
7
5
8
-
9
6
@pytest .fixture (scope = 'class' )
10
7
def user_wordlist (request , tmpdir_factory ):
11
8
user_wordlist = ['user-word1' , 'user-word2' ]
@@ -15,97 +12,104 @@ def user_wordlist(request, tmpdir_factory):
15
12
request .cls .user_wordlist_file = str (user_wordlist_file )
16
13
request .cls .user_wordlist = user_wordlist
17
14
15
+ @pytest .fixture ()
16
+ def wordlist ():
17
+ wordlist = WordList ()
18
+ return wordlist
18
19
19
- @pytest .mark .usefixtures ('user_wordlist' )
20
- class TestWordList (unittest .TestCase ):
20
+ @pytest .fixture (scope = "module" )
21
+ def default_wordlist ():
22
+ wordlist = []
23
+ with open (DEFAULT_WORDLIST_FILE , 'r' ) as word_file :
24
+ wordlist = list (word_file .read ().splitlines ())
25
+ return wordlist
21
26
22
- def setUp (self ):
23
- self .wordlist = WordList ()
24
- with open (DEFAULT_WORDLIST_FILE , 'r' ) as word_file :
25
- self .default_wordlist = list (word_file .read ().splitlines ())
27
+ @pytest .mark .usefixtures ('user_wordlist' )
28
+ class TestWordList (object ):
26
29
27
- def test_get_wordlist_from_stdin (self ):
30
+ def test_get_wordlist_from_stdin (self , monkeypatch , wordlist ):
31
+ print (dir (TestWordList ))
28
32
stdin_wordlist = ['keyword1' , 'keyword1' ]
29
33
expected_wordlist = []
30
34
expected_wordlist .extend (stdin_wordlist )
31
- with patch ( 'VHostScan.lib.helpers.wordlist_helper. WordList. get_stdin_wordlist' , return_value = stdin_wordlist ):
32
- wordlist , wordlist_types = self . wordlist .get_wordlist ()
33
- self . assertEqual ( wordlist , expected_wordlist )
35
+ monkeypatch . setattr ( WordList , ' get_stdin_wordlist' , ( lambda x : stdin_wordlist ))
36
+ wordlist_result , wordlist_types = wordlist .get_wordlist ()
37
+ assert wordlist_result == expected_wordlist
34
38
35
- def test_get_wordlist_from_stdin_and_wordlist (self ):
39
+ def test_get_wordlist_from_stdin_and_wordlist (self , monkeypatch , wordlist ):
36
40
stdin_wordlist = ['keyword1' , 'keyword1' ]
37
41
expected_wordlist = []
38
42
expected_wordlist .extend (stdin_wordlist )
39
43
expected_wordlist .extend (self .user_wordlist )
40
- with patch ( 'VHostScan.lib.helpers.wordlist_helper. WordList. get_stdin_wordlist' , return_value = stdin_wordlist ):
41
- wordlist , wordlist_types = self . wordlist .get_wordlist (self .user_wordlist_file )
42
- self . assertEqual ( wordlist , expected_wordlist )
44
+ monkeypatch . setattr ( WordList , ' get_stdin_wordlist' , ( lambda x : stdin_wordlist ))
45
+ wordlist_result , wordlist_types = wordlist .get_wordlist (self .user_wordlist_file )
46
+ assert wordlist_result == expected_wordlist
43
47
44
- def test_using_default_wordlist (self ):
48
+ def test_using_default_wordlist (self , monkeypatch , wordlist , default_wordlist ):
45
49
stdin_wordlist = []
46
- with patch ( 'VHostScan.lib.helpers.wordlist_helper. WordList. get_stdin_wordlist' , return_value = stdin_wordlist ):
47
- wordlist , wordlist_types = self . wordlist .get_wordlist ()
48
- self . assertEqual ( wordlist , self . default_wordlist )
50
+ monkeypatch . setattr ( WordList , ' get_stdin_wordlist' , ( lambda x : stdin_wordlist ))
51
+ wordlist_result , wordlist_types = wordlist .get_wordlist ()
52
+ assert wordlist_result == default_wordlist
49
53
50
- def test_ip_using_prefix (self ):
54
+ def test_ip_using_prefix (self , monkeypatch , wordlist ):
51
55
stdin_wordlist = ['127.0.0.1' ]
52
56
prefix = 'dev-'
53
- with patch ( 'VHostScan.lib.helpers.wordlist_helper. WordList. get_stdin_wordlist' , return_value = stdin_wordlist ):
54
- wordlist , wordlist_types = self . wordlist .get_wordlist (None , prefix )
55
- self . assertEqual ( wordlist , stdin_wordlist )
57
+ monkeypatch . setattr ( WordList , ' get_stdin_wordlist' , ( lambda x : stdin_wordlist ))
58
+ wordlist_result , wordlist_types = wordlist .get_wordlist (None , prefix )
59
+ assert wordlist_result == stdin_wordlist
56
60
57
- def test_ip_using_suffix (self ):
61
+ def test_ip_using_suffix (self , monkeypatch , wordlist ):
58
62
stdin_wordlist = ['127.0.0.1' ]
59
63
suffix = 'test'
60
- with patch ( 'VHostScan.lib.helpers.wordlist_helper. WordList. get_stdin_wordlist' , return_value = stdin_wordlist ):
61
- wordlist , wordlist_types = self . wordlist .get_wordlist (None ,None ,suffix )
62
- self . assertEqual ( wordlist , stdin_wordlist )
64
+ monkeypatch . setattr ( WordList , ' get_stdin_wordlist' , ( lambda x : stdin_wordlist ))
65
+ wordlist_result , wordlist_types = wordlist .get_wordlist (None ,None ,suffix )
66
+ assert wordlist_result == stdin_wordlist
63
67
64
- def test_ipv6_using_prefix (self ):
68
+ def test_ipv6_using_prefix (self , monkeypatch , wordlist ):
65
69
stdin_wordlist = ['::1' ]
66
70
prefix = 'dev-'
67
- with patch ( 'VHostScan.lib.helpers.wordlist_helper. WordList. get_stdin_wordlist' , return_value = stdin_wordlist ):
68
- wordlist , wordlist_types = self . wordlist .get_wordlist (None , prefix )
69
- self . assertEqual ( wordlist , stdin_wordlist )
71
+ monkeypatch . setattr ( WordList , ' get_stdin_wordlist' , ( lambda x : stdin_wordlist ))
72
+ wordlist_result , wordlist_types = wordlist .get_wordlist (None , prefix )
73
+ assert wordlist_result == stdin_wordlist
70
74
71
- def test_ipv6_using_suffix (self ):
75
+ def test_ipv6_using_suffix (self , monkeypatch , wordlist ):
72
76
stdin_wordlist = ['::1' ]
73
77
suffix = 'test'
74
- with patch ( 'VHostScan.lib.helpers.wordlist_helper. WordList. get_stdin_wordlist' , return_value = stdin_wordlist ):
75
- wordlist , wordlist_types = self . wordlist .get_wordlist (None ,None ,suffix )
76
- self . assertEqual ( wordlist , stdin_wordlist )
78
+ monkeypatch . setattr ( WordList , ' get_stdin_wordlist' , ( lambda x : stdin_wordlist ))
79
+ wordlist_result , wordlist_types = wordlist .get_wordlist (None ,None ,suffix )
80
+ assert wordlist_result == stdin_wordlist
77
81
78
- def test_word_with_prefix (self ):
82
+ def test_word_with_prefix (self , monkeypatch , wordlist ):
79
83
stdin_wordlist = ['www' ,'www2' ,'www3' ]
80
84
expected_wordlist = stdin_wordlist + ['dev-www' ,'dev-www2' ,'dev-www3' ]
81
85
prefix = 'dev-'
82
- with patch ( 'VHostScan.lib.helpers.wordlist_helper. WordList. get_stdin_wordlist' , return_value = stdin_wordlist ):
83
- wordlist , wordlist_types = self . wordlist .get_wordlist (None ,prefix )
84
- self . assertEqual ( wordlist , expected_wordlist )
86
+ monkeypatch . setattr ( WordList , ' get_stdin_wordlist' , ( lambda x : stdin_wordlist ))
87
+ wordlist_result , wordlist_types = wordlist .get_wordlist (None ,prefix )
88
+ assert wordlist_result == expected_wordlist
85
89
86
- def test_words_with_suffix (self ):
90
+ def test_words_with_suffix (self , monkeypatch , wordlist ):
87
91
stdin_wordlist = ['www' ,'www2' ,'www3' ]
88
92
expected_wordlist = stdin_wordlist + ['wwwtest' ,'www2test' ,'www3test' ]
89
93
suffix = 'test'
90
- with patch ( 'VHostScan.lib.helpers.wordlist_helper. WordList. get_stdin_wordlist' , return_value = stdin_wordlist ):
91
- wordlist , wordlist_types = self . wordlist .get_wordlist (None ,None ,suffix )
92
- self . assertEqual ( wordlist , expected_wordlist )
94
+ monkeypatch . setattr ( WordList , ' get_stdin_wordlist' , ( lambda x : stdin_wordlist ))
95
+ wordlist_result , wordlist_types = wordlist .get_wordlist (None ,None ,suffix )
96
+ assert wordlist_result == expected_wordlist
93
97
94
- def test_words_with_host_and_prefix (self ):
98
+ def test_words_with_host_and_prefix (self , monkeypatch , wordlist ):
95
99
stdin_wordlist = ['www.%s' ]
96
100
expected_wordlist = stdin_wordlist + ['test-www.%s' ]
97
101
prefix = 'test-'
98
- with patch ( 'VHostScan.lib.helpers.wordlist_helper. WordList. get_stdin_wordlist' , return_value = stdin_wordlist ):
99
- wordlist , wordlist_types = self . wordlist .get_wordlist (None , prefix )
100
- self . assertEqual ( wordlist , expected_wordlist )
102
+ monkeypatch . setattr ( WordList , ' get_stdin_wordlist' , ( lambda x : stdin_wordlist ))
103
+ wordlist_result , wordlist_types = wordlist .get_wordlist (None , prefix )
104
+ assert wordlist_result == expected_wordlist
101
105
102
- def test_words_with_host_and_suffix (self ):
106
+ def test_words_with_host_and_suffix (self , monkeypatch , wordlist ):
103
107
stdin_wordlist = ['www.%s' ]
104
108
expected_wordlist = stdin_wordlist + ['wwwtest.%s' ]
105
109
suffix = 'test'
106
- with patch ( 'VHostScan.lib.helpers.wordlist_helper. WordList. get_stdin_wordlist' , return_value = stdin_wordlist ):
107
- wordlist , wordlist_types = self . wordlist .get_wordlist (None ,None ,suffix )
108
- self . assertEqual ( wordlist , expected_wordlist )
110
+ monkeypatch . setattr ( WordList , ' get_stdin_wordlist' , ( lambda x : stdin_wordlist ))
111
+ wordlist_result , wordlist_types = wordlist .get_wordlist (None ,None ,suffix )
112
+ assert wordlist_result == expected_wordlist
109
113
110
114
111
115
0 commit comments