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"])
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": {}}})