From 652b345e946ef15460c6e40cdc5e2998068c2cf0 Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Mon, 28 Jun 2021 02:01:24 +0200 Subject: [PATCH] WIP: tls --- .docker/tester.yml | 4 ++++ .gitlab-ci.yml | 1 + test/test_connection.cpp | 34 ++++++++++++++++++++++++++++------ 3 files changed, 33 insertions(+), 6 deletions(-) diff --git a/.docker/tester.yml b/.docker/tester.yml index 1673eed..f3a69bd 100644 --- a/.docker/tester.yml +++ b/.docker/tester.yml @@ -2,6 +2,10 @@ version: '3.7' services: tester: image: "$CPPINTTEST_REGISTRY_IMAGE" + environment: + CAOSDB_SERVER_HOST: caosdb-server + CAOSDB_SERVER_PORT: 8443 + CAOSDB_SERVER_CA_PEM: /cert/caosdb.cert.pem networks: - docker_caosnet volumes: diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0323d73..c21d3d6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -75,6 +75,7 @@ build-testenv: only: - schedules - web + - triggers script: - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY diff --git a/test/test_connection.cpp b/test/test_connection.cpp index 4b54e5b..b21b1ba 100644 --- a/test/test_connection.cpp +++ b/test/test_connection.cpp @@ -25,6 +25,7 @@ #include <gtest/gtest-test-part.h> #include <memory> #include "gtest/gtest_pred_impl.h" +#include "utils.h" using caosdb::info::v1alpha1::VersionInfo; @@ -46,21 +47,42 @@ TEST(test_connection, connect_somehost_42347_fails) { ASSERT_THROW(connection.getVersionInfo(), std::runtime_error); } -TEST(test_connection, connection_caosdb_server_8080_success) { +TEST(test_connection, connection_caosdb_server_insecure_success) { int port = 8080; - std::string host = "localhost"; + std::cout << "HERE1\n"; + const std::string host = caosdb::utils::get_env_var("CAOSDB_SERVER_HOST", "localhost"); + EXPECT_EQ(host, "localhost"); + std::cout << "HERE2\n"; int major = 0; int minor = 5; int patch = 0; - std::string pre_release = "SNAPSHOT"; + std::cout << "HERE3\n"; auto config = std::make_shared<caosdb::InsecureCaosDBConnectionConfig>(host, port); + std::cout << "HERE4\n"; + auto connection = caosdb::CaosDBConnection(config); + + std::cout << "HERE5\n"; + auto v_info = connection.getVersionInfo(); + std::cout << "HERE6\n"; + ASSERT_EQ(major, v_info.major()); + std::cout << "HERE7\n"; + ASSERT_EQ(minor, v_info.minor()); +} + +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 ssloptions = std::make_shared<caosdb::PemFileCACertProvider>(path); + auto config = std::make_shared<caosdb::SslCaosDBConnectionConfig>(host, port, ssloptions); auto connection = std::make_unique<caosdb::CaosDBConnection>(config); auto v_info = connection->getVersionInfo(); ASSERT_EQ(major, v_info.major()); ASSERT_EQ(minor, v_info.minor()); - ASSERT_EQ(patch, v_info.patch()); - ASSERT_EQ(pre_release, v_info.pre_release()); - ASSERT_NE("", v_info.build()); } -- GitLab