File: test_sessions.py

package info (click to toggle)
python-requests-toolbelt 1.0.0-4
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 876 kB
  • sloc: python: 3,653; makefile: 166; sh: 7
file content (55 lines) | stat: -rw-r--r-- 2,214 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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# -*- coding: utf-8 -*-
import unittest
import pytest

from requests_toolbelt import sessions
from requests import Request
from . import get_betamax


class TestBasedSession(unittest.TestCase):
    def test_request_with_base(self):
        session = sessions.BaseUrlSession('https://httpbin.org/')
        recorder = get_betamax(session)
        with recorder.use_cassette('simple_get_request'):
            response = session.get('/get')
        response.raise_for_status()

    def test_request_without_base(self):
        session = sessions.BaseUrlSession()
        with pytest.raises(ValueError):
            session.get('/')

    def test_request_override_base(self):
        session = sessions.BaseUrlSession('https://www.google.com')
        recorder = get_betamax(session)
        with recorder.use_cassette('simple_get_request'):
            response = session.get('https://httpbin.org/get')
        response.raise_for_status()
        assert response.json()['headers']['Host'] == 'httpbin.org'

    def test_prepared_request_with_base(self):
        session = sessions.BaseUrlSession('https://httpbin.org')
        request = Request(method="GET", url="/get")
        prepared_request = session.prepare_request(request)
        recorder = get_betamax(session)
        with recorder.use_cassette('simple_get_request'):
            response = session.send(prepared_request)
        response.raise_for_status()

    def test_prepared_request_without_base(self):
        session = sessions.BaseUrlSession()
        request = Request(method="GET", url="/")
        with pytest.raises(ValueError):
            prepared_request = session.prepare_request(request)
            session.send(prepared_request)

    def test_prepared_request_override_base(self):
        session = sessions.BaseUrlSession('https://www.google.com')
        request = Request(method="GET", url="https://httpbin.org/get")
        prepared_request = session.prepare_request(request)
        recorder = get_betamax(session)
        with recorder.use_cassette('simple_get_request'):
            response = session.send(prepared_request)
        response.raise_for_status()
        assert response.json()['headers']['Host'] == 'httpbin.org'