File: test_request.py

package info (click to toggle)
devpi-common 3.2.2-1.1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 248 kB
  • sloc: python: 1,552; makefile: 4
file content (39 lines) | stat: -rw-r--r-- 1,175 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import sys
import requests
import pytest
from devpi_common.request import new_requests_session


@pytest.mark.parametrize('max_retries', [
    None,
    0,
    2,
])
def test_env(monkeypatch, max_retries):
    from urllib3.util.retry import Retry
    monkeypatch.setenv("HTTP_PROXY", "http://this")
    monkeypatch.setenv("HTTPS_PROXY", "http://that")
    orig_increment = Retry.increment
    increment_retry_totals = []

    def increment(self, *args, **kwargs):
        increment_retry_totals.append(self.total)
        return orig_increment(self, *args, **kwargs)

    monkeypatch.setattr(Retry, "increment", increment)
    session = new_requests_session(max_retries=max_retries)
    with pytest.raises(requests.exceptions.RequestException):
        session.get("http://example.com")
    assert tuple(increment_retry_totals) in ((0,), (2, 1, 0))


def test_useragent():
    s = new_requests_session(agent=("hello", "1.2"))
    ua = s.headers["user-agent"]
    assert "devpi-hello/1.2" in ua
    assert sys.version.split()[0] in ua
    assert "*" not in ua

def test_exception_attributes():
    session = new_requests_session()
    assert isinstance(session.Errors, tuple)