AWSApiJobConfigTest.cpp 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #include <AzCore/Jobs/JobManager.h>
  9. #include <AzCore/Jobs/JobContext.h>
  10. #include <aws/core/auth/AWSCredentialsProvider.h>
  11. #include <AWSCoreBus.h>
  12. #include <Credential/AWSCredentialBus.h>
  13. #include <Framework/AWSApiJobConfig.h>
  14. #include <TestFramework/AWSCoreFixture.h>
  15. using namespace AWSCore;
  16. class AwsApiJobConfigTest
  17. : public AWSCoreFixture
  18. , AWSCredentialRequestBus::Handler
  19. , AWSCoreRequestBus::Handler
  20. {
  21. public:
  22. void SetUp() override
  23. {
  24. AWSCoreFixture::SetUpFixture();
  25. m_credentialsHandler = std::make_shared<Aws::Auth::AnonymousAWSCredentialsProvider>();
  26. AZ::JobManagerDesc jobDesc;
  27. m_jobManager = AZStd::make_unique<AZ::JobManager>(jobDesc);
  28. m_jobContext = AZStd::make_unique<AZ::JobContext>(*m_jobManager);
  29. AWSCredentialRequestBus::Handler::BusConnect();
  30. AWSCoreRequestBus::Handler::BusConnect();
  31. }
  32. void TearDown() override
  33. {
  34. AWSCoreRequestBus::Handler::BusDisconnect();
  35. AWSCredentialRequestBus::Handler::BusDisconnect();
  36. m_jobContext.reset();
  37. m_jobManager.reset();
  38. m_credentialsHandler.reset();
  39. AWSCoreFixture::TearDownFixture();
  40. }
  41. // AWSCredentialRequestBus interface implementation
  42. int GetCredentialHandlerOrder() const override { return -1; }
  43. std::shared_ptr<Aws::Auth::AWSCredentialsProvider> GetCredentialsProvider() override { return m_credentialsHandler; }
  44. // AWSCoreRequestBus interface implementation
  45. AZ::JobContext* GetDefaultJobContext() override { return m_jobContext.get(); }
  46. AwsApiJobConfig* GetDefaultConfig() override { return nullptr; }
  47. std::shared_ptr<Aws::Auth::AWSCredentialsProvider> m_credentialsHandler;
  48. AZStd::unique_ptr<AZ::JobContext> m_jobContext;
  49. private:
  50. AZStd::unique_ptr<AZ::JobManager> m_jobManager;
  51. };
  52. TEST_F(AwsApiJobConfigTest, ApplySettings_HaveHandlerReturnCredentialsProvider_GetExpectedCredentialsProvider)
  53. {
  54. AwsApiJobConfig testApiJobConfig;
  55. testApiJobConfig.ApplySettings();
  56. EXPECT_TRUE(testApiJobConfig.credentialsProvider);
  57. EXPECT_TRUE(testApiJobConfig.credentialsProvider == m_credentialsHandler);
  58. }
  59. TEST_F(AwsApiJobConfigTest, GetClientConfiguration_HaveInitializer_GetExpectedConfigurationField)
  60. {
  61. AwsApiJobConfig testApiJobConfig(nullptr, [](AwsApiJobConfig& config) {
  62. config.userAgent = "TestUserAgent";
  63. });
  64. auto actualConfig = testApiJobConfig.GetClientConfiguration();
  65. EXPECT_TRUE(actualConfig.userAgent == "TestUserAgent");
  66. }
  67. TEST_F(AwsApiJobConfigTest, GetJobContext_HaveHandlerReturnJobContext_GetExpectedJobContext)
  68. {
  69. AwsApiJobConfig testApiJobConfig;
  70. auto actualJobContext = testApiJobConfig.GetJobContext();
  71. EXPECT_TRUE(actualJobContext);
  72. EXPECT_TRUE(actualJobContext == m_jobContext.get());
  73. }
  74. TEST_F(AwsApiJobConfigTest, GetConfig_HaveInitializer_GetExpectedConfigurationField)
  75. {
  76. AwsApiJobConfigHolder<AwsApiJobConfig> testHolder;
  77. auto actualConfig = testHolder.GetConfig(nullptr, [](AwsApiJobConfig& config) {
  78. config.userAgent = "TestUserAgent";
  79. });
  80. EXPECT_TRUE(actualConfig->userAgent == "TestUserAgent");
  81. }