Skip to content
Snippets Groups Projects

Minimal c interface

Merged Timm Fitschen requested to merge f-extern-c into dev
2 files
+ 14
17
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 44
15
@@ -23,30 +23,59 @@
#include <gtest/gtest-message.h> // for Message
#include <gtest/gtest-test-part.h> // for TestPartResult, SuiteApiResolver
#include <memory> // for allocator, operator!=, shared_ptr
#include "caosdb/connection.h" // for PemCACertProvider, InsecureCaosDB...
#include "gtest/gtest_pred_impl.h" // for Test, AssertionResult, EXPECT_EQ
#include <string> // for operator+, string
#include "caosdb/configuration.h" // for ConfigurationManager
#include "caosdb/connection.h" // for ConnectionManager, InsecureConnec...
#include "caosdb/exceptions.h" // for UnknownConnectionError
#include "caosdb_test_utility.h" // for EXPECT_THROW_MESSAGE, TEST_DATA_DIR
#include "gtest/gtest_pred_impl.h" // for Test, AssertionResult, TestInfo
namespace caosdb::connection {
using caosdb::configuration::ConfigurationManager;
TEST(test_connection, configure_insecure_localhost_8080) {
InsecureCaosDBConnectionConfig config("localhost", 8000);
class test_connection : public ::testing::Test {
protected:
void SetUp() override {
ConfigurationManager::Clear();
ConfigurationManager::LoadSingleJSONConfiguration(
TEST_DATA_DIR + "/test_caosdb_client.json");
};
void TearDown() override { ConfigurationManager::Clear(); };
};
EXPECT_EQ("localhost", config.getHost());
EXPECT_EQ(8000, config.getPort());
std::shared_ptr<grpc::ChannelCredentials> icc =
config.getChannelCredentials();
TEST_F(test_connection, configure_insecure_localhost_8080) {
InsecureConnectionConfiguration configuration("localhost", 8000);
EXPECT_EQ("localhost", configuration.GetHost());
EXPECT_EQ(8000, configuration.GetPort());
auto icc = configuration.GetChannelCredentials();
EXPECT_TRUE(icc != nullptr);
}
TEST(test_connection, configure_ssl_localhost_8080) {
auto cacert = std::make_shared<PemCACertProvider>("ca chain");
SslCaosDBConnectionConfig config("localhost", 44300, cacert);
TEST_F(test_connection, configure_ssl_localhost_8080) {
auto cacert = PemCertificateProvider("ca chain");
TlsConnectionConfiguration configuration("localhost", 44300, cacert);
EXPECT_EQ("localhost", config.getHost());
EXPECT_EQ(44300, config.getPort());
std::shared_ptr<grpc::ChannelCredentials> sslcc =
config.getChannelCredentials();
EXPECT_EQ("localhost", configuration.GetHost());
EXPECT_EQ(44300, configuration.GetPort());
auto sslcc = configuration.GetChannelCredentials();
EXPECT_TRUE(sslcc != nullptr);
}
TEST_F(test_connection, connection_manager_unknown_connection) {
EXPECT_THROW_MESSAGE(ConnectionManager::GetConnection("test"),
caosdb::exceptions::UnknownConnectionError,
"No connection named 'test' present.");
}
TEST_F(test_connection, connection_manager_get_default_connection) {
auto connection = ConnectionManager::GetDefaultConnection();
EXPECT_EQ(connection, ConnectionManager::GetConnection("local-caosdb"));
}
TEST_F(test_connection, connection_manager_get_connection) {
EXPECT_TRUE(ConnectionManager::GetConnection("local-caosdb-admin"));
}
} // namespace caosdb::connection
Loading