예제 #1
0
def test_cluster_pprint(owner_store, pet_store):
    endpoint_main = Resource(owner_store, Owner, description="main")
    endpoint_main_temp = Resource(pet_store, Pet, description="main_temp")
    endpoint_temp = Resource(owner_store, Owner, description="temp")

    manager = APIManager({
        "/temp": endpoint_temp,
        "/main": endpoint_main,
        "/main/temp": endpoint_main_temp,
    })

    res = manager.sort()

    assert res == ["/main", "/main/temp", "/temp"]
예제 #2
0
def test_cluster_dict_behavior(owner_store, pet_store):
    owner_endpoint = Resource(owner_store, Owner)
    pet_endpoint = Resource(pet_store, Pet)

    manager = APIManager({"owners": owner_endpoint})

    assert manager["owners"] == owner_endpoint  # test __getitem__
    assert len(manager) == 1  # test len
    assert "owners" in manager.keys()  # test keys
    assert "owners" in manager  # test __contains__
    assert "pets" not in manager.keys()  # test __keys__

    manager["pets"] = pet_endpoint  # test __setitem__
    assert len(manager) == 2
    assert manager["pets"] == pet_endpoint
예제 #3
0
def test_cluster_run(owner_store, pet_store):
    owner_endpoint = Resource(owner_store, Owner)
    pet_endpoint = Resource(pet_store, Pet)

    manager = APIManager({"owners": owner_endpoint, "pets": pet_endpoint})

    client = TestClient(manager.app)

    assert client.get("/").status_code == 404
    payload = {"name_eq": "Person1", "limit": 10, "all_fields": True}

    res = dynamic_model_search_response_helper(client=client,
                                               payload=payload,
                                               base="/owners/?")
    data, meta, err = get_fields(res)
    assert res.status_code == 200
    assert len(data) == 1
    assert data[0]["name"] == "Person1"

    payload = {"name_eq": "Pet1", "limit": 10, "all_fields": True}

    res = dynamic_model_search_response_helper(client=client,
                                               payload=payload,
                                               base="/pets/?")
    data, meta, err = get_fields(res)
    assert res.status_code == 200
    assert len(data) == 1
    assert data[0]["name"] == "Pet1"