Update to use AWSNativeSDK 1.9.50 (#6618)
* Update to use AWSNativeSDK 1.9.50 * After SDK upgrade, some AWS objects are bound to SDK allocator, init AWS SDK for unit test
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
|
||||
#if defined(PLATFORM_SUPPORTS_AWS_NATIVE_SDK)
|
||||
|
||||
#include <AzCore/PlatformDef.h>
|
||||
#include <AzCore/PlatformIncl.h>
|
||||
|
||||
AZ_PUSH_DISABLE_WARNING(4251 4996, "-Wunknown-warning-option")
|
||||
#include <aws/core/utils/logging/LogSystemInterface.h>
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <AzCore/PlatformIncl.h>
|
||||
#if defined(PLATFORM_SUPPORTS_AWS_NATIVE_SDK)
|
||||
#include <aws/core/utils/memory/MemorySystemInterface.h>
|
||||
#else
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
#include <AzCore/Module/Environment.h>
|
||||
|
||||
#if defined(PLATFORM_SUPPORTS_AWS_NATIVE_SDK)
|
||||
|
||||
#include <AzCore/PlatformIncl.h>
|
||||
// The AWS Native SDK AWSAllocator triggers a warning due to accessing members of std::allocator directly.
|
||||
// AWSAllocator.h(70): warning C4996: 'std::allocator<T>::pointer': warning STL4010: Various members of std::allocator are deprecated in C++17.
|
||||
// Use std::allocator_traits instead of accessing these members directly.
|
||||
|
||||
@@ -202,6 +202,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
|
||||
3rdParty::Qt::Gui
|
||||
3rdParty::Qt::Widgets
|
||||
AZ::AzTest
|
||||
AZ::AWSNativeSDKInit
|
||||
Gem::AWSCore.Static
|
||||
Gem::AWSCore.Editor.Static
|
||||
)
|
||||
|
||||
@@ -7,4 +7,4 @@
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#define AWSCORE_BACKWARD_INCOMPATIBLE_CHANGE 0
|
||||
#define AWSCORE_BACKWARD_INCOMPATIBLE_CHANGE 1
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include <AzTest/AzTest.h>
|
||||
|
||||
#include <AWSCoreSystemComponent.h>
|
||||
#include <AWSNativeSDKInit/AWSNativeSDKInit.h>
|
||||
#include <Configuration/AWSCoreConfiguration.h>
|
||||
#include <Credential/AWSCredentialManager.h>
|
||||
#include <Framework/AWSApiJob.h>
|
||||
@@ -103,6 +104,9 @@ public:
|
||||
|
||||
TEST_F(AWSCoreSystemComponentTest, ComponentActivateTest)
|
||||
{
|
||||
// Shutdown SDK which is init in fixture setup step
|
||||
AWSNativeSDKInit::InitializationManager::Shutdown();
|
||||
|
||||
EXPECT_FALSE(m_coreSystemsComponent->IsAWSApiInitialized());
|
||||
|
||||
// activate component
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
|
||||
#include <AzCore/Settings/SettingsRegistry.h>
|
||||
#include <AzFramework/StringFunc/StringFunc.h>
|
||||
#include <AzTest/AzTest.h>
|
||||
|
||||
#include <Configuration/AWSCoreConfiguration.h>
|
||||
#include <TestFramework/AWSCoreFixture.h>
|
||||
@@ -39,12 +38,11 @@ class AWSCoreConfigurationTest
|
||||
: public AWSCoreFixture
|
||||
{
|
||||
public:
|
||||
void CreateTestSetRegFile(const AZStd::string& setregContent)
|
||||
AWSCoreConfigurationTest()
|
||||
{
|
||||
m_normalizedSetRegFilePath = AZStd::string::format("%s/%s",
|
||||
m_normalizedSetRegFolderPath.c_str(), AWSCore::AWSCoreConfiguration::AWSCoreConfigurationFileName);
|
||||
AzFramework::StringFunc::Path::Normalize(m_normalizedSetRegFilePath);
|
||||
CreateTestFile(m_normalizedSetRegFilePath, setregContent);
|
||||
m_setRegFilePath = (GetTestTempDirectoryPath() /
|
||||
AZ::SettingsRegistryInterface::RegistryFolder /
|
||||
AWSCore::AWSCoreConfiguration::AWSCoreConfigurationFileName).LexicallyNormal();
|
||||
}
|
||||
|
||||
void SetUp() override
|
||||
@@ -53,22 +51,13 @@ public:
|
||||
|
||||
m_awsCoreConfiguration = AZStd::make_unique<AWSCore::AWSCoreConfiguration>();
|
||||
|
||||
m_normalizedSourceProjectFolder = AZStd::string::format("%s/%s%s/", AZ::Test::GetCurrentExecutablePath().c_str(),
|
||||
"AWSResourceMappingManager", AZ::Uuid::CreateRandom().ToString<AZStd::string>(false, false).c_str());
|
||||
AzFramework::StringFunc::Path::Normalize(m_normalizedSourceProjectFolder);
|
||||
m_normalizedSetRegFolderPath = AZStd::string::format("%s/%s/",
|
||||
m_normalizedSourceProjectFolder.c_str(), AZ::SettingsRegistryInterface::RegistryFolder);
|
||||
AzFramework::StringFunc::Path::Normalize(m_normalizedSetRegFolderPath);
|
||||
|
||||
m_localFileIO->SetAlias("@projectroot@", m_normalizedSourceProjectFolder.c_str());
|
||||
|
||||
CreateTestSetRegFile(TEST_VALID_RESOURCE_MAPPING_SETREG);
|
||||
CreateFile(m_setRegFilePath.Native(), TEST_VALID_RESOURCE_MAPPING_SETREG);
|
||||
m_localFileIO->SetAlias("@projectroot@", GetTestTempDirectoryPath().Native().c_str());
|
||||
}
|
||||
|
||||
void TearDown() override
|
||||
{
|
||||
RemoveTestFile();
|
||||
RemoveTestDirectory();
|
||||
RemoveFile(m_setRegFilePath.Native());
|
||||
|
||||
m_awsCoreConfiguration.reset();
|
||||
|
||||
@@ -76,52 +65,12 @@ public:
|
||||
}
|
||||
|
||||
AZStd::unique_ptr<AWSCore::AWSCoreConfiguration> m_awsCoreConfiguration;
|
||||
AZStd::string m_normalizedSetRegFilePath;
|
||||
|
||||
private:
|
||||
AZStd::string m_normalizedSourceProjectFolder;
|
||||
AZStd::string m_normalizedSetRegFolderPath;
|
||||
|
||||
void CreateTestFile(const AZStd::string& filePath, const AZStd::string& fileContent)
|
||||
{
|
||||
AZ::IO::SystemFile file;
|
||||
if (!file.Open(filePath.c_str(),
|
||||
AZ::IO::SystemFile::OpenMode::SF_OPEN_CREATE | AZ::IO::SystemFile::SF_OPEN_CREATE_PATH | AZ::IO::SystemFile::SF_OPEN_WRITE_ONLY))
|
||||
{
|
||||
AZ_Assert(false, "Failed to open test file");
|
||||
}
|
||||
|
||||
if (file.Write(fileContent.c_str(), fileContent.size()) != fileContent.size())
|
||||
{
|
||||
AZ_Assert(false, "Failed to write test file");
|
||||
}
|
||||
file.Close();
|
||||
}
|
||||
|
||||
void RemoveTestFile()
|
||||
{
|
||||
if (!m_normalizedSetRegFilePath.empty())
|
||||
{
|
||||
AZ_Assert(AZ::IO::SystemFile::Delete(m_normalizedSetRegFilePath.c_str()),
|
||||
"Failed to delete test settings registry file at %s", m_normalizedSetRegFilePath.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
void RemoveTestDirectory()
|
||||
{
|
||||
if (!m_normalizedSetRegFilePath.empty())
|
||||
{
|
||||
AZ_Assert(AZ::IO::SystemFile::DeleteDir(m_normalizedSetRegFolderPath.c_str()),
|
||||
"Failed to delete test settings registry folder at %s", m_normalizedSetRegFolderPath.c_str());
|
||||
AZ_Assert(AZ::IO::SystemFile::DeleteDir(m_normalizedSourceProjectFolder.c_str()),
|
||||
"Failed to delete test folder at %s", m_normalizedSourceProjectFolder.c_str());
|
||||
}
|
||||
}
|
||||
AZ::IO::Path m_setRegFilePath;
|
||||
};
|
||||
|
||||
TEST_F(AWSCoreConfigurationTest, InitConfig_NoSourceProjectFolderFound_ReturnEmptyConfigFilePath)
|
||||
{
|
||||
m_settingsRegistry->MergeSettingsFile(m_normalizedSetRegFilePath, AZ::SettingsRegistryInterface::Format::JsonMergePatch, {});
|
||||
m_settingsRegistry->MergeSettingsFile(m_setRegFilePath.Native(), AZ::SettingsRegistryInterface::Format::JsonMergePatch, {});
|
||||
m_localFileIO->ClearAlias("@projectroot@");
|
||||
|
||||
AZ_TEST_START_TRACE_SUPPRESSION;
|
||||
@@ -134,8 +83,8 @@ TEST_F(AWSCoreConfigurationTest, InitConfig_NoSourceProjectFolderFound_ReturnEmp
|
||||
|
||||
TEST_F(AWSCoreConfigurationTest, InitConfig_SettingsRegistryIsEmpty_ReturnEmptyConfigFilePath)
|
||||
{
|
||||
CreateTestSetRegFile(TEST_INVALID_RESOURCE_MAPPING_SETREG);
|
||||
m_settingsRegistry->MergeSettingsFile(m_normalizedSetRegFilePath, AZ::SettingsRegistryInterface::Format::JsonMergePatch, {});
|
||||
CreateFile(m_setRegFilePath.Native(), TEST_INVALID_RESOURCE_MAPPING_SETREG);
|
||||
m_settingsRegistry->MergeSettingsFile(m_setRegFilePath.Native(), AZ::SettingsRegistryInterface::Format::JsonMergePatch, {});
|
||||
m_awsCoreConfiguration->InitConfig();
|
||||
|
||||
auto actualConfigFilePath = m_awsCoreConfiguration->GetResourceMappingConfigFilePath();
|
||||
@@ -144,7 +93,7 @@ TEST_F(AWSCoreConfigurationTest, InitConfig_SettingsRegistryIsEmpty_ReturnEmptyC
|
||||
|
||||
TEST_F(AWSCoreConfigurationTest, InitConfig_LoadValidSettingsRegistry_ReturnNonEmptyConfigFilePath)
|
||||
{
|
||||
m_settingsRegistry->MergeSettingsFile(m_normalizedSetRegFilePath, AZ::SettingsRegistryInterface::Format::JsonMergePatch, {});
|
||||
m_settingsRegistry->MergeSettingsFile(m_setRegFilePath.Native(), AZ::SettingsRegistryInterface::Format::JsonMergePatch, {});
|
||||
m_awsCoreConfiguration->InitConfig();
|
||||
|
||||
auto actualConfigFilePath = m_awsCoreConfiguration->GetResourceMappingConfigFilePath();
|
||||
@@ -153,7 +102,7 @@ TEST_F(AWSCoreConfigurationTest, InitConfig_LoadValidSettingsRegistry_ReturnNonE
|
||||
|
||||
TEST_F(AWSCoreConfigurationTest, ReloadConfiguration_NoSourceProjectFolderFound_ReturnEmptyConfigFilePath)
|
||||
{
|
||||
m_settingsRegistry->MergeSettingsFile(m_normalizedSetRegFilePath, AZ::SettingsRegistryInterface::Format::JsonMergePatch, {});
|
||||
m_settingsRegistry->MergeSettingsFile(m_setRegFilePath.Native(), AZ::SettingsRegistryInterface::Format::JsonMergePatch, {});
|
||||
m_localFileIO->ClearAlias("@projectroot@");
|
||||
m_awsCoreConfiguration->ReloadConfiguration();
|
||||
|
||||
@@ -163,8 +112,8 @@ TEST_F(AWSCoreConfigurationTest, ReloadConfiguration_NoSourceProjectFolderFound_
|
||||
|
||||
TEST_F(AWSCoreConfigurationTest, ReloadConfiguration_LoadValidSettingsRegistryAfterInvalidOne_ReturnNonEmptyConfigFilePath)
|
||||
{
|
||||
CreateTestSetRegFile(TEST_INVALID_RESOURCE_MAPPING_SETREG);
|
||||
m_settingsRegistry->MergeSettingsFile(m_normalizedSetRegFilePath, AZ::SettingsRegistryInterface::Format::JsonMergePatch, {});
|
||||
CreateFile(m_setRegFilePath.Native(), TEST_INVALID_RESOURCE_MAPPING_SETREG);
|
||||
m_settingsRegistry->MergeSettingsFile(m_setRegFilePath.Native(), AZ::SettingsRegistryInterface::Format::JsonMergePatch, {});
|
||||
m_awsCoreConfiguration->InitConfig();
|
||||
|
||||
auto actualConfigFilePath = m_awsCoreConfiguration->GetResourceMappingConfigFilePath();
|
||||
@@ -172,7 +121,7 @@ TEST_F(AWSCoreConfigurationTest, ReloadConfiguration_LoadValidSettingsRegistryAf
|
||||
EXPECT_TRUE(actualConfigFilePath.empty());
|
||||
EXPECT_TRUE(actualProfileName == AWSCoreConfiguration::AWSCoreDefaultProfileName);
|
||||
|
||||
CreateTestSetRegFile(TEST_VALID_RESOURCE_MAPPING_SETREG);
|
||||
CreateFile(m_setRegFilePath.Native(), TEST_VALID_RESOURCE_MAPPING_SETREG);
|
||||
m_awsCoreConfiguration->ReloadConfiguration();
|
||||
|
||||
actualConfigFilePath = m_awsCoreConfiguration->GetResourceMappingConfigFilePath();
|
||||
@@ -183,7 +132,7 @@ TEST_F(AWSCoreConfigurationTest, ReloadConfiguration_LoadValidSettingsRegistryAf
|
||||
|
||||
TEST_F(AWSCoreConfigurationTest, ReloadConfiguration_LoadInvalidSettingsRegistryAfterValidOne_ReturnEmptyConfigFilePath)
|
||||
{
|
||||
m_settingsRegistry->MergeSettingsFile(m_normalizedSetRegFilePath, AZ::SettingsRegistryInterface::Format::JsonMergePatch, {});
|
||||
m_settingsRegistry->MergeSettingsFile(m_setRegFilePath.Native(), AZ::SettingsRegistryInterface::Format::JsonMergePatch, {});
|
||||
m_awsCoreConfiguration->InitConfig();
|
||||
|
||||
auto actualConfigFilePath = m_awsCoreConfiguration->GetResourceMappingConfigFilePath();
|
||||
@@ -191,7 +140,7 @@ TEST_F(AWSCoreConfigurationTest, ReloadConfiguration_LoadInvalidSettingsRegistry
|
||||
EXPECT_FALSE(actualConfigFilePath.empty());
|
||||
EXPECT_TRUE(actualProfileName != AWSCoreConfiguration::AWSCoreDefaultProfileName);
|
||||
|
||||
CreateTestSetRegFile(TEST_INVALID_RESOURCE_MAPPING_SETREG);
|
||||
CreateFile(m_setRegFilePath.Native(), TEST_INVALID_RESOURCE_MAPPING_SETREG);
|
||||
m_awsCoreConfiguration->ReloadConfiguration();
|
||||
|
||||
actualConfigFilePath = m_awsCoreConfiguration->GetResourceMappingConfigFilePath();
|
||||
|
||||
@@ -25,6 +25,11 @@ public:
|
||||
m_credentialHandler = AZStd::make_unique<AWSCVarCredentialHandler>();
|
||||
}
|
||||
|
||||
void TearDown() override
|
||||
{
|
||||
m_credentialHandler.reset();
|
||||
}
|
||||
|
||||
AZStd::unique_ptr<AWSCVarCredentialHandler> m_credentialHandler;
|
||||
};
|
||||
|
||||
|
||||
@@ -6,8 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <AzTest/AzTest.h>
|
||||
|
||||
#include <aws/core/auth/AWSCredentialsProvider.h>
|
||||
|
||||
#include <Credential/AWSCredentialBus.h>
|
||||
@@ -19,14 +17,10 @@ class TestCredentialHandlerOne
|
||||
: AWSCredentialRequestBus::Handler
|
||||
{
|
||||
public:
|
||||
TestCredentialHandlerOne()
|
||||
void ActivateHandler()
|
||||
{
|
||||
m_handlerCounter = 0;
|
||||
m_credentialsProvider = std::make_shared<Aws::Auth::AnonymousAWSCredentialsProvider>();
|
||||
}
|
||||
|
||||
void ActivateHandler()
|
||||
{
|
||||
AWSCredentialRequestBus::Handler::BusConnect();
|
||||
}
|
||||
|
||||
@@ -55,14 +49,10 @@ class TestCredentialHandlerTwo
|
||||
: AWSCredentialRequestBus::Handler
|
||||
{
|
||||
public:
|
||||
TestCredentialHandlerTwo()
|
||||
void ActivateHandler()
|
||||
{
|
||||
m_handlerCounter = 0;
|
||||
m_credentialsProvider = std::make_shared<Aws::Auth::AnonymousAWSCredentialsProvider>();
|
||||
}
|
||||
|
||||
void ActivateHandler()
|
||||
{
|
||||
AWSCredentialRequestBus::Handler::BusConnect();
|
||||
}
|
||||
|
||||
@@ -88,7 +78,7 @@ public:
|
||||
};
|
||||
|
||||
class AWSCredentialBusTest
|
||||
: public UnitTest::ScopedAllocatorSetupFixture
|
||||
: public AWSCoreFixture
|
||||
{
|
||||
public:
|
||||
AWSCredentialBusTest()
|
||||
@@ -99,6 +89,8 @@ public:
|
||||
|
||||
void SetUp() override
|
||||
{
|
||||
AWSCoreFixture::SetUpFixture();
|
||||
|
||||
m_handlerOne->ActivateHandler();
|
||||
m_handlerTwo->ActivateHandler();
|
||||
}
|
||||
@@ -107,6 +99,8 @@ public:
|
||||
{
|
||||
m_handlerOne->DeactivateHandler();
|
||||
m_handlerTwo->DeactivateHandler();
|
||||
|
||||
AWSCoreFixture::TearDownFixture();
|
||||
}
|
||||
|
||||
AZStd::unique_ptr<TestCredentialHandlerOne> m_handlerOne;
|
||||
|
||||
@@ -6,11 +6,9 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <AzCore/UnitTest/TestTypes.h>
|
||||
#include <AzTest/AzTest.h>
|
||||
|
||||
#include <AWSCoreInternalBus.h>
|
||||
#include <Credential/AWSDefaultCredentialHandler.h>
|
||||
#include <TestFramework/AWSCoreFixture.h>
|
||||
|
||||
using namespace AWSCore;
|
||||
|
||||
@@ -18,13 +16,15 @@ static constexpr char AWSDEFAULTCREDENTIALHANDLERTEST_ALLOC_TAG[] = "AWSDefaultC
|
||||
static constexpr const char* AWS_ACCESS_KEY = "AWSACCESSKEY";
|
||||
static constexpr const char* AWS_SECRET_KEY = "AWSSECRETKEY";
|
||||
|
||||
class EnvironmentAWSCredentialsProviderMock : public Aws::Auth::EnvironmentAWSCredentialsProvider
|
||||
class EnvironmentAWSCredentialsProviderMock
|
||||
: public Aws::Auth::EnvironmentAWSCredentialsProvider
|
||||
{
|
||||
public:
|
||||
MOCK_METHOD0(GetAWSCredentials, Aws::Auth::AWSCredentials());
|
||||
};
|
||||
|
||||
class ProfileConfigFileAWSCredentialsProviderMock : public Aws::Auth::ProfileConfigFileAWSCredentialsProvider
|
||||
class ProfileConfigFileAWSCredentialsProviderMock
|
||||
: public Aws::Auth::ProfileConfigFileAWSCredentialsProvider
|
||||
{
|
||||
public:
|
||||
MOCK_METHOD0(GetAWSCredentials, Aws::Auth::AWSCredentials());
|
||||
@@ -44,7 +44,7 @@ public:
|
||||
};
|
||||
|
||||
class AWSDefaultCredentialHandlerTest
|
||||
: public UnitTest::ScopedAllocatorSetupFixture
|
||||
: public AWSCoreFixture
|
||||
, public AWSCoreInternalRequestBus::Handler
|
||||
{
|
||||
public:
|
||||
@@ -53,6 +53,8 @@ public:
|
||||
|
||||
void SetUp() override
|
||||
{
|
||||
AWSCoreFixture::SetUpFixture();
|
||||
|
||||
AWSCoreInternalRequestBus::Handler::BusConnect();
|
||||
m_environmentCredentialsProviderMock = Aws::MakeShared<EnvironmentAWSCredentialsProviderMock>(AWSDEFAULTCREDENTIALHANDLERTEST_ALLOC_TAG);
|
||||
m_profileCredentialsProviderMock = Aws::MakeShared<ProfileConfigFileAWSCredentialsProviderMock>(AWSDEFAULTCREDENTIALHANDLERTEST_ALLOC_TAG);
|
||||
@@ -68,6 +70,8 @@ public:
|
||||
m_profileCredentialsProviderMock.reset();
|
||||
m_environmentCredentialsProviderMock.reset();
|
||||
AWSCoreInternalRequestBus::Handler::BusDisconnect();
|
||||
|
||||
AWSCoreFixture::TearDownFixture();
|
||||
}
|
||||
|
||||
// AWSCoreInternalRequestBus interface implementation
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#include <Editor/Attribution/AWSAttributionServiceApi.h>
|
||||
#include <Framework/JsonObjectHandler.h>
|
||||
|
||||
#include <AzCore/UnitTest/TestTypes.h>
|
||||
#include <TestFramework/AWSCoreFixture.h>
|
||||
|
||||
using namespace AWSCore;
|
||||
|
||||
@@ -36,7 +36,7 @@ namespace AWSCoreUnitTest
|
||||
};
|
||||
|
||||
class AWSAttributionServiceApiTest
|
||||
: public UnitTest::ScopedAllocatorSetupFixture
|
||||
: public AWSCoreFixture
|
||||
{
|
||||
public:
|
||||
testing::NiceMock<JsonReaderMock> JsonReader;
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
#include <Editor/Attribution/AWSCoreAttributionMetric.h>
|
||||
#include <Credential/AWSCredentialBus.h>
|
||||
|
||||
#include <AzFramework/IO/LocalFileIO.h>
|
||||
#include <AzCore/std/smart_ptr/unique_ptr.h>
|
||||
#include <AzCore/std/smart_ptr/make_shared.h>
|
||||
#include <AzCore/base.h>
|
||||
@@ -23,7 +22,6 @@
|
||||
#include <AzCore/Jobs/JobManagerBus.h>
|
||||
#include <AzCore/Jobs/JobContext.h>
|
||||
#include <AzCore/Utils/Utils.h>
|
||||
#include <AzCore/UnitTest/TestTypes.h>
|
||||
#include <AzCore/Component/Entity.h>
|
||||
#include <AzCore/Module/ModuleManagerBus.h>
|
||||
#include <AzCore/PlatformId/PlatformId.h>
|
||||
@@ -167,7 +165,6 @@ namespace AWSAttributionUnitTest
|
||||
AZStd::unique_ptr<AZ::JobManager> m_jobManager;
|
||||
AZStd::array<char, AZ::IO::MaxPathLength> m_resolvedSettingsPath;
|
||||
ModuleManagerRequestBusMock m_moduleManagerRequestBusMock;
|
||||
AWSCredentialRquestsBusMock m_credentialRequestBusMock;
|
||||
|
||||
void SetUp() override
|
||||
{
|
||||
@@ -221,6 +218,7 @@ namespace AWSAttributionUnitTest
|
||||
TEST_F(AttributionManagerTest, MetricsSettings_ConsentShown_AttributionDisabled_SkipsSend)
|
||||
{
|
||||
// GIVEN
|
||||
AWSCredentialRquestsBusMock credentialRequestBusMock;
|
||||
AWSAttributionManagerMock manager;
|
||||
|
||||
CreateFile(m_resolvedSettingsPath.data(), R"({
|
||||
@@ -239,7 +237,7 @@ namespace AWSAttributionUnitTest
|
||||
|
||||
EXPECT_CALL(manager, SubmitMetric(testing::_)).Times(0);
|
||||
EXPECT_CALL(m_moduleManagerRequestBusMock, EnumerateModules(testing::_)).Times(0);
|
||||
EXPECT_CALL(m_credentialRequestBusMock, GetCredentialsProvider()).Times(1);
|
||||
EXPECT_CALL(credentialRequestBusMock, GetCredentialsProvider()).Times(1);
|
||||
|
||||
// WHEN
|
||||
manager.MetricCheck();
|
||||
@@ -255,6 +253,7 @@ namespace AWSAttributionUnitTest
|
||||
TEST_F(AttributionManagerTest, AttributionEnabled_ContentShown_NoPreviousTimeStamp_SendSuccess)
|
||||
{
|
||||
// GIVEN
|
||||
AWSCredentialRquestsBusMock credentialRequestBusMock;
|
||||
AWSAttributionManagerMock manager;
|
||||
|
||||
CreateFile(m_resolvedSettingsPath.data(), R"({
|
||||
@@ -272,7 +271,7 @@ namespace AWSAttributionUnitTest
|
||||
|
||||
EXPECT_CALL(manager, SubmitMetric(testing::_)).Times(1);
|
||||
EXPECT_CALL(m_moduleManagerRequestBusMock, EnumerateModules(testing::_)).Times(1);
|
||||
EXPECT_CALL(m_credentialRequestBusMock, GetCredentialsProvider()).Times(1);
|
||||
EXPECT_CALL(credentialRequestBusMock, GetCredentialsProvider()).Times(1);
|
||||
|
||||
// WHEN
|
||||
manager.MetricCheck();
|
||||
@@ -289,6 +288,7 @@ namespace AWSAttributionUnitTest
|
||||
TEST_F(AttributionManagerTest, AttributionEnabled_ContentShown_ValidPreviousTimeStamp_SendSuccess)
|
||||
{
|
||||
// GIVEN
|
||||
AWSCredentialRquestsBusMock credentialRequestBusMock;
|
||||
AWSAttributionManagerMock manager;
|
||||
|
||||
CreateFile(m_resolvedSettingsPath.data(), R"({
|
||||
@@ -308,7 +308,7 @@ namespace AWSAttributionUnitTest
|
||||
|
||||
EXPECT_CALL(manager, SubmitMetric(testing::_)).Times(1);
|
||||
EXPECT_CALL(m_moduleManagerRequestBusMock, EnumerateModules(testing::_)).Times(1);
|
||||
EXPECT_CALL(m_credentialRequestBusMock, GetCredentialsProvider()).Times(1);
|
||||
EXPECT_CALL(credentialRequestBusMock, GetCredentialsProvider()).Times(1);
|
||||
|
||||
// WHEN
|
||||
manager.MetricCheck();
|
||||
@@ -324,6 +324,7 @@ namespace AWSAttributionUnitTest
|
||||
TEST_F(AttributionManagerTest, AttributionEnabled_ContentShown_DelayNotSatisfied_SendFail)
|
||||
{
|
||||
// GIVEN
|
||||
AWSCredentialRquestsBusMock credentialRequestBusMock;
|
||||
AWSAttributionManagerMock manager;
|
||||
|
||||
CreateFile(m_resolvedSettingsPath.data(), R"({
|
||||
@@ -346,7 +347,7 @@ namespace AWSAttributionUnitTest
|
||||
|
||||
EXPECT_CALL(manager, SubmitMetric(testing::_)).Times(0);
|
||||
EXPECT_CALL(m_moduleManagerRequestBusMock, EnumerateModules(testing::_)).Times(0);
|
||||
EXPECT_CALL(m_credentialRequestBusMock, GetCredentialsProvider()).Times(1);
|
||||
EXPECT_CALL(credentialRequestBusMock, GetCredentialsProvider()).Times(1);
|
||||
|
||||
// WHEN
|
||||
manager.MetricCheck();
|
||||
@@ -362,6 +363,7 @@ namespace AWSAttributionUnitTest
|
||||
TEST_F(AttributionManagerTest, AttributionEnabledNotFound_ContentShown_SendFail)
|
||||
{
|
||||
// GIVEN
|
||||
AWSCredentialRquestsBusMock credentialRequestBusMock;
|
||||
AWSAttributionManagerMock manager;
|
||||
|
||||
CreateFile(m_resolvedSettingsPath.data(), R"({
|
||||
@@ -378,7 +380,7 @@ namespace AWSAttributionUnitTest
|
||||
|
||||
EXPECT_CALL(manager, SubmitMetric(testing::_)).Times(0);
|
||||
EXPECT_CALL(m_moduleManagerRequestBusMock, EnumerateModules(testing::_)).Times(0);
|
||||
EXPECT_CALL(m_credentialRequestBusMock, GetCredentialsProvider()).Times(1);
|
||||
EXPECT_CALL(credentialRequestBusMock, GetCredentialsProvider()).Times(1);
|
||||
|
||||
// WHEN
|
||||
manager.MetricCheck();
|
||||
@@ -394,12 +396,13 @@ namespace AWSAttributionUnitTest
|
||||
TEST_F(AttributionManagerTest, AttributionEnabledNotFound_ContentNotShown_SendFail)
|
||||
{
|
||||
// GIVEN
|
||||
AWSCredentialRquestsBusMock credentialRequestBusMock;
|
||||
AWSAttributionManagerMock manager;
|
||||
manager.Init();
|
||||
|
||||
EXPECT_CALL(manager, SubmitMetric(testing::_)).Times(0);
|
||||
EXPECT_CALL(m_moduleManagerRequestBusMock, EnumerateModules(testing::_)).Times(0);
|
||||
EXPECT_CALL(m_credentialRequestBusMock, GetCredentialsProvider()).Times(1);
|
||||
EXPECT_CALL(credentialRequestBusMock, GetCredentialsProvider()).Times(1);
|
||||
EXPECT_CALL(manager, ShowConsentDialog()).Times(1);
|
||||
|
||||
// WHEN
|
||||
|
||||
@@ -6,9 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <AzTest/AzTest.h>
|
||||
|
||||
#include <AWSNativeSDKInit/AWSNativeSDKInit.h>
|
||||
#include <aws/core/auth/AWSCredentialsProvider.h>
|
||||
#include <aws/s3/S3Client.h>
|
||||
|
||||
@@ -19,7 +16,7 @@
|
||||
using namespace AWSCore;
|
||||
|
||||
class AWSApiClientJobConfigTest
|
||||
: public UnitTest::ScopedAllocatorSetupFixture
|
||||
: public AWSCoreFixture
|
||||
, public AWSCredentialRequestBus::Handler
|
||||
{
|
||||
public:
|
||||
@@ -30,13 +27,9 @@ public:
|
||||
|
||||
void SetUp() override
|
||||
{
|
||||
AWSNativeSDKInit::InitializationManager::InitAwsApi();
|
||||
m_credentialHandlerCounter = 0;
|
||||
}
|
||||
AWSCoreFixture::SetUpFixture();
|
||||
|
||||
void TearDown() override
|
||||
{
|
||||
AWSNativeSDKInit::InitializationManager::Shutdown();
|
||||
m_credentialHandlerCounter = 0;
|
||||
}
|
||||
|
||||
// AWSCredentialRequestBus interface implementation
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
|
||||
#include <AzCore/Jobs/JobManager.h>
|
||||
#include <AzCore/Jobs/JobContext.h>
|
||||
#include <AzTest/AzTest.h>
|
||||
|
||||
#include <aws/core/auth/AWSCredentialsProvider.h>
|
||||
|
||||
@@ -20,14 +19,14 @@
|
||||
using namespace AWSCore;
|
||||
|
||||
class AwsApiJobConfigTest
|
||||
: public UnitTest::ScopedAllocatorSetupFixture
|
||||
: public AWSCoreFixture
|
||||
, AWSCredentialRequestBus::Handler
|
||||
, AWSCoreRequestBus::Handler
|
||||
{
|
||||
public:
|
||||
void SetUp() override
|
||||
{
|
||||
AZ::AllocatorInstance<AZ::ThreadPoolAllocator>::Create();
|
||||
AWSCoreFixture::SetUpFixture();
|
||||
|
||||
m_credentialsHandler = std::make_shared<Aws::Auth::AnonymousAWSCredentialsProvider>();
|
||||
AZ::JobManagerDesc jobDesc;
|
||||
@@ -45,7 +44,7 @@ public:
|
||||
m_jobManager.reset();
|
||||
m_credentialsHandler.reset();
|
||||
|
||||
AZ::AllocatorInstance<AZ::ThreadPoolAllocator>::Destroy();
|
||||
AWSCoreFixture::TearDownFixture();
|
||||
}
|
||||
|
||||
// AWSCredentialRequestBus interface implementation
|
||||
|
||||
@@ -6,24 +6,24 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <AzTest/AzTest.h>
|
||||
|
||||
#include <Framework/HttpRequestJob.h>
|
||||
#include <TestFramework/AWSCoreFixture.h>
|
||||
|
||||
using namespace AWSCore;
|
||||
|
||||
class HttpRequestJobTest
|
||||
: public UnitTest::ScopedAllocatorSetupFixture
|
||||
: public AWSCoreFixture
|
||||
{
|
||||
void SetUp() override
|
||||
{
|
||||
AWSCoreFixture::SetUpFixture();
|
||||
HttpRequestJob::StaticInit();
|
||||
}
|
||||
|
||||
void TearDown() override
|
||||
{
|
||||
HttpRequestJob::StaticShutdown();
|
||||
AWSCoreFixture::TearDownFixture();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -6,8 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <AzTest/AzTest.h>
|
||||
|
||||
#include <aws/core/utils/memory/stl/AWSStringStream.h>
|
||||
|
||||
#include <TestFramework/AWSCoreFixture.h>
|
||||
@@ -18,7 +16,7 @@ using OBJECT_TYPE = TestObject<AZStd::string>;
|
||||
using ARRAY_TYPE = AZStd::vector<AZStd::string>;
|
||||
using ARRAY_OF_ARRAY_TYPE = AZStd::vector<AZStd::vector<AZStd::string>>;
|
||||
using ARRAY_OF_OBJECT_TYPE = AZStd::vector<TestObject<AZStd::string>>;
|
||||
using JsonReaderTest = UnitTest::ScopedAllocatorSetupFixture;
|
||||
using JsonReaderTest = AWSCoreFixture;
|
||||
|
||||
template<class ValueType>
|
||||
void TestJsonReaderSuccess(const ValueType& expectedValue, const char* valueString)
|
||||
|
||||
@@ -6,8 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <AzTest/AzTest.h>
|
||||
|
||||
#include <aws/core/utils/memory/stl/AWSString.h>
|
||||
#include <aws/core/utils/memory/stl/AWSStringStream.h>
|
||||
|
||||
@@ -17,7 +15,7 @@ using namespace AWSCoreTestingUtils;
|
||||
|
||||
using OBJECT_TYPE = TestObject<AZStd::string>;
|
||||
using ARRAY_TYPE = AZStd::vector<AZStd::string>;
|
||||
using JsonWriterTest = UnitTest::ScopedAllocatorSetupFixture;
|
||||
using JsonWriterTest = AWSCoreFixture;
|
||||
|
||||
template<class ValueType>
|
||||
void TestJsonWriterSuccess(const ValueType& actualValue, const char* valueString)
|
||||
|
||||
@@ -6,15 +6,13 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <AzTest/AzTest.h>
|
||||
|
||||
#include <Framework/RequestBuilder.h>
|
||||
#include <TestFramework/AWSCoreFixture.h>
|
||||
|
||||
using namespace AWSCore;
|
||||
using namespace AWSCoreTestingUtils;
|
||||
|
||||
using RequestBuilderTest = UnitTest::ScopedAllocatorSetupFixture;
|
||||
using RequestBuilderTest = AWSCoreFixture;
|
||||
|
||||
TEST_F(RequestBuilderTest, WriteJsonBodyParameter_UseTestJsonBody_GetExpectedValue)
|
||||
{
|
||||
|
||||
@@ -6,8 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <AzTest/AzTest.h>
|
||||
|
||||
#include <AWSCoreBus.h>
|
||||
#include <Framework/ServiceClientJobConfig.h>
|
||||
#include <ResourceMapping/AWSResourceMappingBus.h>
|
||||
@@ -19,17 +17,21 @@ static constexpr const char TEST_EXPECTED_FEATURE_SERVICE_URL[] = "https://featu
|
||||
static constexpr const char TEST_EXPECTED_CUSTOM_SERVICE_URL[] = "https://custom.service.com";
|
||||
|
||||
class ServiceClientJobConfigTest
|
||||
: public UnitTest::ScopedAllocatorSetupFixture
|
||||
: public AWSCoreFixture
|
||||
, AWSResourceMappingRequestBus::Handler
|
||||
{
|
||||
void SetUp() override
|
||||
{
|
||||
AWSCoreFixture::SetUpFixture();
|
||||
|
||||
AWSResourceMappingRequestBus::Handler::BusConnect();
|
||||
}
|
||||
|
||||
void TearDown() override
|
||||
{
|
||||
AWSResourceMappingRequestBus::Handler::BusDisconnect();
|
||||
|
||||
AWSCoreFixture::TearDownFixture();
|
||||
}
|
||||
|
||||
// AWSResourceMappingRequestBus interface implementation
|
||||
|
||||
@@ -6,12 +6,10 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <AzTest/AzTest.h>
|
||||
|
||||
#include <Framework/ServiceJobUtil.h>
|
||||
#include <TestFramework/AWSCoreFixture.h>
|
||||
|
||||
using ServiceJobUtilTest = UnitTest::ScopedAllocatorSetupFixture;
|
||||
using ServiceJobUtilTest = AWSCoreFixture;
|
||||
|
||||
TEST_F(ServiceJobUtilTest, DetermineRegionFromRequestUrl_DefaultUrlFormat_Success)
|
||||
{
|
||||
|
||||
@@ -6,15 +6,13 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <AzTest/AzTest.h>
|
||||
|
||||
#include <AWSCoreBus.h>
|
||||
#include <Framework/ServiceRequestJob.h>
|
||||
#include <TestFramework/AWSCoreFixture.h>
|
||||
|
||||
using namespace AWSCore;
|
||||
|
||||
using ServiceRequestJobTest = UnitTest::ScopedAllocatorSetupFixture;
|
||||
using ServiceRequestJobTest = AWSCoreFixture;
|
||||
|
||||
#define TEST_SERVICE_REQUEST(SERVICE_NAME, METHOD, PATH) \
|
||||
static const char* Path() { return PATH; } \
|
||||
|
||||
@@ -6,14 +6,12 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <AzTest/AzTest.h>
|
||||
|
||||
#include <Framework/Util.h>
|
||||
#include <TestFramework/AWSCoreFixture.h>
|
||||
|
||||
using namespace AWSCoreTestingUtils;
|
||||
|
||||
using FrameworkUtilTest = UnitTest::ScopedAllocatorSetupFixture;
|
||||
using FrameworkUtilTest = AWSCoreFixture;
|
||||
|
||||
TEST_F(FrameworkUtilTest, ToAwsString_UseAzString_GetExpectedAwsString)
|
||||
{
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
|
||||
#include <AzCore/Settings/SettingsRegistry.h>
|
||||
#include <AzFramework/StringFunc/StringFunc.h>
|
||||
#include <AzTest/AzTest.h>
|
||||
|
||||
#include <Configuration/AWSCoreConfiguration.h>
|
||||
#include <ResourceMapping/AWSResourceMappingConstants.h>
|
||||
@@ -112,31 +111,21 @@ public:
|
||||
m_resourceMappingManager = AZStd::make_unique<AWSCore::AWSResourceMappingManager>();
|
||||
}
|
||||
|
||||
void CreateTestConfigFile(const AZStd::string& configContent)
|
||||
{
|
||||
m_normalizedConfigFilePath = AZStd::string::format("%s/%s", m_normalizedConfigFolderPath.c_str(), "test_aws_resource_mappings.json");
|
||||
AzFramework::StringFunc::Path::Normalize(m_normalizedConfigFilePath);
|
||||
CreateTestFile(m_normalizedConfigFilePath, configContent);
|
||||
}
|
||||
|
||||
void SetUp() override
|
||||
{
|
||||
AWSCoreFixture::SetUpFixture(false);
|
||||
|
||||
m_normalizedSourceProjectFolder = AZStd::string::format("%s/%s%s/", AZ::Test::GetCurrentExecutablePath().c_str(),
|
||||
"AWSResourceMappingManager", AZ::Uuid::CreateRandom().ToString<AZStd::string>(false, false).c_str());
|
||||
AzFramework::StringFunc::Path::Normalize(m_normalizedSourceProjectFolder);
|
||||
m_normalizedConfigFolderPath = AZStd::string::format("%s/%s/",
|
||||
m_normalizedSourceProjectFolder.c_str(), AWSCore::AWSCoreConfiguration::AWSCoreResourceMappingConfigFolderName);
|
||||
AzFramework::StringFunc::Path::Normalize(m_normalizedConfigFolderPath);
|
||||
m_configFilePath = (GetTestTempDirectoryPath() /
|
||||
AWSCore::AWSCoreConfiguration::AWSCoreResourceMappingConfigFolderName /
|
||||
"test_aws_resource_mappings.json").LexicallyNormal();
|
||||
AWSCoreInternalRequestBus::Handler::BusConnect();
|
||||
}
|
||||
|
||||
void TearDown() override
|
||||
{
|
||||
AWSCoreInternalRequestBus::Handler::BusDisconnect();
|
||||
RemoveTestFile();
|
||||
RemoveTestDirectory();
|
||||
RemoveFile(m_configFilePath.Native());
|
||||
m_configFilePath.clear();
|
||||
|
||||
m_reloadConfigurationCounter = 0;
|
||||
m_resourceMappingManager->DeactivateManager();
|
||||
@@ -147,57 +136,17 @@ public:
|
||||
|
||||
// AWSCoreInternalRequestBus interface implementation
|
||||
AZStd::string GetProfileName() const override { return ""; }
|
||||
AZStd::string GetResourceMappingConfigFilePath() const override { return m_normalizedConfigFilePath; }
|
||||
AZStd::string GetResourceMappingConfigFilePath() const override { return m_configFilePath.Native(); }
|
||||
void ReloadConfiguration() override { m_reloadConfigurationCounter++; }
|
||||
|
||||
AZStd::unique_ptr<AWSCore::AWSResourceMappingManager> m_resourceMappingManager;
|
||||
AZ::u8 m_reloadConfigurationCounter;
|
||||
|
||||
private:
|
||||
AZStd::string m_normalizedSourceProjectFolder;
|
||||
AZStd::string m_normalizedConfigFolderPath;
|
||||
AZStd::string m_normalizedConfigFilePath;
|
||||
|
||||
void CreateTestFile(const AZStd::string& filePath, const AZStd::string& fileContent)
|
||||
{
|
||||
AZ::IO::SystemFile file;
|
||||
if (!file.Open(filePath.c_str(),
|
||||
AZ::IO::SystemFile::OpenMode::SF_OPEN_CREATE | AZ::IO::SystemFile::SF_OPEN_CREATE_PATH | AZ::IO::SystemFile::SF_OPEN_WRITE_ONLY))
|
||||
{
|
||||
AZ_Assert(false, "Failed to open test file");
|
||||
}
|
||||
|
||||
if (file.Write(fileContent.c_str(), fileContent.size()) != fileContent.size())
|
||||
{
|
||||
AZ_Assert(false, "Failed to write test file");
|
||||
}
|
||||
file.Close();
|
||||
}
|
||||
|
||||
void RemoveTestFile()
|
||||
{
|
||||
if (!m_normalizedConfigFilePath.empty())
|
||||
{
|
||||
AZ_Assert(AZ::IO::SystemFile::Delete(m_normalizedConfigFilePath.c_str()),
|
||||
"Failed to delete test config file at %s", m_normalizedConfigFilePath.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
void RemoveTestDirectory()
|
||||
{
|
||||
if (!m_normalizedConfigFilePath.empty())
|
||||
{
|
||||
AZ_Assert(AZ::IO::SystemFile::DeleteDir(m_normalizedConfigFolderPath.c_str()),
|
||||
"Failed to delete test config folder at %s", m_normalizedConfigFolderPath.c_str());
|
||||
AZ_Assert(AZ::IO::SystemFile::DeleteDir(m_normalizedSourceProjectFolder.c_str()),
|
||||
"Failed to delete test folder at %s", m_normalizedSourceProjectFolder.c_str());
|
||||
}
|
||||
}
|
||||
AZ::IO::Path m_configFilePath;
|
||||
};
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, ActivateManager_ParseInvalidConfigFile_ConfigDataIsEmpty)
|
||||
{
|
||||
CreateTestConfigFile(TEST_INVALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_INVALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ActivateManager();
|
||||
|
||||
AZStd::string actualAccountId;
|
||||
@@ -212,7 +161,7 @@ TEST_F(AWSResourceMappingManagerTest, ActivateManager_ParseInvalidConfigFile_Con
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, ActivateManager_ParseValidConfigFile_ConfigDataIsNotEmpty)
|
||||
{
|
||||
CreateTestConfigFile(TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ActivateManager();
|
||||
|
||||
AZStd::string actualAccountId;
|
||||
@@ -227,7 +176,7 @@ TEST_F(AWSResourceMappingManagerTest, ActivateManager_ParseValidConfigFile_Confi
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, ActivateManager_ParseTemplateConfigFile_ConfigDataIsNotEmpty)
|
||||
{
|
||||
CreateTestConfigFile(TEST_TEMPLATE_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_TEMPLATE_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ActivateManager();
|
||||
|
||||
AZStd::string actualAccountId;
|
||||
@@ -242,7 +191,7 @@ TEST_F(AWSResourceMappingManagerTest, ActivateManager_ParseTemplateConfigFile_Co
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, ActivateManager_ParseValidConfigFile_ConfigDataIsNotEmptyWithMultithreadCalls)
|
||||
{
|
||||
CreateTestConfigFile(TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ActivateManager();
|
||||
|
||||
constexpr int testThreadNumber = 10;
|
||||
@@ -267,7 +216,7 @@ TEST_F(AWSResourceMappingManagerTest, ActivateManager_ParseValidConfigFile_Confi
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, ActivateManager_ParseValidConfigFile_GlobalAccountIdEmpty)
|
||||
{
|
||||
CreateTestConfigFile(TEST_VALID_EMPTY_ACCOUNTID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_VALID_EMPTY_ACCOUNTID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ActivateManager();
|
||||
|
||||
AZStd::string actualAccountId;
|
||||
@@ -282,7 +231,7 @@ TEST_F(AWSResourceMappingManagerTest, ActivateManager_ParseValidConfigFile_Globa
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, DeactivateManager_AfterActivatingWithValidConfigFile_ConfigDataGetCleanedUp)
|
||||
{
|
||||
CreateTestConfigFile(TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ActivateManager();
|
||||
|
||||
AZStd::string actualAccountId;
|
||||
@@ -302,7 +251,7 @@ TEST_F(AWSResourceMappingManagerTest, DeactivateManager_AfterActivatingWithValid
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, GetDefaultAccountId_AfterParsingValidConfigFile_GetExpectedDefaultAccountId)
|
||||
{
|
||||
CreateTestConfigFile(TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ActivateManager();
|
||||
|
||||
AZStd::string actualAccountId;
|
||||
@@ -313,7 +262,7 @@ TEST_F(AWSResourceMappingManagerTest, GetDefaultAccountId_AfterParsingValidConfi
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, GetDefaultRegion_AfterParsingValidConfigFile_GetExpectedDefaultRegion)
|
||||
{
|
||||
CreateTestConfigFile(TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ActivateManager();
|
||||
|
||||
AZStd::string actualRegion;
|
||||
@@ -324,7 +273,7 @@ TEST_F(AWSResourceMappingManagerTest, GetDefaultRegion_AfterParsingValidConfigFi
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, GetResourceAccountId_AfterParsingValidConfigFile_GetExpectedAccountId)
|
||||
{
|
||||
CreateTestConfigFile(TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ActivateManager();
|
||||
|
||||
AZStd::string actualAccountId;
|
||||
@@ -341,7 +290,7 @@ TEST_F(AWSResourceMappingManagerTest, GetResourceAccountId_AfterParsingValidConf
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, GetResourceAccountId_QueryNonexistResourceMappingKeyName_GetEmptyAccountId)
|
||||
{
|
||||
CreateTestConfigFile(TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ActivateManager();
|
||||
|
||||
AZStd::string actualAccountId;
|
||||
@@ -352,7 +301,7 @@ TEST_F(AWSResourceMappingManagerTest, GetResourceAccountId_QueryNonexistResource
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, GetResourceNameId_AfterParsingValidConfigFile_GetExpectedNameId)
|
||||
{
|
||||
CreateTestConfigFile(TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ActivateManager();
|
||||
|
||||
AZStd::string actualNameId;
|
||||
@@ -369,7 +318,7 @@ TEST_F(AWSResourceMappingManagerTest, GetResourceNameId_AfterParsingValidConfigF
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, GetResourceNameId_QueryNonexistResourceMappingKeyName_GetEmptyNameId)
|
||||
{
|
||||
CreateTestConfigFile(TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ActivateManager();
|
||||
|
||||
AZStd::string actualNameId;
|
||||
@@ -380,7 +329,7 @@ TEST_F(AWSResourceMappingManagerTest, GetResourceNameId_QueryNonexistResourceMap
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, GetResourceRegion_AfterParsingValidConfigFile_GetExpectedRegion)
|
||||
{
|
||||
CreateTestConfigFile(TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ActivateManager();
|
||||
|
||||
AZStd::string actualRegion;
|
||||
@@ -397,7 +346,7 @@ TEST_F(AWSResourceMappingManagerTest, GetResourceRegion_AfterParsingValidConfigF
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, GetResourceRegion_QueryNonexistResourceMappingKeyName_GetEmptyRegion)
|
||||
{
|
||||
CreateTestConfigFile(TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ActivateManager();
|
||||
|
||||
AZStd::string actualRegion;
|
||||
@@ -408,7 +357,7 @@ TEST_F(AWSResourceMappingManagerTest, GetResourceRegion_QueryNonexistResourceMap
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, GetResourceType_AfterParsingValidConfigFile_GetExpectedType)
|
||||
{
|
||||
CreateTestConfigFile(TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ActivateManager();
|
||||
|
||||
AZStd::string actualType;
|
||||
@@ -425,7 +374,7 @@ TEST_F(AWSResourceMappingManagerTest, GetResourceType_AfterParsingValidConfigFil
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, GetResourceType_QueryNonexistResourceMappingKeyName_GetEmptyType)
|
||||
{
|
||||
CreateTestConfigFile(TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ActivateManager();
|
||||
|
||||
AZStd::string actualType;
|
||||
@@ -436,7 +385,7 @@ TEST_F(AWSResourceMappingManagerTest, GetResourceType_QueryNonexistResourceMappi
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, GetServiceUrl_PassingEmptyServiceName_GetEmptyUrl)
|
||||
{
|
||||
CreateTestConfigFile(TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ActivateManager();
|
||||
|
||||
AZStd::string actualServiceUrl;
|
||||
@@ -447,7 +396,7 @@ TEST_F(AWSResourceMappingManagerTest, GetServiceUrl_PassingEmptyServiceName_GetE
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, GetServiceUrl_PassingEmptyRESTApiIdAndStage_GetEmptyUrl)
|
||||
{
|
||||
CreateTestConfigFile(TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ActivateManager();
|
||||
|
||||
AZStd::string actualServiceUrl;
|
||||
@@ -458,7 +407,7 @@ TEST_F(AWSResourceMappingManagerTest, GetServiceUrl_PassingEmptyRESTApiIdAndStag
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, GetServiceUrl_RESTApiIdAndStageHaveInconsistentRegion_GetEmptyUrl)
|
||||
{
|
||||
CreateTestConfigFile(TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ActivateManager();
|
||||
|
||||
AZStd::string actualServiceUrl;
|
||||
@@ -469,7 +418,7 @@ TEST_F(AWSResourceMappingManagerTest, GetServiceUrl_RESTApiIdAndStageHaveInconsi
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, ReloadConfigFile_ParseValidConfigFileAfterParsingInvalid_ConfigDataGetParsed)
|
||||
{
|
||||
CreateTestConfigFile(TEST_INVALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_INVALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ActivateManager();
|
||||
|
||||
AZStd::string actualAccountId;
|
||||
@@ -481,7 +430,7 @@ TEST_F(AWSResourceMappingManagerTest, ReloadConfigFile_ParseValidConfigFileAfter
|
||||
EXPECT_TRUE(actualRegion.empty());
|
||||
EXPECT_TRUE(m_resourceMappingManager->GetStatus() == AWSResourceMappingManager::Status::Error);
|
||||
|
||||
CreateTestConfigFile(TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ReloadConfigFile();
|
||||
|
||||
AWSResourceMappingRequestBus::BroadcastResult(actualAccountId, &AWSResourceMappingRequests::GetDefaultAccountId);
|
||||
@@ -494,7 +443,7 @@ TEST_F(AWSResourceMappingManagerTest, ReloadConfigFile_ParseValidConfigFileAfter
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, ReloadConfigFile_ReloadConfigFileNameAndParseValidConfigFile_ConfigDataGetParsed)
|
||||
{
|
||||
CreateTestConfigFile(TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
CreateFile(m_configFilePath.Native(), TEST_VALID_RESOURCE_MAPPING_CONFIG_FILE);
|
||||
m_resourceMappingManager->ReloadConfigFile(true);
|
||||
|
||||
EXPECT_EQ(m_reloadConfigurationCounter, 1);
|
||||
@@ -505,6 +454,7 @@ TEST_F(AWSResourceMappingManagerTest, ReloadConfigFile_ReloadConfigFileNameAndPa
|
||||
|
||||
TEST_F(AWSResourceMappingManagerTest, ReloadConfigFile_MissingSetRegFile_ConfigDataIsNotParsed)
|
||||
{
|
||||
m_configFilePath.clear();
|
||||
m_resourceMappingManager->ReloadConfigFile(true);
|
||||
|
||||
EXPECT_EQ(m_reloadConfigurationCounter, 1);
|
||||
|
||||
@@ -6,8 +6,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <AzTest/AzTest.h>
|
||||
|
||||
#include <ResourceMapping/AWSResourceMappingUtils.h>
|
||||
#include <TestFramework/AWSCoreFixture.h>
|
||||
|
||||
@@ -18,7 +16,7 @@ static constexpr const char TEST_VALID_RESTAPI_REGION[] = "us-west-2";
|
||||
static constexpr const char TEST_VALID_RESTAPI_CHINA_REGION[] = "cn-north-1";
|
||||
static constexpr const char TEST_VALID_RESTAPI_STAGE[] = "prod";
|
||||
|
||||
using AWSResourceMappingUtilsTest = UnitTest::ScopedAllocatorSetupFixture;
|
||||
using AWSResourceMappingUtilsTest = AWSCoreFixture;
|
||||
|
||||
TEST_F(AWSResourceMappingUtilsTest, FormatRESTApiUrl_PassingValidArguments_ReturnExpectedResult)
|
||||
{
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
*/
|
||||
|
||||
#include <AzCore/RTTI/BehaviorContext.h>
|
||||
#include <AzTest/AzTest.h>
|
||||
|
||||
#include <ScriptCanvas/AWSScriptBehaviorDynamoDB.h>
|
||||
#include <TestFramework/AWSCoreFixture.h>
|
||||
@@ -32,7 +31,7 @@ public:
|
||||
MOCK_METHOD1(OnGetItemError, void(const AZStd::string&));
|
||||
};
|
||||
|
||||
using AWSScriptBehaviorDynamoDBTest = UnitTest::ScopedAllocatorSetupFixture;
|
||||
using AWSScriptBehaviorDynamoDBTest = AWSCoreFixture;
|
||||
|
||||
TEST_F(AWSScriptBehaviorDynamoDBTest, GetItemRaw_CallWithEmptyTableName_InvokeOnError)
|
||||
{
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
*/
|
||||
|
||||
#include <AzCore/RTTI/BehaviorContext.h>
|
||||
#include <AzTest/AzTest.h>
|
||||
|
||||
#include <ScriptCanvas/AWSScriptBehaviorLambda.h>
|
||||
#include <TestFramework/AWSCoreFixture.h>
|
||||
|
||||
using namespace AWSCore;
|
||||
|
||||
class AWSScriptBehaviorLambdaNotificationBusHandlerMock : public AWSScriptBehaviorLambdaNotificationBusHandler
|
||||
class AWSScriptBehaviorLambdaNotificationBusHandlerMock
|
||||
: public AWSScriptBehaviorLambdaNotificationBusHandler
|
||||
{
|
||||
public:
|
||||
AWSScriptBehaviorLambdaNotificationBusHandlerMock()
|
||||
@@ -31,7 +31,7 @@ public:
|
||||
MOCK_METHOD1(OnInvokeError, void(const AZStd::string&));
|
||||
};
|
||||
|
||||
using AWSScriptBehaviorLambdaTest = UnitTest::ScopedAllocatorSetupFixture;
|
||||
using AWSScriptBehaviorLambdaTest = AWSCoreFixture;
|
||||
|
||||
TEST_F(AWSScriptBehaviorLambdaTest, InvokeRaw_CallWithEmptyFunctionName_InvokeOnError)
|
||||
{
|
||||
|
||||
@@ -145,17 +145,18 @@ TEST_F(AWSScriptBehaviorS3Test, GetObjectRaw_CallWithOutfileDirectoryNoExist_Inv
|
||||
AWSScriptBehaviorS3::GetObjectRaw("dummyBucket", "dummyObject", "dummyRegion", dummyDirectory);
|
||||
}
|
||||
|
||||
#if defined(AZ_DEBUG_BUILD) || defined(AZ_PROFILE_BUILD)
|
||||
// The preparation step for this test case does not work in release mode
|
||||
TEST_F(AWSScriptBehaviorS3Test, GetObjectRaw_CallWithOutfileIsReadOnly_InvokeOnError)
|
||||
{
|
||||
AWSScriptBehaviorS3NotificationBusHandlerMock s3HandlerMock;
|
||||
EXPECT_CALL(s3HandlerMock, OnGetObjectError(::testing::_)).Times(1);
|
||||
AZStd::string randomTestFile = AZStd::string::format("%s/test%s.txt",
|
||||
AZ::Test::GetCurrentExecutablePath().c_str(), AZ::Uuid::CreateRandom().ToString<AZStd::string>(false, false).c_str());
|
||||
AzFramework::StringFunc::Path::Normalize(randomTestFile);
|
||||
CreateReadOnlyTestFile(randomTestFile);
|
||||
AWSScriptBehaviorS3::GetObjectRaw("dummyBucket", "dummyObject", "dummyRegion", randomTestFile);
|
||||
RemoveReadOnlyTestFile(randomTestFile);
|
||||
AZ::IO::Path randomTestFilePath = (GetTestTempDirectoryPath() / "random_test.txt").LexicallyNormal();
|
||||
CreateReadOnlyTestFile(randomTestFilePath.Native());
|
||||
AWSScriptBehaviorS3::GetObjectRaw("dummyBucket", "dummyObject", "dummyRegion", randomTestFilePath.Native());
|
||||
RemoveReadOnlyTestFile(randomTestFilePath.Native());
|
||||
}
|
||||
#endif
|
||||
|
||||
TEST_F(AWSScriptBehaviorS3Test, GetObject_NoBucketNameInResourceMappingFound_InvokeOnError)
|
||||
{
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
#include <AzCore/Component/ComponentApplication.h>
|
||||
#include <AzCore/Serialization/EditContext.h>
|
||||
#include <AzCore/Serialization/SerializeContext.h>
|
||||
#include <AzTest/AzTest.h>
|
||||
|
||||
#include <ScriptCanvas/AWSScriptBehaviorsComponent.h>
|
||||
#include <TestFramework/AWSCoreFixture.h>
|
||||
@@ -17,11 +16,12 @@
|
||||
using namespace AWSCore;
|
||||
|
||||
class AWSScriptBehaviorsComponentTest
|
||||
: public UnitTest::ScopedAllocatorSetupFixture
|
||||
: public AWSCoreFixture
|
||||
{
|
||||
public:
|
||||
void SetUp() override
|
||||
{
|
||||
AWSCoreFixture::SetUpFixture();
|
||||
m_serializeContext = AZStd::make_unique<AZ::SerializeContext>();
|
||||
m_serializeContext->CreateEditContext();
|
||||
m_behaviorContext = AZStd::make_unique<AZ::BehaviorContext>();
|
||||
@@ -39,6 +39,7 @@ public:
|
||||
m_componentDescriptor.reset();
|
||||
m_behaviorContext.reset();
|
||||
m_serializeContext.reset();
|
||||
AWSCoreFixture::TearDownFixture();
|
||||
}
|
||||
|
||||
protected:
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
#include <Framework/JsonObjectHandler.h>
|
||||
#include <Framework/JsonWriter.h>
|
||||
|
||||
#include <AWSNativeSDKInit/AWSNativeSDKInit.h>
|
||||
|
||||
namespace AWSCoreTestingUtils
|
||||
{
|
||||
static const AZStd::string STRING_VALUE{"s"};
|
||||
@@ -135,6 +137,8 @@ public:
|
||||
{
|
||||
m_app = AZStd::make_unique<AZ::ComponentApplication>();
|
||||
}
|
||||
|
||||
AWSNativeSDKInit::InitializationManager::InitAwsApi();
|
||||
}
|
||||
|
||||
void TearDown() override
|
||||
@@ -144,6 +148,8 @@ public:
|
||||
|
||||
void TearDownFixture(bool mockSettingsRegistry = true)
|
||||
{
|
||||
AWSNativeSDKInit::InitializationManager::Shutdown();
|
||||
|
||||
if (mockSettingsRegistry)
|
||||
{
|
||||
AZ::SettingsRegistry::Unregister(m_settingsRegistry.get());
|
||||
@@ -171,7 +177,7 @@ public:
|
||||
bool CreateFile(const AZStd::string& filePath, const AZStd::string& content)
|
||||
{
|
||||
AZ::IO::HandleType fileHandle;
|
||||
if (!m_localFileIO->Open(filePath.c_str(), AZ::IO::OpenMode::ModeWrite | AZ::IO::OpenMode::ModeText, fileHandle))
|
||||
if (!m_localFileIO->Open(filePath.c_str(), AZ::IO::OpenMode::ModeCreatePath | AZ::IO::OpenMode::ModeWrite | AZ::IO::OpenMode::ModeText, fileHandle))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -197,6 +203,13 @@ private:
|
||||
AZ::IO::FileIOBase* m_otherFileIO = nullptr;
|
||||
|
||||
protected:
|
||||
AZ::IO::Path GetTestTempDirectoryPath()
|
||||
{
|
||||
AZ::IO::Path testTempDirPath{ m_testTempDirectory.GetDirectory() };
|
||||
return testTempDirPath;
|
||||
}
|
||||
|
||||
AZ::Test::ScopedAutoTempDirectory m_testTempDirectory;
|
||||
AZStd::unique_ptr<AZ::SettingsRegistryImpl> m_settingsRegistry;
|
||||
AZStd::unique_ptr<AZ::ComponentApplication> m_app;
|
||||
};
|
||||
|
||||
@@ -26,7 +26,7 @@ ly_associate_package(PACKAGE_NAME DirectXShaderCompilerDxc-1.6.2104-o3de-rev3-wi
|
||||
ly_associate_package(PACKAGE_NAME SPIRVCross-2021.04.29-rev1-windows TARGETS SPIRVCross PACKAGE_HASH 7d601ea9d625b1d509d38bd132a1f433d7e895b16adab76bac6103567a7a6817)
|
||||
ly_associate_package(PACKAGE_NAME tiff-4.2.0.15-rev3-windows TARGETS TIFF PACKAGE_HASH c6000a906e6d2a0816b652e93dfbeab41c9ed73cdd5a613acd53e553d0510b60)
|
||||
ly_associate_package(PACKAGE_NAME freetype-2.10.4.16-windows TARGETS freetype PACKAGE_HASH 9809255f1c59b07875097aa8d8c6c21c97c47a31fb35e30f2bb93188e99a85ff)
|
||||
ly_associate_package(PACKAGE_NAME AWSNativeSDK-1.7.167-rev4-windows TARGETS AWSNativeSDK PACKAGE_HASH a900e80f7259e43aed5c847afee2599ada37f29db70505481397675bcbb6c76c)
|
||||
ly_associate_package(PACKAGE_NAME AWSNativeSDK-1.9.50-rev2-windows TARGETS AWSNativeSDK PACKAGE_HASH 047de23fa57d33196666c22f45afc9c628bae354a6c39d774cbeee8054b2eb53)
|
||||
ly_associate_package(PACKAGE_NAME Lua-5.3.5-rev5-windows TARGETS Lua PACKAGE_HASH 136faccf1f73891e3fa3b95f908523187792e56f5b92c63c6a6d7e72d1158d40)
|
||||
ly_associate_package(PACKAGE_NAME PhysX-4.1.2.29882248-rev5-windows TARGETS PhysX PACKAGE_HASH 4e31a3e1f5bf3952d8af8e28d1a29f04167995a6362fc3a7c20c25f74bf01e23)
|
||||
ly_associate_package(PACKAGE_NAME mcpp-2.7.2_az.2-rev1-windows TARGETS mcpp PACKAGE_HASH 794789aba639bfe2f4e8fcb4424d679933dd6290e523084aa0a4e287ac44acb2)
|
||||
|
||||
Reference in New Issue
Block a user