| 12345678910111213141516171819202122232425262728 |
- #include "db_test_util.hpp"
- #include "collection_registry.hpp"
- using namespace svapi;
- TEST(CollectionMeta, JsonRoundTrip) {
- CollectionMeta m{"docs", "vector", 1536, "text-embedding-3-small", 123};
- CollectionMeta r = CollectionMeta::fromJson(m.toJson());
- EXPECT_EQ(r.name, "docs"); EXPECT_EQ(r.kind, "vector");
- EXPECT_EQ(r.vectorDimension, 1536u); EXPECT_EQ(r.embeddingModel, "text-embedding-3-small");
- }
- TEST(CollectionRegistry, IsolatedPerProject) {
- SVAPI_REQUIRE_DB(db);
- const std::string pa = testutil::tmpName("rega"), pb = testutil::tmpName("regb");
- db->ensureProject(pa); db->ensureProject(pb);
- CollectionRegistry reg(*db);
- reg.ensure(pa); reg.ensure(pb);
- EXPECT_TRUE(reg.add(pa, {"users", "json", 0, "", 0}));
- EXPECT_TRUE(reg.get(pa, "users").has_value());
- EXPECT_FALSE(reg.get(pb, "users").has_value()); // isolation across projects
- EXPECT_EQ(reg.list(pa).size(), 1u);
- EXPECT_EQ(reg.list(pb).size(), 0u);
- EXPECT_TRUE(reg.remove(pa, "users"));
- EXPECT_FALSE(reg.get(pa, "users").has_value());
- db->dropProject(pa); db->dropProject(pb);
- }
|