AWSScriptBehaviorLambdaTest.cpp 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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/RTTI/BehaviorContext.h>
  9. #include <ScriptCanvas/AWSScriptBehaviorLambda.h>
  10. #include <TestFramework/AWSCoreFixture.h>
  11. using namespace AWSCore;
  12. class AWSScriptBehaviorLambdaNotificationBusHandlerMock
  13. : public AWSScriptBehaviorLambdaNotificationBusHandler
  14. {
  15. public:
  16. AZ_CLASS_ALLOCATOR(AWSScriptBehaviorLambdaNotificationBusHandlerMock, AZ::SystemAllocator)
  17. AWSScriptBehaviorLambdaNotificationBusHandlerMock()
  18. {
  19. AWSScriptBehaviorLambdaNotificationBus::Handler::BusConnect();
  20. }
  21. ~AWSScriptBehaviorLambdaNotificationBusHandlerMock() override
  22. {
  23. AWSScriptBehaviorLambdaNotificationBus::Handler::BusDisconnect();
  24. }
  25. MOCK_METHOD1(OnInvokeSuccess, void(const AZStd::string&));
  26. MOCK_METHOD1(OnInvokeError, void(const AZStd::string&));
  27. };
  28. using AWSScriptBehaviorLambdaTest = AWSCoreFixture;
  29. TEST_F(AWSScriptBehaviorLambdaTest, InvokeRaw_CallWithEmptyFunctionName_InvokeOnError)
  30. {
  31. AWSScriptBehaviorLambdaNotificationBusHandlerMock lambdaHandlerMock;
  32. EXPECT_CALL(lambdaHandlerMock, OnInvokeError(::testing::_)).Times(1);
  33. AWSScriptBehaviorLambda::InvokeRaw("", "dummyPayload", "dummyRegion");
  34. }
  35. TEST_F(AWSScriptBehaviorLambdaTest, InvokeRaw_CallWithEmptyRegionName_InvokeOnError)
  36. {
  37. AWSScriptBehaviorLambdaNotificationBusHandlerMock lambdaHandlerMock;
  38. EXPECT_CALL(lambdaHandlerMock, OnInvokeError(::testing::_)).Times(1);
  39. AWSScriptBehaviorLambda::InvokeRaw("dummyFunction", "dummyPayload", "");
  40. }
  41. TEST_F(AWSScriptBehaviorLambdaTest, Invoke_NoFunctionNameInResourceMappingFound_InvokeOnError)
  42. {
  43. AWSScriptBehaviorLambdaNotificationBusHandlerMock lambdaHandlerMock;
  44. EXPECT_CALL(lambdaHandlerMock, OnInvokeError(::testing::_)).Times(1);
  45. AWSScriptBehaviorLambda::Invoke("dummyFunction", "dummyPayload");
  46. }
  47. TEST_F(AWSScriptBehaviorLambdaTest, OnSuccessOnError_Call_GetExpectedNumOfInvoke)
  48. {
  49. AWSScriptBehaviorLambdaNotificationBusHandlerMock lambdaHandlerMock;
  50. EXPECT_CALL(lambdaHandlerMock, OnInvokeSuccess(::testing::_)).Times(1);
  51. EXPECT_CALL(lambdaHandlerMock, OnInvokeError(::testing::_)).Times(1);
  52. AWSScriptBehaviorLambdaNotificationBus::Broadcast(&AWSScriptBehaviorLambdaNotificationBus::Events::OnInvokeSuccess, "dummy success message");
  53. AWSScriptBehaviorLambdaNotificationBus::Broadcast(&AWSScriptBehaviorLambdaNotificationBus::Events::OnInvokeError, "dummy error message");
  54. }