diff --git a/bundles/remote_services/rsa_utils/gtest/src/RsaUtilsTestSuite.cc b/bundles/remote_services/rsa_utils/gtest/src/RsaUtilsTestSuite.cc index 4183296c0..f4d7ff8d2 100644 --- a/bundles/remote_services/rsa_utils/gtest/src/RsaUtilsTestSuite.cc +++ b/bundles/remote_services/rsa_utils/gtest/src/RsaUtilsTestSuite.cc @@ -54,6 +54,18 @@ TEST_F(RsaUtilsTestSuite, CreateServicePropertiesFromEndpointPropertiesTest) { EXPECT_STREQ("", celix_version_getQualifier(entry->typed.versionValue)); } +TEST_F(RsaUtilsTestSuite, CreateServicePropertiesFromEndpointPropertiesWithInvalidVersionTest) { + celix_autoptr(celix_properties_t) endpointProperties = celix_properties_create(); + celix_properties_set(endpointProperties, CELIX_FRAMEWORK_SERVICE_RANKING, "10"); + celix_properties_set(endpointProperties, CELIX_FRAMEWORK_SERVICE_VERSION, "invalid"); + + celix_autoptr(celix_properties_t) serviceProperties = nullptr; + celix_status_t status = + celix_rsaUtils_createServicePropertiesFromEndpointProperties(endpointProperties, &serviceProperties); + ASSERT_EQ(status, CELIX_ILLEGAL_ARGUMENT); + ASSERT_TRUE(serviceProperties == nullptr); +} + TEST_F(RsaUtilsTestSuite, CreateServicePropertiesFromEndpointPropertiesWithNullArgTest) { // NULL argument will result in an empty service properties set celix_autoptr(celix_properties_t) serviceProperties = nullptr; diff --git a/bundles/remote_services/rsa_utils/include/celix_rsa_utils.h b/bundles/remote_services/rsa_utils/include/celix_rsa_utils.h index fbc0da162..0246e147a 100644 --- a/bundles/remote_services/rsa_utils/include/celix_rsa_utils.h +++ b/bundles/remote_services/rsa_utils/include/celix_rsa_utils.h @@ -38,7 +38,7 @@ extern "C" { * * @param[in] endpointProperties * @param[out] serviceProperties - * @return CELIX_SUCCESS if successfully, CELIX_ENOMEM if out of memory. + * @return CELIX_SUCCESS if successfully, CELIX_ENOMEM if out of memory, and CELIX_ILLEGAL_ARGUMENT for invalid "service version". */ celix_status_t celix_rsaUtils_createServicePropertiesFromEndpointProperties(const celix_properties_t* endpointProperties,