Example #1
0
async def fake_post_request(*args, **kwargs):
    """Return fake data."""
    if "url" not in kwargs:
        return "{}"

    endpoint = kwargs["url"].split("/")[-1]

    if endpoint in "snapshot_720.jpg":
        return b"test stream image bytes"

    if endpoint in [
            "setpersonsaway",
            "setpersonshome",
            "setstate",
            "setroomthermpoint",
            "setthermmode",
            "switchhomeschedule",
    ]:
        payload = f'{{"{endpoint}": true}}'

    elif endpoint == "homestatus":
        home_id = kwargs.get("params", {}).get("home_id")
        payload = json.loads(
            load_fixture(f"netatmo/{endpoint}_{home_id}.json"))

    else:
        payload = json.loads(load_fixture(f"netatmo/{endpoint}.json"))

    return AiohttpClientMockResponse(
        method="POST",
        url=kwargs["url"],
        json=payload,
    )
Example #2
0
 async def fake_post_request_no_data(*args, **kwargs):
     """Fake error during requesting backend data."""
     nonlocal fake_post_hits
     fake_post_hits += 1
     return AiohttpClientMockResponse(
         method="POST",
         url=kwargs["url"],
         json={},
     )
Example #3
0
async def modern_forms_timers_set_mock(method, url, data):
    """Set up the basic returns based on info or status request."""
    if COMMAND_QUERY_STATIC_DATA in data:
        fixture = "modern_forms/device_info.json"
    else:
        fixture = "modern_forms/device_status_timers_active.json"
    response = AiohttpClientMockResponse(method=method,
                                         url=url,
                                         json=json.loads(
                                             load_fixture(fixture)))
    return response
Example #4
0
 async def get(method, url, data):
     return AiohttpClientMockResponse(method, url, json=results.pop(0))
Example #5
0
 async def get_devices_json(method, url, data):
     return AiohttpClientMockResponse(method=method,
                                      url=url,
                                      json=qs_devices)