コード例 #1
0
    def test_update_store_invalid_id_does_nothing(self):
        store = Store()
        proxy = Proxy('host', 'source', 'us', 'united states', True, 'type', 'source')
        store.update_store(1, proxy)

        proxy = store.get_proxy()
        self.assertIsNone(proxy)
コード例 #2
0
    def test_get_proxy_returns_proxy_if_any(self):
        store = Store()
        id = store.add_store()
        expected = Proxy('host', 'source', 'us', 'united states', True, 'type', 'source')

        store.update_store(id, {expected, })
        actual = store.get_proxy()

        self.assertEqual(expected, actual)
コード例 #3
0
    def test_get_proxy_returns_empty_if_blacklisted(self):
        store = Store()
        id = store.add_store()
        proxy = Proxy('host', 'source', 'us', 'united states', True, 'type', 'source')

        store.update_store(id, {proxy, })
        actual = store.get_proxy(blacklist={(proxy[0], proxy[1]), })

        self.assertIsNone(actual)
コード例 #4
0
    def test_get_proxy_returns_proxy_if_not_filtered(self):
        store = Store()
        id = store.add_store()
        proxy = Proxy('host', 'source', 'us', 'united states', True, 'type', 'source')

        store.update_store(id, {proxy, })
        actual = store.get_proxy(filter_opts={'code': {'us', }})

        self.assertEqual(actual, proxy)
コード例 #5
0
    def test_update_store_updates_proxies(self):
        store = Store()
        id = store.add_store()
        proxy = Proxy('host', 'source', 'us', 'united states', True, 'type', 'source')

        store.update_store(id, {proxy, })
        actual = store.get_proxy()

        self.assertEqual(proxy, actual)
コード例 #6
0
    def test_get_proxy_returns_empty_if_filtered_and_blacklisted(self):
        store = Store()
        id = store.add_store()
        proxy = Proxy('host', 'source', 'us', 'united states', True, 'type', 'source')

        store.update_store(id, {proxy, })
        actual = store.get_proxy(filter_opts={'country': {'uk', }},
                                 blacklist={(proxy[0], proxy[1]), })

        self.assertIsNone(actual)
コード例 #7
0
    def test_update_store_clears_if_none(self):
        store = Store()
        id = store.add_store()
        proxy = Proxy('host', 'source', 'us', 'united states', True, 'type', 'source')

        store.update_store(id, {proxy, })
        actual1 = store.get_proxy()

        store.update_store(id, None)
        actual2 = store.get_proxy()

        self.assertEqual(proxy, actual1)
        self.assertIsNone(actual2)
コード例 #8
0
    def test_remove_proxy_removes_from_set(self):
        store = Store()
        id = store.add_store()
        proxy = Proxy('host', 'source', 'us', 'united states', True, 'type', 'source')

        store.update_store(id, {proxy, })
        actual1 = store.get_proxy()

        store.remove_proxy(id, proxy)
        actual2 = store.get_proxy()

        self.assertEqual(actual1, proxy)
        self.assertIsNone(actual2)
コード例 #9
0
    def test_get_proxies_returns_empty_if_filtered(self):
        store = Store()
        id = store.add_store()
        proxy = Proxy('host', 'source', 'us', 'united states', True, 'type',
                      'source')

        store.update_store(id, {
            proxy,
        })
        actual = store.get_proxies(filter_opts={'code': {
            'uk',
        }})

        self.assertIsNone(actual)