Files
UnrealEngine/Engine/Plugins/Runtime/ReplicationSystemTestPlugin/Source/Private/Tests/ReplicationSystem/ReplicationSystemConfigOverrideTestFixture.h
2025-05-18 13:04:45 +08:00

49 lines
1.6 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Tests/ReplicationSystem/ReplicationSystemServerClientTestFixture.h"
#include "Iris/ReplicationSystem/NetBlob/NetBlobHandlerDefinitions.h"
namespace UE::Net
{
/**
* A test fixture that allows overriding the replication system params and supports RPCs.
* Unlike FReplicationSystemServerClientTestFixture, does not create a server automatically in SetUp()
* to give test cases a chance to set up the override params. Call CreateServer() to create a server.
*/
class FReplicationSystemConfigOverrideRPCTestFixture : public FNetworkAutomationTestSuiteFixture
{
public:
FReplicationSystemConfigOverrideRPCTestFixture() : FNetworkAutomationTestSuiteFixture() {}
protected:
enum : bool
{
DoNotDeliverPacket = false,
DeliverPacket = true,
};
virtual void SetUp() override;
virtual void TearDown() override;
void CreateServer(const FReplicationSystemTestNode::FReplicationSystemParamsOverride& ParamsOverride);
FReplicationSystemTestClient* CreateClient(const FReplicationSystemTestNode::FReplicationSystemParamsOverride& ParamsOverride);
void DestroyClient(FReplicationSystemTestClient* Client);
FDataStreamTestUtil DataStreamUtil;
FNetTokenDataStoreTestUtil NetTokenDataStoreUtil;
FReplicationSystemTestServer* Server = nullptr;
TArray<FReplicationSystemTestClient*> Clients;
FReplicationSystemTestNode::FReplicationSystemParamsOverride OverrideServerConfig;
FReplicationSystemTestNode::FReplicationSystemParamsOverride OverrideClientConfig;
private:
TArray<FNetBlobHandlerDefinition> OriginalHandlerDefinitions;
TArray<FNetBlobHandlerDefinition> HandlerDefinitions;
};
}