TEST(BranchInfo, CDKeyPerUser) { auto bi = gcRefPtr<StubBranchItemInfo2>::create(); auto info = gcRefPtr<BranchInstallInfo>::create(1, bi, UTIL::FS::g_pDefaultUTILFS); auto a = gcRefPtr<BranchInfo>::create(MCFBranch::BranchFromInt(1), DesuraId("2", "games"), info, 0, 123); auto b = gcRefPtr<BranchInfo>::create(MCFBranch::BranchFromInt(1), DesuraId("2", "games"), info, 0, 123); auto c = gcRefPtr<BranchInfo>::create(MCFBranch::BranchFromInt(1), DesuraId("2", "games"), info, 0, 456); a->setCDKey("A Test CD Key"); { std::vector<gcString> vCDKeys; a->getCDKey(vCDKeys); ASSERT_EQ(1, vCDKeys.size()); ASSERT_STREQ("A Test CD Key", vCDKeys[0].c_str()); } sqlite3x::sqlite3_connection db(":memory:"); createItemInfoDbTables(db); a->saveDbFull(&db); b->loadDb(&db); c->loadDb(&db); { std::vector<gcString> vCDKeys; b->getCDKey(vCDKeys); ASSERT_EQ(1, vCDKeys.size()); ASSERT_STREQ("A Test CD Key", vCDKeys[0].c_str()); } { std::vector<gcString> vCDKeys; c->getCDKey(vCDKeys); ASSERT_EQ(0, vCDKeys.size()); } }
void BranchInfo::saveDb(sqlite3x::sqlite3_connection* db) { saveDbFull(db); }