TEST_F(testsIbpGenHandler, BasicIbpGenHandlerPutGetMemCheck) { std::string cfgFile = testsTools::InitConfig(2, WithHotData); AbstractController* ctrl = NULL; StatusCode st = Controller::create(cfgFile, ctrl); ASSERT_TRUE(st.ok()); ASSERT_TRUE(NULL != ctrl); EXPECT_EQ(cfgFile, ctrl->getConfigFile()); EXPECT_EQ(TESTUUID, ctrl->getUuid()); std::string cfgFileName = ctrl->getConfigFile(); ctrl->start(); StatusCode stPut = ctrl->put("key", "data"); EXPECT_TRUE(stPut.ok()); std::string buffer(80, 'A'); DataChunk fetched(buffer); size_t count; StatusCode stGet = ctrl->fetch("key", std::move(fetched), count); EXPECT_TRUE(stGet.ok()); EXPECT_TRUE(fetched == "data"); ctrl->stop(); ctrl->destroy(); delete ctrl; }
TEST_F(testsLevelDbFacade, BasicLevelDbFacadePutGetMemCheck) { std::vector<bool> falseTrue = { false, true }; for (bool param1 : falseTrue) { for (bool param2 : falseTrue) { for (bool param3 : falseTrue) { std::string dbPath = std::string(MKTMPNAME()) + "_IBP"; FileTools::createDirectory(dbPath); LevelDbFacade db(dbPath, param1, param2, param3); EXPECT_TRUE(db.isClosed()); db.open(); EXPECT_FALSE(db.isClosed()); StatusCode stPut = db.put("key", "data"); EXPECT_TRUE(stPut.ok()); std::string fetched; StatusCode stGet = db.get("key", &fetched); EXPECT_TRUE(stGet.ok()); EXPECT_TRUE(fetched == "data"); EXPECT_FALSE(db.isClosed()); db.close(); EXPECT_TRUE(db.isClosed()); std::string output; db.getStats(output); FileTools::removeDirectory(dbPath); } } } }
TEST_F(testsCombinedBlockStore, Basic2IbpSetPutGetMemCheck) { std::string ibp1Path = std::string(MKTMPNAME()) + "_IBP1"; FileTools::createDirectory(ibp1Path); std::string ibp2Path = std::string(MKTMPNAME()) + "_IBP2"; FileTools::createDirectory(ibp2Path); std::vector<std::string> ibpsPath; ibpsPath.emplace_back(ibp1Path); ibpsPath.emplace_back(ibp2Path); CombinedBlockStore db(ibpsPath); EXPECT_TRUE(db.isClosed()); db.open(); EXPECT_FALSE(db.isClosed()); StatusCode stPut = db.put("key", "data"); EXPECT_TRUE(stPut.ok()); std::string fetched; StatusCode stGet = db.get("key", &fetched); EXPECT_TRUE(stGet.ok()); EXPECT_TRUE(fetched == "data"); std::string stats; EXPECT_TRUE(db.getStats(stats)); EXPECT_FALSE(stats.empty()); EXPECT_FALSE(db.isClosed()); db.close(); EXPECT_TRUE(db.isClosed()); EXPECT_TRUE(db.repair().ok()); FileTools::removeDirectory(ibp1Path); FileTools::removeDirectory(ibp2Path); }
int ibsCommitTransaction(const int id, const int transactionId) { IBS_CHECK_ID(id); std::string transactionUuid; bool isValid = ibs::Transaction::getUuidFromId(transactionId, transactionUuid); if (isValid) { StatusCode status = ibs->commitTransaction(transactionUuid); if (status.ok()) { return 0; } else { return errorCodeFromStatusCode(status); } } else { return IBS__INVALID_TRANSACTION_ID; } }