diff --git a/test/test_connection.cpp b/test/test_connection.cpp index 39f1bfc28ce4c21c60edc70badf842e090b7bd6f..1ffb7c9b3199afcf59d14718fbd0da6c9afc547b 100644 --- a/test/test_connection.cpp +++ b/test/test_connection.cpp @@ -21,6 +21,7 @@ */ #include "connection.h" +#include "authentication.h" #include <gtest/gtest-message.h> #include <gtest/gtest-test-part.h> #include <memory> @@ -30,8 +31,8 @@ using caosdb::info::v1alpha1::VersionInfo; TEST(test_connection, config_somehost_25323) { - int port = 25323; - std::string host = "somehost"; + auto port = 25323; + auto host = "somehost"; auto config = std::make_unique<caosdb::InsecureCaosDBConnectionConfig>(host, port); ASSERT_EQ(host, config->getHost()); @@ -39,8 +40,8 @@ TEST(test_connection, config_somehost_25323) { } TEST(test_connection, connect_somehost_42347_fails) { - int port = 42347; - std::string host = "somehost"; + auto port = 42347; + auto host = "somehost"; auto config = std::make_shared<caosdb::InsecureCaosDBConnectionConfig>(host, port); caosdb::CaosDBConnection connection(config); @@ -48,11 +49,10 @@ TEST(test_connection, connect_somehost_42347_fails) { } TEST(test_connection, connection_caosdb_server_insecure_success) { - int port = 8080; - const std::string host = caosdb::utils::get_env_var("CAOSDB_SERVER_HOST", "localhost"); - int major = 0; - int minor = 5; - int patch = 0; + auto port = 8080; + const auto host = caosdb::utils::get_env_var("CAOSDB_SERVER_HOST", "localhost"); + auto major = 0; + auto minor = 5; auto config = std::make_shared<caosdb::InsecureCaosDBConnectionConfig>(host, port); auto connection = caosdb::CaosDBConnection(config); @@ -63,12 +63,11 @@ TEST(test_connection, connection_caosdb_server_insecure_success) { } TEST(test_connection, connection_caosdb_server_ssl_success) { - int port = 8443; - const std::string 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()); - int major = 0; - int minor = 5; - int patch = 0; + 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 ssloptions = std::make_shared<caosdb::PemFileCACertProvider>(path); auto config = std::make_shared<caosdb::SslCaosDBConnectionConfig>(host, port, ssloptions); @@ -78,3 +77,20 @@ TEST(test_connection, connection_caosdb_server_ssl_success) { ASSERT_EQ(major, v_info.major()); 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()); +}