File: test_plugin.py

package info (click to toggle)
python-respx 0.21.1-2~bpo12%2B1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-backports
  • size: 872 kB
  • sloc: python: 4,378; makefile: 17
file content (41 lines) | stat: -rw-r--r-- 1,364 bytes parent folder | download
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
def test_respx_mock_fixture(testdir):
    testdir.makepyfile(
        """
        import httpx
        import pytest
        from respx.plugin import respx_mock

        @pytest.fixture
        def some_fixture():
            yield "foobar"

        def test_plain_fixture(respx_mock):
            route = respx_mock.get("https://foo.bar/") % 204
            response = httpx.get("https://foo.bar/")
            assert response.status_code == 204


        @pytest.mark.respx(base_url="https://foo.bar", assert_all_mocked=False)
        def test_marked_fixture(respx_mock):
            route = respx_mock.get("/") % 204
            response = httpx.get("https://foo.bar/")
            assert response.status_code == 204
            response = httpx.get("https://example.org/")
            assert response.status_code == 200


        def test_with_extra_fixture(respx_mock, some_fixture):
            import respx
            assert isinstance(respx_mock, respx.Router)
            assert some_fixture == "foobar"


        @pytest.mark.respx(assert_all_mocked=False)
        def test_marked_with_extra_fixture(respx_mock, some_fixture):
            import respx
            assert isinstance(respx_mock, respx.Router)
            assert some_fixture == "foobar"
        """
    )
    result = testdir.runpytest("-p", "respx")
    result.assert_outcomes(passed=4)