Skip to content

Commit 3092bea

Browse files
committed
added a test for multiple services definition
1 parent f394a3a commit 3092bea

File tree

2 files changed

+26
-13
lines changed

2 files changed

+26
-13
lines changed

src/aws-cpp-sdk-core/source/config/AWSConfigFileProfileConfigLoader.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,6 @@ namespace Aws
116116
{}
117117

118118
const Aws::Map<String, Profile>& GetProfiles() const { return m_foundProfiles; }
119-
const Aws::Map<String, Aws::Map<String, String>>& GetServices() const { return m_services; }
120119

121120
void ParseStream(Aws::IStream& stream)
122121
{
@@ -649,7 +648,6 @@ namespace Aws
649648
ConfigFileProfileFSM parser(m_useProfilePrefix);
650649
parser.ParseStream(inputFile);
651650
m_profiles = parser.GetProfiles();
652-
m_services = parser.GetServices();
653651
return m_profiles.size() > 0;
654652
}
655653

tests/aws-cpp-sdk-core-tests/aws/config/ServiceEndpointsConfigFileLoaderTest.cpp

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -245,15 +245,30 @@ TEST_F(ServiceEndpointsConfigFileLoaderTest, TestIgnoreConfiguredEndpointUrls)
245245
ASSERT_STREQ("true", profiles["default"].GetValue("ignore_configured_endpoint_urls").c_str());
246246
ASSERT_STREQ("TRUE", profiles["test"].GetValue("ignore_configured_endpoint_urls").c_str());
247247
ASSERT_STREQ("", profiles["empty"].GetValue("ignore_configured_endpoint_urls").c_str());
248-
249-
// Test absent key returns empty string
250-
TempFile configFile2(std::ios_base::out | std::ios_base::trunc);
251-
configFile2 << "[profile absent]\n";
252-
configFile2 << "region = us-east-1\n";
253-
configFile2.flush();
254-
255-
AWSConfigFileProfileConfigLoader loader2(configFile2.GetFileName(), true);
256-
ASSERT_TRUE(loader2.Load());
257-
auto profiles2 = loader2.GetProfiles();
258-
ASSERT_STREQ("", profiles2["absent"].GetValue("ignore_configured_endpoint_urls").c_str());
248+
}
249+
250+
TEST_F(ServiceEndpointsConfigFileLoaderTest, TestMultipleServicesDefinitions)
251+
{
252+
TempFile configFile(std::ios_base::out | std::ios_base::trunc);
253+
ASSERT_TRUE(configFile.good());
254+
255+
configFile << "[services foo]\n";
256+
configFile << "s3 =\n";
257+
configFile << " endpoint_url = http://foo.com\n";
258+
configFile << "\n[services bar]\n";
259+
configFile << "s3 =\n";
260+
configFile << " endpoint_url = http://bar.com\n";
261+
configFile << "\n[profile dev]\n";
262+
configFile << "services = foo\n";
263+
configFile.flush();
264+
265+
AWSConfigFileProfileConfigLoader loader(configFile.GetFileName(), true);
266+
ASSERT_TRUE(loader.Load());
267+
auto profiles = loader.GetProfiles();
268+
const auto& profile = profiles["dev"];
269+
270+
// Test services name is parsed correctly
271+
auto servicesName = profile.GetServicesName();
272+
ASSERT_TRUE(servicesName.has_value());
273+
ASSERT_STREQ("foo", servicesName->c_str());
259274
}

0 commit comments

Comments
 (0)