File: test_models.py

package info (click to toggle)
python-odp-amsterdam 6.1.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 848 kB
  • sloc: python: 526; makefile: 3
file content (98 lines) | stat: -rw-r--r-- 2,718 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
"""Test the models."""

from __future__ import annotations

from typing import TYPE_CHECKING

from aresponses import ResponsesMockServer
from syrupy.assertion import SnapshotAssertion

from . import load_fixtures

if TYPE_CHECKING:
    from odp_amsterdam import Garage, ODPAmsterdam, ParkingSpot


async def test_all_garages(
    aresponses: ResponsesMockServer,
    snapshot: SnapshotAssertion,
    odp_amsterdam_client: ODPAmsterdam,
) -> None:
    """Test all garage function."""
    aresponses.add(
        "p-info.vorin-amsterdam.nl",
        "/v1/ParkingLocation.json",
        "GET",
        aresponses.Response(
            status=200,
            headers={"Content-Type": "text/plain"},
            text=load_fixtures("garages.json"),
        ),
    )
    garages: list[Garage] = await odp_amsterdam_client.all_garages()
    assert garages == snapshot


async def test_single_garage(
    aresponses: ResponsesMockServer,
    snapshot: SnapshotAssertion,
    odp_amsterdam_client: ODPAmsterdam,
) -> None:
    """Test a single garage model."""
    aresponses.add(
        "p-info.vorin-amsterdam.nl",
        "/v1/ParkingLocation.json",
        "GET",
        aresponses.Response(
            status=200,
            headers={"Content-Type": "text/plain"},
            text=load_fixtures("garages.json"),
        ),
    )
    garage: Garage = await odp_amsterdam_client.garage(
        "A557D1AD-5D39-915B-8B54-A4AAFA2C1CFC"
    )
    assert garage == snapshot


async def test_filter_garage_model(
    aresponses: ResponsesMockServer,
    snapshot: SnapshotAssertion,
    odp_amsterdam_client: ODPAmsterdam,
) -> None:
    """Test on filtering the garage data."""
    aresponses.add(
        "p-info.vorin-amsterdam.nl",
        "/v1/ParkingLocation.json",
        "GET",
        aresponses.Response(
            status=200,
            headers={"Content-Type": "text/plain"},
            text=load_fixtures("garages.json"),
        ),
    )
    garages: list[Garage] = await odp_amsterdam_client.all_garages(
        vehicle="car",
        category="park_and_ride",
    )
    assert garages == snapshot


async def test_parking_locations_model(
    aresponses: ResponsesMockServer,
    snapshot: SnapshotAssertion,
    odp_amsterdam_client: ODPAmsterdam,
) -> None:
    """Test the parking locations model."""
    aresponses.add(
        "api.data.amsterdam.nl",
        "/v1/parkeervakken/parkeervakken",
        "GET",
        aresponses.Response(
            status=200,
            headers={"Content-Type": "application/geo+json"},
            text=load_fixtures("parking.json"),
        ),
    )
    locations: list[ParkingSpot] = await odp_amsterdam_client.locations()
    assert locations == snapshot