Esempio n. 1
0
def test_the_class_should_validate_provided_configuration_values():
    with pytest.raises(RequestsRespectfulConfigError):
        RespectfulRequester.configure(redis="REDIS")

    with pytest.raises(RequestsRespectfulConfigError):
        RespectfulRequester.configure(redis=dict())

    with pytest.raises(RequestsRespectfulConfigError):
        RespectfulRequester.configure(redis={
            "host": "localhost",
            "port": 6379
        })

    RespectfulRequester.configure(redis={
        "host": "localhost",
        "port": 6379,
        "database": 0
    })

    with pytest.raises(RequestsRespectfulConfigError):
        RespectfulRequester.configure(safety_threshold="SAFETY")

    with pytest.raises(RequestsRespectfulConfigError):
        RespectfulRequester.configure(safety_threshold=-15)

    RespectfulRequester.configure(safety_threshold=10)

    with pytest.raises(RequestsRespectfulConfigError):
        RespectfulRequester.configure(requests_module_name=100)

    RespectfulRequester.configure(requests_module_name="requests")

    RespectfulRequester.configure_default()
def test_the_class_should_validate_provided_configuration_values():
    with pytest.raises(RequestsRespectfulConfigError):
        RespectfulRequester.configure(redis="REDIS")

    with pytest.raises(RequestsRespectfulConfigError):
        RespectfulRequester.configure(redis=dict())

    with pytest.raises(RequestsRespectfulConfigError):
        RespectfulRequester.configure(redis={"host": "localhost", "port": 6379})

    RespectfulRequester.configure(redis={"host": "localhost", "port": 6379, "database": 0})

    with pytest.raises(RequestsRespectfulConfigError):
        RespectfulRequester.configure(safety_threshold="SAFETY")

    with pytest.raises(RequestsRespectfulConfigError):
        RespectfulRequester.configure(safety_threshold=-15)

    RespectfulRequester.configure(safety_threshold=10)

    with pytest.raises(RequestsRespectfulConfigError):
        RespectfulRequester.configure(requests_module_name=100)

    RespectfulRequester.configure(requests_module_name="requests")

    RespectfulRequester.configure_default()
def test_the_requests_module_name_configuration_value_should_have_the_expected_effect():
    rr = RespectfulRequester()

    RespectfulRequester.configure(requests_module_name="r")

    request_func = lambda: r.get("http://google.com")

    rr._validate_request_func(request_func)

    RespectfulRequester.configure_default()
def test_the_class_should_be_able_to_restore_the_default_configuration_values():
    rr = RespectfulRequester()

    RespectfulRequester.configure(safety_threshold=20)
    RespectfulRequester.configure(requests_module_name="r")
    RespectfulRequester.configure(redis={"host": "0.0.0.0", "port": 6379, "database": 1})

    RespectfulRequester.configure_default()

    assert rr._config()["safety_threshold"] == 10
    assert rr._config()["requests_module_name"] == "requests"
    assert rr._config()["redis"]["host"] == "localhost"
    assert rr._config()["redis"]["database"] == 0
def test_the_instance_should_be_able_to_wait_for_a_request_to_be_allowed_on_a_registered_realm():
    rr = RespectfulRequester()

    RespectfulRequester.configure(safety_threshold=0)

    rr.register_realm("TEST123", max_requests=1, timespan=2)

    request_func = lambda: requests.get("http://google.com")

    rr.request(request_func, "TEST123", wait=True)
    rr.request(request_func, "TEST123", wait=True)
    rr.request(request_func, "TEST123", wait=True)

    rr.unregister_realm("TEST123")

    RespectfulRequester.configure_default()
def test_the_safety_threshold_configuration_value_should_have_the_expected_effect():
    rr = RespectfulRequester()

    rr.register_realm("TEST123", max_requests=11, timespan=300)

    RespectfulRequester.configure(safety_threshold=10)

    request_func = lambda: requests.get("http://google.com")

    rr.request(request_func, "TEST123")

    with pytest.raises(RequestsRespectfulRateLimitedError):
        rr.request(request_func, "TEST123")

    RespectfulRequester.configure_default()

    rr.unregister_realm("TEST123")
Esempio n. 7
0
def test_setup():
    rr = RespectfulRequester()
    rr.unregister_realm("TEST123")

    RespectfulRequester.configure_default()
def test_setup():
    rr = RespectfulRequester()
    rr.unregister_realm("TEST123")

    RespectfulRequester.configure_default()