summaryrefslogtreecommitdiff
path: root/test/utils/test_env.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/utils/test_env.hpp')
-rw-r--r--test/utils/test_env.hpp42
1 files changed, 20 insertions, 22 deletions
diff --git a/test/utils/test_env.hpp b/test/utils/test_env.hpp
index d9c60fb8..30eba26c 100644
--- a/test/utils/test_env.hpp
+++ b/test/utils/test_env.hpp
@@ -16,6 +16,7 @@
#define INCLUDED_SRC_TEST_UTILS_TEST_ENV_HPP
#include <cstdlib>
+#include <filesystem>
#include <map>
#include <optional>
#include <sstream>
@@ -62,31 +63,28 @@ static inline void ReadCompatibilityFromEnv() {
: std::make_optional(std::string{serve_address});
}
-[[nodiscard]] static inline auto ReadTLSAuthArgsFromEnv() -> bool {
+[[nodiscard]] static inline auto ReadTLSAuthCACertFromEnv()
+ -> std::optional<std::filesystem::path> {
auto* ca_cert = std::getenv("TLS_CA_CERT");
+ return ca_cert == nullptr
+ ? std::nullopt
+ : std::make_optional(std::filesystem::path(ca_cert));
+}
+
+[[nodiscard]] static inline auto ReadTLSAuthClientCertFromEnv()
+ -> std::optional<std::filesystem::path> {
auto* client_cert = std::getenv("TLS_CLIENT_CERT");
+ return client_cert == nullptr
+ ? std::nullopt
+ : std::make_optional(std::filesystem::path(client_cert));
+}
+
+[[nodiscard]] static inline auto ReadTLSAuthClientKeyFromEnv()
+ -> std::optional<std::filesystem::path> {
auto* client_key = std::getenv("TLS_CLIENT_KEY");
- if (ca_cert != nullptr) {
- if (not Auth::TLS::Instance().SetCACertificate(ca_cert)) {
- return false;
- }
- }
- if (client_cert != nullptr) {
- if (not Auth::TLS::Instance().SetClientCertificate(client_cert)) {
- return false;
- }
- }
- if (client_key != nullptr) {
- if (not Auth::TLS::Instance().SetClientKey(client_key)) {
- return false;
- }
- }
- if (Auth::Instance().GetAuthMethod() == AuthMethod::kTLS) {
- if (not Auth::TLS::Instance().Validate()) {
- return false;
- }
- }
- return true;
+ return client_key == nullptr
+ ? std::nullopt
+ : std::make_optional(std::filesystem::path(client_key));
}
[[nodiscard]] static inline auto ReadRemoteServeReposFromEnv()