Adding authentication data replication (#1666)
* Add AUTH system tx deltas * Add auth data RPC and handlers * Support multiple system deltas in a single transaction * Added e2e test * Bugfix: KVStore segfault after move --------- Co-authored-by: Gareth Lloyd <gareth.lloyd@memgraph.io>
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
// licenses/APL.txt.
|
||||
|
||||
#include "query/auth_query_handler.hpp"
|
||||
#include "replication/state.hpp"
|
||||
#include "storage/v2/config.hpp"
|
||||
#ifdef MG_ENTERPRISE
|
||||
#include <gmock/gmock.h>
|
||||
@@ -43,7 +44,9 @@ std::set<std::string> GetDirs(auto path) {
|
||||
std::filesystem::path storage_directory{std::filesystem::temp_directory_path() / "MG_test_unit_dbms_handler"};
|
||||
std::filesystem::path db_dir{storage_directory / "databases"};
|
||||
static memgraph::storage::Config storage_conf;
|
||||
std::unique_ptr<memgraph::utils::Synchronized<memgraph::auth::Auth, memgraph::utils::WritePrioritizedRWLock>> auth;
|
||||
std::unique_ptr<memgraph::auth::SynchedAuth> auth;
|
||||
std::unique_ptr<memgraph::system::System> system_state;
|
||||
std::unique_ptr<memgraph::replication::ReplicationState> repl_state;
|
||||
|
||||
// Let this be global so we can test it different states throughout
|
||||
|
||||
@@ -64,14 +67,18 @@ class TestEnvironment : public ::testing::Environment {
|
||||
std::filesystem::remove_all(storage_directory);
|
||||
}
|
||||
}
|
||||
auth =
|
||||
std::make_unique<memgraph::utils::Synchronized<memgraph::auth::Auth, memgraph::utils::WritePrioritizedRWLock>>(
|
||||
storage_directory / "auth", memgraph::auth::Auth::Config{/* default */});
|
||||
ptr_ = std::make_unique<memgraph::dbms::DbmsHandler>(storage_conf, auth.get(), false);
|
||||
auth = std::make_unique<memgraph::auth::SynchedAuth>(storage_directory / "auth",
|
||||
memgraph::auth::Auth::Config{/* default */});
|
||||
system_state = std::make_unique<memgraph::system::System>();
|
||||
repl_state = std::make_unique<memgraph::replication::ReplicationState>(ReplicationStateRootPath(storage_conf));
|
||||
ptr_ = std::make_unique<memgraph::dbms::DbmsHandler>(storage_conf, *system_state.get(), *repl_state.get(),
|
||||
*auth.get(), false);
|
||||
}
|
||||
|
||||
void TearDown() override {
|
||||
ptr_.reset();
|
||||
repl_state.reset();
|
||||
system_state.reset();
|
||||
auth.reset();
|
||||
std::filesystem::remove_all(storage_directory);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user