refactor s3 provider
This commit is contained in:
57
tests/fixtures/directory_db_fixture.hpp
vendored
57
tests/fixtures/directory_db_fixture.hpp
vendored
@@ -1,57 +0,0 @@
|
||||
/*
|
||||
Copyright <2018-2023> <scott.e.graves@protonmail.com>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
#ifndef REPERTORY_DIRECTORY_DB_FIXTURE_H
|
||||
#define REPERTORY_DIRECTORY_DB_FIXTURE_H
|
||||
|
||||
#include "test_common.hpp"
|
||||
|
||||
#include "app_config.hpp"
|
||||
#include "db/directory_db.hpp"
|
||||
#include "utils/path_utils.hpp"
|
||||
|
||||
namespace repertory {
|
||||
class directory_db_test : public ::testing::Test {
|
||||
private:
|
||||
const std::string config_location_ = utils::path::absolute("./directorydb");
|
||||
|
||||
protected:
|
||||
std::unique_ptr<app_config> config_;
|
||||
std::unique_ptr<directory_db> db_;
|
||||
|
||||
public:
|
||||
void SetUp() override {
|
||||
ASSERT_TRUE(utils::file::delete_directory_recursively(config_location_));
|
||||
config_ =
|
||||
std::make_unique<app_config>(provider_type::encrypt, config_location_);
|
||||
db_ = std::make_unique<directory_db>(*config_.get());
|
||||
}
|
||||
|
||||
void TearDown() override {
|
||||
db_.reset();
|
||||
config_.reset();
|
||||
|
||||
EXPECT_TRUE(utils::file::delete_directory_recursively(config_location_));
|
||||
}
|
||||
};
|
||||
} // namespace repertory
|
||||
|
||||
#endif // REPERTORY_DIRECTORY_DB_FIXTURE_H
|
57
tests/fixtures/meta_db_fixture.hpp
vendored
57
tests/fixtures/meta_db_fixture.hpp
vendored
@@ -1,57 +0,0 @@
|
||||
/*
|
||||
Copyright <2018-2023> <scott.e.graves@protonmail.com>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
#ifndef REPERTORY_META_DB_FIXTURE_H
|
||||
#define REPERTORY_META_DB_FIXTURE_H
|
||||
|
||||
#include "test_common.hpp"
|
||||
|
||||
#include "app_config.hpp"
|
||||
#include "db/meta_db.hpp"
|
||||
#include "utils/path_utils.hpp"
|
||||
|
||||
namespace repertory {
|
||||
class meta_db_test : public ::testing::Test {
|
||||
private:
|
||||
const std::string config_location_ = utils::path::absolute("./metadb");
|
||||
|
||||
protected:
|
||||
std::unique_ptr<app_config> config_;
|
||||
std::unique_ptr<meta_db> db_;
|
||||
|
||||
public:
|
||||
void SetUp() override {
|
||||
ASSERT_TRUE(utils::file::delete_directory_recursively(config_location_));
|
||||
config_ =
|
||||
std::make_unique<app_config>(provider_type::sia, config_location_);
|
||||
db_ = std::make_unique<meta_db>(*config_.get());
|
||||
}
|
||||
|
||||
void TearDown() override {
|
||||
db_.reset();
|
||||
config_.reset();
|
||||
|
||||
EXPECT_TRUE(utils::file::delete_directory_recursively(config_location_));
|
||||
}
|
||||
};
|
||||
} // namespace repertory
|
||||
|
||||
#endif // REPERTORY_META_DB_FIXTURE_H
|
88
tests/fixtures/s3_comm_fixture.hpp
vendored
88
tests/fixtures/s3_comm_fixture.hpp
vendored
@@ -1,88 +0,0 @@
|
||||
/*
|
||||
Copyright <2018-2023> <scott.e.graves@protonmail.com>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
#ifndef REPERTORY_S3_COMM_FIXTURE_H
|
||||
#define REPERTORY_S3_COMM_FIXTURE_H
|
||||
|
||||
#if defined(REPERTORY_ENABLE_S3) && defined(REPERTORY_ENABLE_S3_TESTING)
|
||||
|
||||
#include "test_common.hpp"
|
||||
|
||||
#include "app_config.hpp"
|
||||
#include "comm/s3/s3_comm.hpp"
|
||||
#include "utils/path_utils.hpp"
|
||||
|
||||
namespace repertory {
|
||||
class s3_comm_test : public ::testing::Test {
|
||||
private:
|
||||
console_consumer c_;
|
||||
|
||||
protected:
|
||||
std::unique_ptr<app_config> config_;
|
||||
std::unique_ptr<s3_comm> s3_comm_;
|
||||
|
||||
public:
|
||||
void SetUp() override {
|
||||
const auto path = utils::path::absolute("./test/");
|
||||
ASSERT_TRUE(utils::file::delete_directory_recursively(path));
|
||||
{
|
||||
app_config config(provider_type::s3,
|
||||
utils::path::combine(get_test_dir(), {"filebase"}));
|
||||
|
||||
config_ = std::make_unique<app_config>(provider_type::s3, "./test");
|
||||
config_->set_event_level(event_level::verbose);
|
||||
EXPECT_FALSE(config_
|
||||
->set_value_by_name("S3Config.AccessKey",
|
||||
config.get_s3_config().access_key)
|
||||
.empty());
|
||||
EXPECT_FALSE(config_
|
||||
->set_value_by_name("S3Config.SecretKey",
|
||||
config.get_s3_config().secret_key)
|
||||
.empty());
|
||||
EXPECT_FALSE(config_
|
||||
->set_value_by_name("S3Config.Region",
|
||||
config.get_s3_config().region)
|
||||
.empty());
|
||||
EXPECT_FALSE(
|
||||
config_->set_value_by_name("S3Config.URL", config.get_s3_config().url)
|
||||
.empty());
|
||||
EXPECT_FALSE(
|
||||
config_->set_value_by_name("S3Config.Bucket", "repertory").empty());
|
||||
}
|
||||
|
||||
s3_comm_ = std::make_unique<s3_comm>(*config_);
|
||||
|
||||
event_system::instance().start();
|
||||
}
|
||||
|
||||
void TearDown() override {
|
||||
event_system::instance().stop();
|
||||
s3_comm_.reset();
|
||||
config_.reset();
|
||||
|
||||
const auto path = utils::path::absolute("./test/");
|
||||
EXPECT_TRUE(utils::file::delete_directory_recursively(path));
|
||||
}
|
||||
};
|
||||
} // namespace repertory
|
||||
|
||||
#endif // REPERTORY_ENABLE_S3_TESTING
|
||||
#endif // REPERTORY_S3_COMM_FIXTURE_H
|
@@ -23,7 +23,7 @@
|
||||
#define REPERTORY_S3_PROVIDER_FILE_LIST_FIXTURE_H
|
||||
|
||||
#if defined(REPERTORY_ENABLE_S3) && defined(REPERTORY_ENABLE_S3_TESTING)
|
||||
|
||||
#if 0
|
||||
#include "test_common.hpp"
|
||||
|
||||
#include "mocks/mock_s3_comm.hpp"
|
||||
@@ -76,7 +76,6 @@ public:
|
||||
file.api_parent = utils::path::get_parent_api_path(file.api_path);
|
||||
file.changed_date = times[idx] + 1u;
|
||||
file.creation_date = times[idx] + 2u;
|
||||
file.encryption_token = "";
|
||||
file.file_size = 100u + idx;
|
||||
file.modified_date = times[idx] + 3u;
|
||||
this->list.emplace_back(std::move(file));
|
||||
@@ -145,5 +144,6 @@ public:
|
||||
};
|
||||
} // namespace repertory
|
||||
|
||||
#endif
|
||||
#endif // REPERTORY_ENABLE_S3_TESTING
|
||||
#endif // REPERTORY_S3_PROVIDER_FILE_LIST_FIXTURE_H
|
||||
|
Reference in New Issue
Block a user