Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • 108-implement-rpc-call-for-server-side-scripting
  • dev
  • f-consol-message
  • f-rel-path
  • f-related-projects
  • f-remote-path
  • f-role
  • f-sss4grpc
  • f-to-string
  • f-update-requirements
  • f-windows-conan-create
  • main
  • v0.0.1
  • v0.0.10
  • v0.0.15
  • v0.0.16
  • v0.0.18
  • v0.0.19
  • v0.0.2
  • v0.0.3
  • v0.0.4
  • v0.0.5
  • v0.0.6
  • v0.0.7
  • v0.0.8
  • v0.0.9
  • v0.1
  • v0.1.1
  • v0.1.2
  • v0.2.0
  • v0.2.1
  • v0.2.2
  • v0.3.0
33 results

Target

Select target project
  • caosdb/src/caosdb-cpplib
1 result
Select Git revision
  • 108-implement-rpc-call-for-server-side-scripting
  • dev
  • f-consol-message
  • f-rel-path
  • f-related-projects
  • f-remote-path
  • f-role
  • f-sss4grpc
  • f-to-string
  • f-update-requirements
  • f-windows-conan-create
  • main
  • v0.0.1
  • v0.0.10
  • v0.0.15
  • v0.0.16
  • v0.0.18
  • v0.0.19
  • v0.0.2
  • v0.0.3
  • v0.0.4
  • v0.0.5
  • v0.0.6
  • v0.0.7
  • v0.0.8
  • v0.0.9
  • v0.1
  • v0.1.1
  • v0.1.2
  • v0.2.0
  • v0.2.1
  • v0.2.2
  • v0.3.0
33 results
Show changes
Commits on Source (9)
......@@ -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",
......