def test_load(self):
     Registry().set('config', {'main': {'proxies_died_limit': 10}})
     proxies = Proxies()
     with mock.patch("classes.Proxies.file_to_list") as ftl_mock:
         ftl_mock.return_value = ['a', 'b', 'c', 'd']
         proxies.load('/test/proxies/path.txt')
         assert 4 == proxies.count()
 def test_get_proxy_has_proxy(self):
     with mock.patch.object(Proxies, 'check_live') as check_alive_mock:
         Registry().set('config', {'main': {'proxies_died_limit': 10}})
         proxies = Proxies()
         test_set = ['a', 'b', 'c']
         proxies._proxies = test_set
         check_alive_mock.return_value = True
         for _ in range(0, 3):
             assert proxies.get_proxy() in test_set
    def test_check_alive_proxy_dead(self):
        def get_mock_function(url,
                              timeout=0,
                              allow_redirects=False,
                              proxies=None):
            raise Exception("test")

        with mock.patch('requests.get', side_effect=get_mock_function):
            Registry().set('config', {'main': {'proxies_died_limit': 10}})
            Registry().set('url_for_proxy_check', 'http://www.ru')
            proxies = Proxies()
            assert not proxies.check_live("aaa")
    def test_check_alive_default_url(self):
        def get_mock_function(url,
                              timeout=0,
                              allow_redirects=False,
                              proxies=None,
                              verify=False):
            assert url == 'http://google.com'

        with mock.patch('requests.get', side_effect=get_mock_function):
            Registry().set('config', {'main': {'proxies_died_limit': 10}})
            proxies = Proxies()
            assert proxies.check_live("aaa")
Exemple #5
0
    def __init__(self):
        config = configparser.ConfigParser()
        config.read(os.getcwd() + '/' + 'config.ini')

        try:
            db = mysql.connector.connect(host=config['db']['host'],
                                         user=config['db']['user'],
                                         password=config['db']['pass'],
                                         database=config['db']['database'])
            db.autocommit = True
        except mysql.connector.errors.ProgrammingError as e:
            print " ERROR: Can`t connect to MySQL server! ({0})".format(str(e))
            exit(0)

        try:
            mc = MongoClient(host=config['mongo']['host'],
                             port=int(config['mongo']['port']))
            mongo_collection = getattr(mc, config['mongo']['collection'])
        except pymongo.errors.ConnectionFailure as e:
            print " ERROR: Can`t connect to MongoDB server! ({0})".format(
                str(e))
            exit(0)

        R = Registry()
        R.set('config', config)
        R.set('db', db)
        R.set('mongo', mongo_collection)
        R.set('wr_path', os.getcwd())
        R.set('data_path', os.getcwd() + '/data/')
        R.set('http', Http())
        R.set('proxies', Proxies())
        R.set(
            'ndb',
            Database(config['db']['host'], config['db']['user'],
                     config['db']['pass'], config['db']['database']))
        R.set(
            'fuzzer_evil_value',
            file_get_contents(Registry().get('wr_path') +
                              "/bases/fuzzer-evil-value.txt").strip())
        R.set('proxy_many_died', False)
        R.set('positive_limit_stop', False)

        if " ".join(sys.argv).count('selenium') and int(
                config['selenium']['virtual_display']):
            display = Display(visible=0, size=(800, 600))
            display.start()
            R.set('display', display)
    def __init__(self):
        config = configparser.ConfigParser()
        config.read(os.getcwd() + '/' + 'config.ini')

        R = Registry()
        R.set('config', config)
        R.set('wr_path', os.getcwd())
        R.set('data_path', os.getcwd() + '/data/')
        R.set('http', Http())
        R.set('ua', random_ua())
        R.set('proxies', Proxies())
        R.set('tmp_files', [])
        R.set(
            'fuzzer_evil_value',
            file_get_contents(Registry().get('wr_path') +
                              "/bases/fuzzer/evil-value.txt").strip())
        R.set('proxy_many_died', False)
        R.set('positive_limit_stop', False)

        if " ".join(sys.argv).count('selenium') and int(
                config['selenium']['virtual_display']):
            display = Display(visible=0, size=(800, 600))
            display.start()
            R.set('display', display)
 def test_get_proxy_has_no_proxy(self):
     with mock.patch.object(Proxies, 'check_live') as check_alive_mock:
         Registry().set('config', {'main': {'proxies_died_limit': 10}})
         proxies = Proxies()
         for _ in range(0, 3):
             assert not proxies.get_proxy()
 def test_count(self):
     Registry().set('config', {'main': {'proxies_died_limit': 10}})
     proxies = Proxies()
     proxies._proxies = ['a', 'b', 'c']
     assert 3 == proxies.count()
 def test_init(self):
     Registry().set('config', {'main': {'proxies_died_limit': 10}})
     proxies = Proxies()
     assert 10 == proxies.died_limit