| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | from unittest import mockimport pytestfrom clean_python.api_client import SyncApiGatewayfrom clean_python.api_client import SyncApiProviderMODULE = "clean_python.api_client.api_provider"class TstSyncApiGateway(SyncApiGateway, path="foo/{id}"):    pass@pytest.fixturedef api_provider():    return mock.MagicMock(spec_set=SyncApiProvider)@pytest.fixturedef api_gateway(api_provider) -> SyncApiGateway:    return TstSyncApiGateway(api_provider)def test_get(api_gateway: SyncApiGateway):    actual = api_gateway.get(14)    api_gateway.provider.request.assert_called_once_with("GET", "foo/14")    assert actual is api_gateway.provider.request.return_valuedef test_add(api_gateway: SyncApiGateway):    actual = api_gateway.add({"foo": 2})    api_gateway.provider.request.assert_called_once_with(        "POST", "foo/", json={"foo": 2}    )    assert actual is api_gateway.provider.request.return_valuedef test_remove(api_gateway: SyncApiGateway):    actual = api_gateway.remove(2)    api_gateway.provider.request.assert_called_once_with("DELETE", "foo/2")    assert actual is Truedef test_remove_does_not_exist(api_gateway: SyncApiGateway):    api_gateway.provider.request.return_value = None    actual = api_gateway.remove(2)    assert actual is False
 |