Store preferred border agent ID in thread dataset store (#98375)
This commit is contained in:
@@ -319,12 +319,17 @@ async def test_loading_datasets_from_storage(
|
||||
"tlv": DATASET_3,
|
||||
},
|
||||
],
|
||||
"preferred_border_agent_id": "230C6A1AC57F6F4BE262ACF32E5EF52C",
|
||||
"preferred_dataset": "id1",
|
||||
},
|
||||
}
|
||||
|
||||
store = await dataset_store.async_get_store(hass)
|
||||
assert len(store.datasets) == 3
|
||||
assert (
|
||||
store.async_get_preferred_border_agent_id()
|
||||
== "230C6A1AC57F6F4BE262ACF32E5EF52C"
|
||||
)
|
||||
assert store.preferred_dataset == "id1"
|
||||
|
||||
|
||||
@@ -512,3 +517,34 @@ async def test_migrate_drop_duplicate_datasets_preferred(
|
||||
f"Dropped duplicated Thread dataset '{DATASET_1_LARGER_TIMESTAMP}' "
|
||||
f"(duplicate of preferred dataset '{DATASET_1}')"
|
||||
) in caplog.text
|
||||
|
||||
|
||||
async def test_migrate_set_default_border_agent_id(
|
||||
hass: HomeAssistant, hass_storage: dict[str, Any], caplog
|
||||
) -> None:
|
||||
"""Test migrating the dataset store adds default border agent."""
|
||||
hass_storage[dataset_store.STORAGE_KEY] = {
|
||||
"version": 1,
|
||||
"minor_version": 2,
|
||||
"data": {
|
||||
"datasets": [
|
||||
{
|
||||
"created": "2023-02-02T09:41:13.746514+00:00",
|
||||
"id": "id1",
|
||||
"source": "source_1",
|
||||
"tlv": DATASET_1,
|
||||
},
|
||||
],
|
||||
"preferred_dataset": "id1",
|
||||
},
|
||||
}
|
||||
|
||||
store = await dataset_store.async_get_store(hass)
|
||||
assert store.async_get_preferred_border_agent_id() is None
|
||||
|
||||
|
||||
async def test_preferred_border_agent_id(hass: HomeAssistant) -> None:
|
||||
"""Test get and set the preferred border agent ID."""
|
||||
assert await dataset_store.async_get_preferred_border_agent_id(hass) is None
|
||||
await dataset_store.async_set_preferred_border_agent_id(hass, "blah")
|
||||
assert await dataset_store.async_get_preferred_border_agent_id(hass) == "blah"
|
||||
|
||||
@@ -200,6 +200,35 @@ async def test_list_get_dataset(
|
||||
assert msg["error"] == {"code": "not_found", "message": "unknown dataset"}
|
||||
|
||||
|
||||
async def test_preferred_border_agent_id(
|
||||
hass: HomeAssistant, hass_ws_client: WebSocketGenerator
|
||||
) -> None:
|
||||
"""Test setting and getting the preferred border agent ID."""
|
||||
assert await async_setup_component(hass, DOMAIN, {})
|
||||
await hass.async_block_till_done()
|
||||
|
||||
client = await hass_ws_client(hass)
|
||||
|
||||
await client.send_json_auto_id({"type": "thread/get_preferred_border_agent_id"})
|
||||
msg = await client.receive_json()
|
||||
assert msg["success"]
|
||||
assert msg["result"] == {"border_agent_id": None}
|
||||
|
||||
await client.send_json_auto_id(
|
||||
{"type": "thread/set_preferred_border_agent_id", "border_agent_id": "blah"}
|
||||
)
|
||||
msg = await client.receive_json()
|
||||
assert msg["success"]
|
||||
assert msg["result"] is None
|
||||
|
||||
await client.send_json_auto_id({"type": "thread/get_preferred_border_agent_id"})
|
||||
msg = await client.receive_json()
|
||||
assert msg["success"]
|
||||
assert msg["result"] == {"border_agent_id": "blah"}
|
||||
|
||||
assert await dataset_store.async_get_preferred_border_agent_id(hass) == "blah"
|
||||
|
||||
|
||||
async def test_set_preferred_dataset(
|
||||
hass: HomeAssistant, hass_ws_client: WebSocketGenerator
|
||||
) -> None:
|
||||
|
||||
Reference in New Issue
Block a user