lmdb: Test clearing all packages
This commit is contained in:
parent
0e61a726e1
commit
cd98c39c54
|
@ -38,7 +38,7 @@ class ParserTests : public TestFixture {
|
||||||
CPPUNIT_TEST(testParsingPkgName);
|
CPPUNIT_TEST(testParsingPkgName);
|
||||||
CPPUNIT_TEST(testExtractingPkgFile);
|
CPPUNIT_TEST(testExtractingPkgFile);
|
||||||
CPPUNIT_TEST(testParsingDescriptions);
|
CPPUNIT_TEST(testParsingDescriptions);
|
||||||
CPPUNIT_TEST(testParsingDatabase);
|
CPPUNIT_TEST(testParsingDatabaseAndOverallStorageBehavior);
|
||||||
CPPUNIT_TEST(testParsingSignatureLevel);
|
CPPUNIT_TEST(testParsingSignatureLevel);
|
||||||
CPPUNIT_TEST(testSerializingDatabaseSignatureLevel);
|
CPPUNIT_TEST(testSerializingDatabaseSignatureLevel);
|
||||||
CPPUNIT_TEST_SUITE_END();
|
CPPUNIT_TEST_SUITE_END();
|
||||||
|
@ -58,7 +58,7 @@ public:
|
||||||
void testParsingPkgName();
|
void testParsingPkgName();
|
||||||
void testExtractingPkgFile();
|
void testExtractingPkgFile();
|
||||||
void testParsingDescriptions();
|
void testParsingDescriptions();
|
||||||
void testParsingDatabase();
|
void testParsingDatabaseAndOverallStorageBehavior();
|
||||||
void testParsingSignatureLevel();
|
void testParsingSignatureLevel();
|
||||||
void testSerializingDatabaseSignatureLevel();
|
void testSerializingDatabaseSignatureLevel();
|
||||||
};
|
};
|
||||||
|
@ -290,7 +290,7 @@ void ParserTests::testParsingDescriptions()
|
||||||
CPPUNIT_ASSERT_EQUAL_MESSAGE("sha256sum"s, "ff62339041c19d2a986eed8231fb8e1be723b3afd354cca833946305456e8ec7"s, pkg->packageInfo->sha256);
|
CPPUNIT_ASSERT_EQUAL_MESSAGE("sha256sum"s, "ff62339041c19d2a986eed8231fb8e1be723b3afd354cca833946305456e8ec7"s, pkg->packageInfo->sha256);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ParserTests::testParsingDatabase()
|
void ParserTests::testParsingDatabaseAndOverallStorageBehavior()
|
||||||
{
|
{
|
||||||
auto dbFile = workingCopyPath("test-parsing-database.db", WorkingCopyMode::Cleanup);
|
auto dbFile = workingCopyPath("test-parsing-database.db", WorkingCopyMode::Cleanup);
|
||||||
|
|
||||||
|
@ -319,6 +319,18 @@ void ParserTests::testParsingDatabase()
|
||||||
config.initStorage(dbFile.data());
|
config.initStorage(dbFile.data());
|
||||||
auto *const db = config.findOrCreateDatabase("test"sv, "x86_64"sv);
|
auto *const db = config.findOrCreateDatabase("test"sv, "x86_64"sv);
|
||||||
CPPUNIT_ASSERT_EQUAL_MESSAGE("config persistent; all 215 packages still present"s, 215_st, db->packageCount());
|
CPPUNIT_ASSERT_EQUAL_MESSAGE("config persistent; all 215 packages still present"s, 215_st, db->packageCount());
|
||||||
|
|
||||||
|
// test clearing storage
|
||||||
|
db->clearPackages();
|
||||||
|
CPPUNIT_ASSERT_EQUAL_MESSAGE("config cleared; no more packages present"s, 0_st, db->packageCount());
|
||||||
|
|
||||||
|
// insert one package again to test whether setup still works (e.g. not whole database has been dropped)
|
||||||
|
auto pkg = std::make_shared<Package>();
|
||||||
|
pkg->name = "foo";
|
||||||
|
pkg->version = "42";
|
||||||
|
const auto pkgID = db->updatePackage(pkg);
|
||||||
|
CPPUNIT_ASSERT_EQUAL_MESSAGE("again one package present"s, 1_st, db->packageCount());
|
||||||
|
CPPUNIT_ASSERT_EQUAL_MESSAGE("same object returned due to caching", pkg, db->findPackage(pkgID));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue