| 29 | }; |
| 30 | |
| 31 | TEST(PluginDataHostObjectTest, RegisterTopicReturnsUsableHandle) { |
| 32 | Fixture f; |
| 33 | auto handle = f.host.registerTopic("markers", R"({"media_class":"scene"})"); |
| 34 | ASSERT_TRUE(handle.has_value()) << handle.error(); |
| 35 | EXPECT_NE(handle->id, 0U); |
| 36 | |
| 37 | // Metadata round-trips through the store. |
| 38 | const auto topics = f.store.listTopics(kDatasetId); |
| 39 | ASSERT_EQ(topics.size(), 1U); |
| 40 | const auto& desc = f.store.descriptor(topics[0]); |
| 41 | EXPECT_EQ(desc.topic_name, "markers"); |
| 42 | EXPECT_EQ(desc.metadata_json, R"({"media_class":"scene"})"); |
| 43 | EXPECT_EQ(desc.dataset_id, kDatasetId); |
| 44 | } |
| 45 | |
| 46 | TEST(PluginDataHostObjectTest, RegisterTopicRejectsDuplicateName) { |
| 47 | Fixture f; |
nothing calls this directly
no test coverage detected