Skip to content

Commit bac51d2

Browse files
committed
added a test for multiple services definition
removed unused map
1 parent f394a3a commit bac51d2

File tree

3 files changed

+26
-16
lines changed

3 files changed

+26
-16
lines changed

src/aws-cpp-sdk-core/include/aws/core/config/AWSConfigFileProfileConfigLoader.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
#include <aws/core/config/AWSProfileConfigLoaderBase.h>
99

1010
#include <aws/core/utils/memory/stl/AWSString.h>
11-
#include <aws/core/utils/memory/stl/AWSMap.h>
1211

1312
namespace Aws
1413
{
@@ -47,7 +46,6 @@ namespace Aws
4746
private:
4847
Aws::String m_fileName;
4948
bool m_useProfilePrefix;
50-
Aws::Map<Aws::String, Aws::Map<Aws::String, Aws::String>> m_services;
5149
};
5250
}
5351
}

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

Lines changed: 0 additions & 3 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
{
@@ -641,15 +640,13 @@ namespace Aws
641640
bool AWSConfigFileProfileConfigLoader::LoadInternal()
642641
{
643642
m_profiles.clear();
644-
m_services.clear();
645643

646644
Aws::IFStream inputFile(m_fileName.c_str());
647645
if(inputFile)
648646
{
649647
ConfigFileProfileFSM parser(m_useProfilePrefix);
650648
parser.ParseStream(inputFile);
651649
m_profiles = parser.GetProfiles();
652-
m_services = parser.GetServices();
653650
return m_profiles.size() > 0;
654651
}
655652

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)