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

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