// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 #pragma once #include "../core/test_common.h" #include #include #include "aws/gamekit/identity/gamekit_identity.h" #include "aws/gamekit/identity/facebook_identity_provider.h" #include "../core/mocks/fake_http_client.h" #include "../core/test_stack.h" #include "../core/test_log.h" namespace GameKit { namespace Tests { namespace IdentityExports { class Dispatcher { public: Dispatcher() = default; DISPATCH_RECEIVER_HANDLE get() { return this; } std::string email; std::string userName; std::string userId; void CallbackHandler(const GameKit::GetUserResponse* res); }; class GameKitIdentityExportsTestFixture : public ::testing::Test { public: GameKitIdentityExportsTestFixture(); ~GameKitIdentityExportsTestFixture(); virtual void SetUp() override; virtual void TearDown() override; std::string GetCognitoGetUserApiResponse(); std::string GetIdentityLambdaGetUserApiResponse(); protected: typedef TestLog TestLogger; TestStackInitializer testStackInitializer; void* createIdentityInstance(); void* createIdentityInstanceWithNoSessionManagerTokens(); void setIdentityMocks(void* instance); Aws::UniquePtr cognitoMock; std::shared_ptr mockHttpClient; GAMEKIT_SESSIONMANAGER_INSTANCE_HANDLE testSessionManager = nullptr; template Outcome SuccessOutcome() { Result result; Outcome outcome(result); return outcome; } }; } } }