Skip to content

Commit d7ae33d

Browse files
Updated SignInOutRepeatedlyTest such that it verifies that the session ids each time are unique. In addition, exposed the session id in the SequenceAPI
1 parent ac86f59 commit d7ae33d

4 files changed

Lines changed: 26 additions & 1 deletion

File tree

Plugins/SequencePlugin/Source/SequencePlugin/Private/Sequence/SequenceAPI.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,12 @@ FString USequenceWallet::GetWalletAddress() const
187187
return Addr;
188188
}
189189

190+
FString USequenceWallet::GetSessionId() const
191+
{
192+
return this->Credentials.GetSessionWallet()->GetSessionId();
193+
}
194+
195+
190196
void USequenceWallet::ListSessions(const TSuccessCallback<TArray<FSeqListSessions_Session>>& OnSuccess, const FFailureCallback& OnFailure) const
191197
{
192198
if (this->SequenceRPCManager)

Plugins/SequencePlugin/Source/SequencePlugin/Public/Sequence/SequenceAPI.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,12 @@ class SEQUENCEPLUGIN_API USequenceWallet : public UGameInstanceSubsystem
122122
*/
123123
FString GetWalletAddress() const;
124124

125+
/**
126+
* Get the current/active session id associated with this wallet
127+
* @return the current/active session id associated with this wallet
128+
*/
129+
FString GetSessionId() const;
130+
125131
/**
126132
* Allows you to update the provider URL set for the SequenceWallet
127133
* @param Url New provider Url you wish to use

Plugins/SequenceTests/Source/SequenceTests/Private/SessionManagementEndToEndTests/SignInOutRepeatedlyTest.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,17 @@ void USignInOutRepeatedlyTestHelper::OnAuthSuccess()
6161
Repetitions++;
6262
if (TOptional<USequenceWallet*> OptionalSequenceWallet = USequenceWallet::Get(); OptionalSequenceWallet.IsSet() && OptionalSequenceWallet.GetValue())
6363
{
64+
65+
TSet<FString> UniqueSessionIds(SessionIds);
66+
bool bAllSessionIdsUnique = UniqueSessionIds.Num() == SessionIds.Num();
67+
if (!bAllSessionIdsUnique)
68+
{
69+
bTestComplete = true;
70+
ParentTest->AddError(TEXT("Session Ids are not unique"));
71+
return;
72+
}
73+
74+
SessionIds.Add(OptionalSequenceWallet.GetValue()->GetSessionId());
6475
OptionalSequenceWallet.GetValue()->SignOut();
6576
}
6677
else

Plugins/SequenceTests/Source/SequenceTests/Private/SessionManagementEndToEndTests/SignInOutRepeatedlyTest.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include "CoreMinimal.h"
44
#include "Misc/AutomationTest.h"
55
#include "SequencePlugin/Public/SequenceAuthenticator.h"
6+
#include "SequencePlugin/Public/Sequence/SequenceAPI.h"
67
#include "SignInOutRepeatedlyTest.generated.h"
78

89
class FSignInOutRepeatedlyTest;
@@ -29,8 +30,9 @@ class USignInOutRepeatedlyTestHelper : public UObject
2930
USequenceAuthenticator* Authenticator = nullptr;
3031
int32 Repetitions = 0;
3132
static const int32 MaxRepetitions = 3;
33+
TArray<FString> SessionIds;
3234

3335
void ConnectAsGuest();
3436
};
3537

36-
DEFINE_LATENT_AUTOMATION_COMMAND_ONE_PARAMETER(FWaitForSignInOutCompletion, USignInOutRepeatedlyTestHelper*, TestHelper);
38+
DEFINE_LATENT_AUTOMATION_COMMAND_ONE_PARAMETER(FWaitForSignInOutCompletion, USignInOutRepeatedlyTestHelper*, TestHelper);

0 commit comments

Comments
 (0)