TEST_F(PacksTests, test_discovery_cache) { Config c; // This pack and discovery query are valid, expect the SQL to execute. c.addPack("valid_discovery_pack", "", getPackWithValidDiscovery()); size_t query_count = 0U; size_t query_attemts = 5U; for (size_t i = 0; i < query_attemts; i++) { c.scheduledQueries( ([&query_count](const std::string& name, const ScheduledQuery& query) { query_count++; })); } EXPECT_EQ(query_count, query_attemts); size_t pack_count = 0U; c.packs(([&pack_count, query_attemts](std::shared_ptr<Pack>& p) { pack_count++; // There is one pack without a discovery query. EXPECT_EQ(p->getStats().total, query_attemts + 1); EXPECT_EQ(p->getStats().hits, query_attemts); EXPECT_EQ(p->getStats().misses, 1U); })); EXPECT_EQ(pack_count, 1U); c.reset(); }
TEST_F(PacksTests, test_discovery_cache) { auto c = Config(); c.addPack("kernel", "", getPackWithValidDiscovery()); size_t query_count = 0; for (size_t i = 0; i < 5; i++) { c.scheduledQueries( ([&query_count](const std::string& name, const ScheduledQuery& query) { query_count++; })); } EXPECT_EQ(query_count, 5U); size_t pack_count = 0U; c.packs(([&pack_count](Pack& p) { pack_count++; EXPECT_EQ(p.getStats().total, 5); EXPECT_EQ(p.getStats().hits, 4); EXPECT_EQ(p.getStats().misses, 1); })); EXPECT_EQ(pack_count, 1U); }
TEST_F(PacksTests, test_discovery_cache) { auto c = Config(); // This pack and discovery query are valid, expect the SQL to execute. c.addPack("valid_discovery_pack", "", getPackWithValidDiscovery()); size_t query_count = 0U; size_t query_attemts = 5U; for (size_t i = 0; i < query_attemts; i++) { c.scheduledQueries( ([&query_count](const std::string& name, const ScheduledQuery& query) { query_count++; })); } EXPECT_EQ(query_count, query_attemts); size_t pack_count = 0U; c.packs(([&pack_count, query_attemts](Pack& p) { pack_count++; EXPECT_EQ(p.getStats().total, query_attemts); EXPECT_EQ(p.getStats().hits, query_attemts - 1); EXPECT_EQ(p.getStats().misses, 1U); })); EXPECT_EQ(pack_count, 1U); }