Skip to content
Snippets Groups Projects
Verified Commit 1d3a7b51 authored by Timm Fitschen's avatar Timm Fitschen
Browse files

WIP: authentication

parent c2cb19ec
No related branches found
No related tags found
No related merge requests found
Pipeline #9461 passed
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
*/ */
#include "connection.h" #include "connection.h"
#include "authentication.h"
#include <gtest/gtest-message.h> #include <gtest/gtest-message.h>
#include <gtest/gtest-test-part.h> #include <gtest/gtest-test-part.h>
#include <memory> #include <memory>
...@@ -30,8 +31,8 @@ ...@@ -30,8 +31,8 @@
using caosdb::info::v1alpha1::VersionInfo; using caosdb::info::v1alpha1::VersionInfo;
TEST(test_connection, config_somehost_25323) { TEST(test_connection, config_somehost_25323) {
int port = 25323; auto port = 25323;
std::string host = "somehost"; auto host = "somehost";
auto config = std::make_unique<caosdb::InsecureCaosDBConnectionConfig>(host, port); auto config = std::make_unique<caosdb::InsecureCaosDBConnectionConfig>(host, port);
ASSERT_EQ(host, config->getHost()); ASSERT_EQ(host, config->getHost());
...@@ -39,8 +40,8 @@ TEST(test_connection, config_somehost_25323) { ...@@ -39,8 +40,8 @@ TEST(test_connection, config_somehost_25323) {
} }
TEST(test_connection, connect_somehost_42347_fails) { TEST(test_connection, connect_somehost_42347_fails) {
int port = 42347; auto port = 42347;
std::string host = "somehost"; auto host = "somehost";
auto config = std::make_shared<caosdb::InsecureCaosDBConnectionConfig>(host, port); auto config = std::make_shared<caosdb::InsecureCaosDBConnectionConfig>(host, port);
caosdb::CaosDBConnection connection(config); caosdb::CaosDBConnection connection(config);
...@@ -48,11 +49,10 @@ TEST(test_connection, connect_somehost_42347_fails) { ...@@ -48,11 +49,10 @@ TEST(test_connection, connect_somehost_42347_fails) {
} }
TEST(test_connection, connection_caosdb_server_insecure_success) { TEST(test_connection, connection_caosdb_server_insecure_success) {
int port = 8080; auto port = 8080;
const std::string host = caosdb::utils::get_env_var("CAOSDB_SERVER_HOST", "localhost"); const auto host = caosdb::utils::get_env_var("CAOSDB_SERVER_HOST", "localhost");
int major = 0; auto major = 0;
int minor = 5; auto minor = 5;
int patch = 0;
auto config = std::make_shared<caosdb::InsecureCaosDBConnectionConfig>(host, port); auto config = std::make_shared<caosdb::InsecureCaosDBConnectionConfig>(host, port);
auto connection = caosdb::CaosDBConnection(config); auto connection = caosdb::CaosDBConnection(config);
...@@ -63,12 +63,11 @@ TEST(test_connection, connection_caosdb_server_insecure_success) { ...@@ -63,12 +63,11 @@ TEST(test_connection, connection_caosdb_server_insecure_success) {
} }
TEST(test_connection, connection_caosdb_server_ssl_success) { TEST(test_connection, connection_caosdb_server_ssl_success) {
int port = 8443; auto port = 8443;
const std::string host = caosdb::utils::get_env_var("CAOSDB_SERVER_HOST", "localhost"); const auto host = caosdb::utils::get_env_var("CAOSDB_SERVER_HOST", "localhost");
const std::string path = caosdb::utils::get_env_var("CAOSDB_SERVER_CA_PEM", std::string()); const auto path = caosdb::utils::get_env_var("CAOSDB_SERVER_CA_PEM", std::string());
int major = 0; auto major = 0;
int minor = 5; auto minor = 5;
int patch = 0;
auto ssloptions = std::make_shared<caosdb::PemFileCACertProvider>(path); auto ssloptions = std::make_shared<caosdb::PemFileCACertProvider>(path);
auto config = std::make_shared<caosdb::SslCaosDBConnectionConfig>(host, port, ssloptions); auto config = std::make_shared<caosdb::SslCaosDBConnectionConfig>(host, port, ssloptions);
...@@ -78,3 +77,20 @@ TEST(test_connection, connection_caosdb_server_ssl_success) { ...@@ -78,3 +77,20 @@ TEST(test_connection, connection_caosdb_server_ssl_success) {
ASSERT_EQ(major, v_info.major()); ASSERT_EQ(major, v_info.major());
ASSERT_EQ(minor, v_info.minor()); ASSERT_EQ(minor, v_info.minor());
} }
TEST(test_connection, connection_with_authentication_success) {
auto port = 8443;
const auto host = caosdb::utils::get_env_var("CAOSDB_SERVER_HOST", "localhost");
const auto path = caosdb::utils::get_env_var("CAOSDB_SERVER_CA_PEM", std::string());
auto major = 0;
auto minor = 5;
auto auth = std::make_shared<caosdb::authentication::PlainPasswordAuthenticator>("caosdb", "admin");
auto ssloptions = std::make_shared<caosdb::PemFileCACertProvider>(path);
auto config = std::make_shared<caosdb::SslCaosDBConnectionConfig>(host, port, ssloptions, auth);
auto connection = caosdb::CaosDBConnection(config);
auto v_info = connection.getVersionInfo();
ASSERT_EQ(major, v_info.major());
ASSERT_EQ(minor, v_info.minor());
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment