added additional winfsp unit tests
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit

This commit is contained in:
2025-09-03 14:42:15 -05:00
parent c20574aa3b
commit bd913d83e1

View File

@@ -42,34 +42,76 @@ constexpr auto SLEEP_SECONDS{1.5s};
} // namespace } // namespace
namespace repertory { namespace repertory {
struct local_s3 final { struct local_s3_no_encryption final {
static constexpr provider_type type{provider_type::s3}; static constexpr provider_type type{provider_type::s3};
static constexpr provider_type type2{provider_type::s3}; static constexpr provider_type type2{provider_type::s3};
static constexpr std::uint16_t remote_port{41000U}; static constexpr std::uint16_t remote_port{41000U};
static constexpr bool force_legacy_encryption{false};
static constexpr std::string encryption_token{""};
};
struct local_s3_encryption final {
static constexpr provider_type type{provider_type::s3};
static constexpr provider_type type2{provider_type::s3};
static constexpr std::uint16_t remote_port{41000U};
static constexpr bool force_legacy_encryption{false};
static constexpr std::string encryption_token{"encryption_token"};
};
struct local_s3_legacy_encryption final {
static constexpr provider_type type{provider_type::s3};
static constexpr provider_type type2{provider_type::s3};
static constexpr std::uint16_t remote_port{41000U};
static constexpr bool force_legacy_encryption{true};
static constexpr std::string encryption_token{"encryption_token"};
};
struct remote_s3_no_encryption final {
static constexpr provider_type type{provider_type::remote};
static constexpr provider_type type2{provider_type::s3};
static constexpr std::uint16_t remote_port{41000U};
static constexpr bool force_legacy_encryption{false};
static constexpr std::string encryption_token{""};
};
struct remote_s3_encryption final {
static constexpr provider_type type{provider_type::remote};
static constexpr provider_type type2{provider_type::s3};
static constexpr std::uint16_t remote_port{41000U};
static constexpr bool force_legacy_encryption{false};
static constexpr std::string encryption_token{"encryption_token"};
};
struct remote_s3_legacy_encryption final {
static constexpr provider_type type{provider_type::remote};
static constexpr provider_type type2{provider_type::s3};
static constexpr std::uint16_t remote_port{41000U};
static constexpr bool force_legacy_encryption{true};
static constexpr std::string encryption_token{"encryption_token"};
}; };
struct local_sia final { struct local_sia final {
static constexpr provider_type type{provider_type::sia}; static constexpr provider_type type{provider_type::sia};
static constexpr provider_type type2{provider_type::sia}; static constexpr provider_type type2{provider_type::sia};
static constexpr std::uint16_t remote_port{41001U}; static constexpr std::uint16_t remote_port{41001U};
}; static constexpr bool force_legacy_encryption{false};
static constexpr std::string encryption_token{""};
struct remote_s3 final {
static constexpr provider_type type{provider_type::remote};
static constexpr provider_type type2{provider_type::s3};
static constexpr std::uint16_t remote_port{41000U};
}; };
struct remote_sia final { struct remote_sia final {
static constexpr provider_type type{provider_type::remote}; static constexpr provider_type type{provider_type::remote};
static constexpr provider_type type2{provider_type::sia}; static constexpr provider_type type2{provider_type::sia};
static constexpr std::uint16_t remote_port{41001U}; static constexpr std::uint16_t remote_port{41001U};
static constexpr bool force_legacy_encryption{false};
static constexpr std::string encryption_token{""};
}; };
struct remote_winfsp_to_linux final { struct remote_winfsp_to_linux final {
static constexpr provider_type type{provider_type::remote}; static constexpr provider_type type{provider_type::remote};
static constexpr provider_type type2{provider_type::unknown}; static constexpr provider_type type2{provider_type::unknown};
static constexpr std::uint16_t remote_port{41002U}; static constexpr std::uint16_t remote_port{41002U};
static constexpr bool force_legacy_encryption{false};
static constexpr std::string encryption_token{""};
}; };
template <typename provider_t> class winfsp_test : public ::testing::Test { template <typename provider_t> class winfsp_test : public ::testing::Test {
@@ -108,9 +150,13 @@ protected:
provider_type::s3, provider_type::s3,
utils::path::combine(test::get_test_config_dir(), {"s3"}), utils::path::combine(test::get_test_config_dir(), {"s3"}),
}; };
auto cfg = src_cfg.get_s3_config();
cfg.force_legacy_encryption = provider_t::force_legacy_encryption;
cfg.encryption_token = provider_t::encryption_token;
config->set_enable_drive_events(true); config->set_enable_drive_events(true);
config->set_event_level(event_level::trace); config->set_event_level(event_level::trace);
config->set_s3_config(src_cfg.get_s3_config()); config->set_s3_config();
auto r_cfg = config->get_remote_mount(); auto r_cfg = config->get_remote_mount();
r_cfg.enable = true; r_cfg.enable = true;
@@ -305,8 +351,10 @@ template <typename provider_t>
std::string winfsp_test<provider_t>::mount_location2; std::string winfsp_test<provider_t>::mount_location2;
using winfsp_provider_types = using winfsp_provider_types =
::testing::Types<local_s3, remote_s3, local_sia, remote_sia, ::testing::Types<local_s3_no_encryption, local_s3_encryption,
remote_winfsp_to_linux>; local_s3_legacy_encryption, remote_s3_no_encryption,
remote_s3_encryption, remote_s3_legacy_encryption,
local_sia, remote_sia, remote_winfsp_to_linux>;
} // namespace repertory } // namespace repertory
#endif // defined(_WIN32) #endif // defined(_WIN32)