X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=tst%2Fdatabaseconfigurationimpl_test.cpp;h=008d564dccd5b88bd8aef6f76f1a33912de95096;hb=faf9fc79e58fa4ace9b0ef317b741afb2c1a8abe;hp=3b3083bc15248f1a61e74a7df1eb44faa3202a4e;hpb=a0745d294dcd72f7d78ea4c3accd3b477dd668a5;p=ric-plt%2Fsdl.git diff --git a/tst/databaseconfigurationimpl_test.cpp b/tst/databaseconfigurationimpl_test.cpp index 3b3083b..008d564 100644 --- a/tst/databaseconfigurationimpl_test.cpp +++ b/tst/databaseconfigurationimpl_test.cpp @@ -83,6 +83,20 @@ TEST_F(DatabaseConfigurationImplTest, CanApplyRedisSentinelDbTypeStringAndReturn EXPECT_EQ(DatabaseConfiguration::DbType::REDIS_SENTINEL, retDbType); } +TEST_F(DatabaseConfigurationImplTest, CanApplySdlStandaloneClusterDbTypeStringAndReturnType) +{ + databaseConfigurationImpl->checkAndApplyDbType("sdl-standalone-cluster"); + const auto retDbType(databaseConfigurationImpl->getDbType()); + EXPECT_EQ(DatabaseConfiguration::DbType::SDL_STANDALONE_CLUSTER, retDbType); +} + +TEST_F(DatabaseConfigurationImplTest, CanApplySdlSentinelClusterDbTypeStringAndReturnType) +{ + databaseConfigurationImpl->checkAndApplyDbType("sdl-sentinel-cluster"); + const auto retDbType(databaseConfigurationImpl->getDbType()); + EXPECT_EQ(DatabaseConfiguration::DbType::SDL_SENTINEL_CLUSTER, retDbType); +} + TEST_F(DatabaseConfigurationImplTest, CanApplyNewAddressesOneByOneAndReturnAllAddresses) { databaseConfigurationImpl->checkAndApplyServerAddress("dummydatabaseaddress.local"); @@ -95,6 +109,22 @@ TEST_F(DatabaseConfigurationImplTest, CanApplyNewAddressesOneByOneAndReturnAllAd EXPECT_EQ(65535U, ntohs(retAddresses.at(1).getPort())); } +TEST_F(DatabaseConfigurationImplTest, CanGetAddressesOneByOneWithAddressIndex) +{ + databaseConfigurationImpl->checkAndApplyServerAddress("server0.local"); + databaseConfigurationImpl->checkAndApplyServerAddress("10.20.30.40:65535"); + const auto addresses(databaseConfigurationImpl->getServerAddresses(boost::none)); + const auto addresses0(databaseConfigurationImpl->getServerAddresses(0)); + const auto addresses1(databaseConfigurationImpl->getServerAddresses(1)); + EXPECT_EQ(2U, addresses.size()); + EXPECT_EQ(1U, addresses0.size()); + EXPECT_EQ(1U, addresses1.size()); + EXPECT_EQ("server0.local", addresses0.at(0).getHost()); + EXPECT_EQ(6379U, ntohs(addresses0.at(0).getPort())); + EXPECT_EQ("10.20.30.40", addresses1.at(0).getHost()); + EXPECT_EQ(65535U, ntohs(addresses1.at(0).getPort())); +} + TEST_F(DatabaseConfigurationImplTest, CanThrowIfIllegalDbTypeIsApplied) { EXPECT_THROW(databaseConfigurationImpl->checkAndApplyDbType("bad_db_type"), DatabaseConfiguration::InvalidDbType); @@ -118,14 +148,14 @@ TEST_F(DatabaseConfigurationImplTest, IsEmptyReturnsCorrectInformation) TEST_F(DatabaseConfigurationImplTest, DefaultSentinelAddressIsNone) { - EXPECT_EQ(boost::none, databaseConfigurationImpl->getSentinelAddress()); + EXPECT_EQ(boost::none, databaseConfigurationImpl->getSentinelAddress(boost::none)); } TEST_F(DatabaseConfigurationImplTest, CanApplyAndReturnSentinelAddress) { databaseConfigurationImpl->checkAndApplySentinelAddress("dummydatabaseaddress.local:1234"); - auto address = databaseConfigurationImpl->getSentinelAddress(); - EXPECT_NE(boost::none, databaseConfigurationImpl->getSentinelAddress()); + auto address = databaseConfigurationImpl->getSentinelAddress(boost::none); + EXPECT_NE(boost::none, databaseConfigurationImpl->getSentinelAddress(boost::none)); EXPECT_EQ("dummydatabaseaddress.local", address->getHost()); EXPECT_EQ(1234, ntohs(address->getPort())); } @@ -140,3 +170,32 @@ TEST_F(DatabaseConfigurationImplTest, CanApplyAndReturnSentinelMasterName) databaseConfigurationImpl->checkAndApplySentinelMasterName("mymaster"); EXPECT_EQ("mymaster", databaseConfigurationImpl->getSentinelMasterName()); } + +TEST_F(DatabaseConfigurationImplTest, CanReturnSDLSentinelClusterAddress) +{ + databaseConfigurationImpl->checkAndApplyDbType("sdl-sentinel-cluster"); + databaseConfigurationImpl->checkAndApplyServerAddress("cluster-0.local"); + databaseConfigurationImpl->checkAndApplyServerAddress("cluster-1.local"); + databaseConfigurationImpl->checkAndApplyServerAddress("cluster-2.local"); + databaseConfigurationImpl->checkAndApplySentinelAddress("cluster-0.local:54321"); + auto address0 = databaseConfigurationImpl->getSentinelAddress(0); + auto address1 = databaseConfigurationImpl->getSentinelAddress(1); + auto address2 = databaseConfigurationImpl->getSentinelAddress(2); + EXPECT_NE(boost::none, databaseConfigurationImpl->getSentinelAddress(0)); + EXPECT_NE(boost::none, databaseConfigurationImpl->getSentinelAddress(1)); + EXPECT_NE(boost::none, databaseConfigurationImpl->getSentinelAddress(2)); + EXPECT_EQ("cluster-0.local", address0->getHost()); + EXPECT_EQ("cluster-1.local", address1->getHost()); + EXPECT_EQ("cluster-2.local", address2->getHost()); + EXPECT_EQ(54321, ntohs(address0->getPort())); +} + +TEST_F(DatabaseConfigurationImplTest, CanReturnDefaultPortForSDLClusterAddress) +{ + databaseConfigurationImpl->checkAndApplyServerAddress("cluster-0.local"); + databaseConfigurationImpl->checkAndApplySentinelAddress("cluster-0.local"); + auto address0 = databaseConfigurationImpl->getSentinelAddress(0); + EXPECT_NE(boost::none, databaseConfigurationImpl->getSentinelAddress(0)); + EXPECT_EQ("cluster-0.local", address0->getHost()); + EXPECT_EQ(26379, ntohs(address0->getPort())); +}