示例#1
0
async def test_agent_user_id_storage(hass, hass_storage):
    """Test a disconnect message."""

    hass_storage["google_assistant"] = {
        "version": 1,
        "minor_version": 1,
        "key": "google_assistant",
        "data": {
            "agent_user_ids": {
                "agent_1": {
                    "local_webhook_id": "test_webhook",
                }
            },
        },
    }

    store = helpers.GoogleConfigStore(hass)
    await store.async_initialize()

    assert hass_storage["google_assistant"] == {
        "version": 1,
        "minor_version": 1,
        "key": "google_assistant",
        "data": {
            "agent_user_ids": {
                "agent_1": {
                    "local_webhook_id": "test_webhook",
                }
            },
        },
    }

    async def _check_after_delay(data):
        async_fire_time_changed(hass, dt.utcnow() + timedelta(seconds=2))
        await hass.async_block_till_done()

        assert (list(hass_storage["google_assistant"]["data"]
                     ["agent_user_ids"].keys()) == data)

    store.add_agent_user_id("agent_2")
    await _check_after_delay(["agent_1", "agent_2"])

    store.pop_agent_user_id("agent_1")
    await _check_after_delay(["agent_2"])

    hass_storage["google_assistant"] = {
        "version": 1,
        "minor_version": 1,
        "key": "google_assistant",
        "data": {
            "agent_user_ids": {
                "agent_1": {}
            },
        },
    }
    store = helpers.GoogleConfigStore(hass)
    await store.async_initialize()

    assert (STORE_GOOGLE_LOCAL_WEBHOOK_ID in hass_storage["google_assistant"]
            ["data"]["agent_user_ids"]["agent_1"])
示例#2
0
async def test_agent_user_id_storage(hass, hass_storage):
    """Test a disconnect message."""

    hass_storage["google_assistant"] = {
        "version": 1,
        "key": "google_assistant",
        "data": {"agent_user_ids": {"agent_1": {}}},
    }

    store = helpers.GoogleConfigStore(hass)
    await store.async_load()

    assert hass_storage["google_assistant"] == {
        "version": 1,
        "key": "google_assistant",
        "data": {"agent_user_ids": {"agent_1": {}}},
    }

    async def _check_after_delay(data):
        async_fire_time_changed(hass, dt.utcnow() + timedelta(seconds=2))
        await hass.async_block_till_done()

        assert hass_storage["google_assistant"] == {
            "version": 1,
            "key": "google_assistant",
            "data": data,
        }

    store.add_agent_user_id("agent_2")
    await _check_after_delay({"agent_user_ids": {"agent_1": {}, "agent_2": {}}})

    store.pop_agent_user_id("agent_1")
    await _check_after_delay({"agent_user_ids": {"agent_2": {}}})