Esempio n. 1
0
 def test_req_free(self, setup):
     proxypool = ProxyPool({"interval_second":0.3, "max_latency":1})
     assert proxypool.settings["max_latency"] == 1
     assert proxypool.settings["interval_second"] == 0.3
     p1 = Proxy(ip="127.0.0.1", port=80)
     p2 = Proxy(ip="127.0.0.1", port=8080)
     p3 = Proxy(ip="127.0.0.2", port=80)
     p4 = Proxy(ip="127.0.0.2", port=8080)
     proxypool.add_proxy(p1)
     proxypool.add_proxy(p2)
     proxypool.add_proxy(p3)
     proxypool.add_proxy(p4)
     rp1 = proxypool.req_proxy("http://pytest.org/latest/unittest.html")
     assert rp1.proxy_url() == p1.proxy_url()
     rp2 = proxypool.req_proxy("http://pytest.org/latest/goodpractises.html")
     assert rp2.proxy_url() == p2.proxy_url()
     rp3 = proxypool.req_proxy("http://www.oschina.net/translate/unit-testing-with-the-python-mock-class")
     assert rp3.proxy_url() == p3.proxy_url()
     rp4 = proxypool.req_proxy("http://my.oschina.net/lionets/blog/269892")
     assert rp4.proxy_url() == p4.proxy_url()
     rp5 = proxypool.req_proxy("http://my.oschina.net/lionets/blog/269892")
     assert not rp5
     proxypool.free_proxy(p1, 1.5)
     rp = proxypool.req_proxy("http://pytest.org/latest/unittest.html")
     assert not rp
     proxypool.free_proxy(p3, 1.3)
     proxypool.free_proxy(p2, 1.3)
     import time
     time.sleep(0.3)
     rp = proxypool.req_proxy("http://pytest.org/latest/unittest.html")
     assert rp.proxy_url() == p3.proxy_url()
     rp = proxypool.req_proxy("http://pytest.org/latest/unittest.html")
     assert rp.proxy_url() == p4.proxy_url()
     rp = proxypool.req_proxy("http://pytest.org/latest/unittest.html")
     assert rp.proxy_url() == p2.proxy_url()
     rp = proxypool.req_proxy("http://pytest.org/latest/unittest.html")
     assert rp.proxy_url() == p1.proxy_url()
     rp = proxypool.req_proxy("http://pytest.org/latest/unittest.html")
     assert not rp