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

Merge branch 'dev' into f-move-entity

parents 8dbcd0c3 f7b3e266
No related branches found
No related tags found
1 merge request!27F move entity
Pipeline #14882 passed
Pipeline: caosdb-cppinttest

#14885

    ......@@ -101,12 +101,12 @@ public:
    };
    /**
    * @brief The connection isn't known to the ConnectionManager under this name.
    * @brief Exception for errors during the configuration of the connection.
    */
    class UnknownConnectionError : public Exception {
    class ConnectionConfigurationError : public Exception {
    public:
    explicit UnknownConnectionError(const std::string &what_arg)
    : Exception(StatusCode::UNKNOWN_CONNECTION_ERROR, what_arg) {}
    explicit ConnectionConfigurationError(const std::string &what_arg)
    : Exception(StatusCode::CONNECTION_CONFIGURATION_ERROR, what_arg) {}
    };
    } // namespace caosdb::exceptions
    ......
    ......@@ -62,7 +62,7 @@ enum StatusCode {
    GENERIC_ERROR = 21,
    GENERIC_TRANSACTION_ERROR = 22,
    CONFIGURATION_ERROR = 23,
    UNKNOWN_CONNECTION_ERROR = 24,
    CONNECTION_CONFIGURATION_ERROR = 24,
    TRANSACTION_STATUS_ERROR = 25,
    TRANSACTION_TYPE_ERROR = 26,
    UNSUPPORTED_FEATURE = 27,
    ......
    ......@@ -109,8 +109,8 @@ auto ConnectionManager::mGetConnection(const std::string &name) const
    auto connection = ConfigurationManager::GetConnectionConfiguration(name);
    connections[name] = std::make_shared<Connection>(*connection.release());
    } catch (const caosdb::exceptions::ConfigurationError &exc) {
    throw caosdb::exceptions::UnknownConnectionError("No connection named '" + name +
    "' present.");
    throw caosdb::exceptions::ConnectionConfigurationError("Error with the connection named '" +
    name + "': " + exc.what());
    }
    }
    return this->connections.at(name);
    ......
    ......@@ -131,8 +131,9 @@ auto get_status_description(int code) -> const std::string & {
    "The transaction terminated unsuccessfully with transaction errors."},
    {StatusCode::CONFIGURATION_ERROR,
    "An error occurred during the configuration of the ConfigurationManager."},
    {StatusCode::UNKNOWN_CONNECTION_ERROR,
    "The ConnectionManager does not know any connection of this name."},
    {StatusCode::CONNECTION_CONFIGURATION_ERROR,
    "Wither there is no connection of the given name or the given connection has a faulty "
    "configuration"},
    {StatusCode::TRANSACTION_STATUS_ERROR,
    "The Transaction is in a wrong state for the attempted action."},
    {StatusCode::TRANSACTION_TYPE_ERROR,
    ......
    ......@@ -22,7 +22,7 @@
    #include "caosdb/certificate_provider.h" // for PemCertificateProvider
    #include "caosdb/configuration.h" // for InsecureConnectionConfigura...
    #include "caosdb/connection.h" // for ConnectionManager
    #include "caosdb/exceptions.h" // for UnknownConnectionError
    #include "caosdb/exceptions.h" // for ConnectionConfigurationError
    #include "caosdb_test_utility.h" // for EXPECT_THROW_MESSAGE, TEST_...
    #include <gtest/gtest-message.h> // for Message
    #include <gtest/gtest-test-part.h> // for SuiteApiResolver, TestPartR...
    ......@@ -65,9 +65,16 @@ TEST_F(test_connection, configure_ssl_localhost_8080) {
    }
    TEST_F(test_connection, connection_manager_unknown_connection) {
    EXPECT_THROW_MESSAGE(ConnectionManager::GetConnection("test"),
    caosdb::exceptions::UnknownConnectionError,
    "No connection named 'test' present.");
    EXPECT_THROW_MESSAGE(
    ConnectionManager::GetConnection("test"), caosdb::exceptions::ConnectionConfigurationError,
    "Error with the connection named 'test': The connection 'test' has not been defined.");
    }
    TEST_F(test_connection, connection_missing_certificate) {
    EXPECT_THROW_MESSAGE(ConnectionManager::GetConnection("missing"),
    caosdb::exceptions::ConnectionConfigurationError,
    std::string("Error with the connection named 'missing': ") +
    "File does not exist (server_certificate_path): /missing");
    }
    TEST_F(test_connection, connection_manager_get_default_connection) {
    ......
    ......@@ -13,6 +13,16 @@
    "local-caosdb": {
    "host": "localhost",
    "port": 8443,
    "authentication": {
    "type": "plain",
    "username": "me",
    "password": "secret!"
    }
    },
    "missing": {
    "host": "localhost",
    "port": 8443,
    "server_certificate_path": "/missing",
    "authentication": {
    "type": "plain",
    "username": "me",
    ......
    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