Skip to content

Commit

Permalink
PASE/CASE tests: create session manager before pairing (#17885)
Browse files Browse the repository at this point in the history
  • Loading branch information
kghost authored and pull[bot] committed Dec 6, 2023
1 parent 9e43e7a commit 1167127
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 17 deletions.
13 changes: 7 additions & 6 deletions src/protocols/secure_channel/tests/TestCASESession.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -182,11 +182,12 @@ CHIP_ERROR InitCredentialSets()

void CASE_SecurePairingWaitTest(nlTestSuite * inSuite, void * inContext)
{
SessionManager sessionManager;

// Test all combinations of invalid parameters
TestCASESecurePairingDelegate delegate;
CASESession pairing;
FabricTable fabrics;
SessionManager sessionManager;

NL_TEST_ASSERT(inSuite, pairing.GetSecureSessionType() == SecureSession::Type::kCASE);

Expand All @@ -201,6 +202,7 @@ void CASE_SecurePairingWaitTest(nlTestSuite * inSuite, void * inContext)
void CASE_SecurePairingStartTest(nlTestSuite * inSuite, void * inContext)
{
TestContext & ctx = *reinterpret_cast<TestContext *>(inContext);
SessionManager sessionManager;

// Test all combinations of invalid parameters
TestCASESecurePairingDelegate delegate;
Expand All @@ -209,7 +211,6 @@ void CASE_SecurePairingStartTest(nlTestSuite * inSuite, void * inContext)

FabricInfo * fabric = gCommissionerFabrics.FindFabricWithIndex(gCommissionerFabricIndex);
NL_TEST_ASSERT(inSuite, fabric != nullptr);
SessionManager sessionManager;

ExchangeContext * context = ctx.NewUnauthenticatedExchangeToBob(&pairing);

Expand Down Expand Up @@ -249,15 +250,14 @@ void CASE_SecurePairingStartTest(nlTestSuite * inSuite, void * inContext)
gLoopback.mMessageSendError = CHIP_NO_ERROR;
}

void CASE_SecurePairingHandshakeTestCommon(nlTestSuite * inSuite, void * inContext, CASESession & pairingCommissioner,
TestCASESecurePairingDelegate & delegateCommissioner)
void CASE_SecurePairingHandshakeTestCommon(nlTestSuite * inSuite, void * inContext, SessionManager & sessionManager,
CASESession & pairingCommissioner, TestCASESecurePairingDelegate & delegateCommissioner)
{
TestContext & ctx = *reinterpret_cast<TestContext *>(inContext);

// Test all combinations of invalid parameters
TestCASESecurePairingDelegate delegateAccessory;
CASESession pairingAccessory;
SessionManager sessionManager;

gLoopback.mSentMessageCount = 0;

Expand Down Expand Up @@ -286,10 +286,11 @@ void CASE_SecurePairingHandshakeTestCommon(nlTestSuite * inSuite, void * inConte

void CASE_SecurePairingHandshakeTest(nlTestSuite * inSuite, void * inContext)
{
SessionManager sessionManager;
TestCASESecurePairingDelegate delegateCommissioner;
CASESession pairingCommissioner;
pairingCommissioner.SetGroupDataProvider(&gCommissionerGroupDataProvider);
CASE_SecurePairingHandshakeTestCommon(inSuite, inContext, pairingCommissioner, delegateCommissioner);
CASE_SecurePairingHandshakeTestCommon(inSuite, inContext, sessionManager, pairingCommissioner, delegateCommissioner);
}

CASEServerForTest gPairingServer;
Expand Down
29 changes: 18 additions & 11 deletions src/protocols/secure_channel/tests/TestPASESession.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -112,11 +112,11 @@ using namespace System::Clock::Literals;
void SecurePairingWaitTest(nlTestSuite * inSuite, void * inContext)
{
TestContext & ctx = *reinterpret_cast<TestContext *>(inContext);
SessionManager sessionManager;

// Test all combinations of invalid parameters
TestSecurePairingDelegate delegate;
PASESession pairing;
SessionManager sessionManager;

NL_TEST_ASSERT(inSuite, pairing.GetSecureSessionType() == SecureSession::Type::kPASE);

Expand Down Expand Up @@ -152,11 +152,11 @@ void SecurePairingWaitTest(nlTestSuite * inSuite, void * inContext)
void SecurePairingStartTest(nlTestSuite * inSuite, void * inContext)
{
TestContext & ctx = *reinterpret_cast<TestContext *>(inContext);
SessionManager sessionManager;

// Test all combinations of invalid parameters
TestSecurePairingDelegate delegate;
PASESession pairing;
SessionManager sessionManager;

gLoopback.Reset();

Expand Down Expand Up @@ -193,7 +193,8 @@ void SecurePairingStartTest(nlTestSuite * inSuite, void * inContext)
gLoopback.mMessageSendError = CHIP_NO_ERROR;
}

void SecurePairingHandshakeTestCommon(nlTestSuite * inSuite, void * inContext, PASESession & pairingCommissioner,
void SecurePairingHandshakeTestCommon(nlTestSuite * inSuite, void * inContext, SessionManager & sessionManager,
PASESession & pairingCommissioner,
Optional<ReliableMessageProtocolConfig> mrpCommissionerConfig,
Optional<ReliableMessageProtocolConfig> mrpAccessoryConfig,
TestSecurePairingDelegate & delegateCommissioner)
Expand All @@ -202,7 +203,6 @@ void SecurePairingHandshakeTestCommon(nlTestSuite * inSuite, void * inContext, P

TestSecurePairingDelegate delegateAccessory;
PASESession pairingAccessory;
SessionManager sessionManager;

PASETestLoopbackTransportDelegate delegate;
gLoopback.SetLoopbackTransportDelegate(&delegate);
Expand Down Expand Up @@ -279,53 +279,61 @@ void SecurePairingHandshakeTestCommon(nlTestSuite * inSuite, void * inContext, P

void SecurePairingHandshakeTest(nlTestSuite * inSuite, void * inContext)
{
SessionManager sessionManager;
TestSecurePairingDelegate delegateCommissioner;
PASESession pairingCommissioner;
gLoopback.Reset();
SecurePairingHandshakeTestCommon(inSuite, inContext, pairingCommissioner, Optional<ReliableMessageProtocolConfig>::Missing(),
SecurePairingHandshakeTestCommon(inSuite, inContext, sessionManager, pairingCommissioner,
Optional<ReliableMessageProtocolConfig>::Missing(),
Optional<ReliableMessageProtocolConfig>::Missing(), delegateCommissioner);
}

void SecurePairingHandshakeWithCommissionerMRPTest(nlTestSuite * inSuite, void * inContext)
{
SessionManager sessionManager;
TestSecurePairingDelegate delegateCommissioner;
PASESession pairingCommissioner;
gLoopback.Reset();
ReliableMessageProtocolConfig config(1000_ms32, 10000_ms32);
SecurePairingHandshakeTestCommon(inSuite, inContext, pairingCommissioner,
SecurePairingHandshakeTestCommon(inSuite, inContext, sessionManager, pairingCommissioner,
Optional<ReliableMessageProtocolConfig>::Value(config),
Optional<ReliableMessageProtocolConfig>::Missing(), delegateCommissioner);
}

void SecurePairingHandshakeWithDeviceMRPTest(nlTestSuite * inSuite, void * inContext)
{
SessionManager sessionManager;
TestSecurePairingDelegate delegateCommissioner;
PASESession pairingCommissioner;
gLoopback.Reset();
ReliableMessageProtocolConfig config(1000_ms32, 10000_ms32);
SecurePairingHandshakeTestCommon(inSuite, inContext, pairingCommissioner, Optional<ReliableMessageProtocolConfig>::Missing(),
SecurePairingHandshakeTestCommon(inSuite, inContext, sessionManager, pairingCommissioner,
Optional<ReliableMessageProtocolConfig>::Missing(),
Optional<ReliableMessageProtocolConfig>::Value(config), delegateCommissioner);
}

void SecurePairingHandshakeWithAllMRPTest(nlTestSuite * inSuite, void * inContext)
{
SessionManager sessionManager;
TestSecurePairingDelegate delegateCommissioner;
PASESession pairingCommissioner;
gLoopback.Reset();
ReliableMessageProtocolConfig commissionerConfig(1000_ms32, 10000_ms32);
ReliableMessageProtocolConfig deviceConfig(2000_ms32, 7000_ms32);
SecurePairingHandshakeTestCommon(inSuite, inContext, pairingCommissioner,
SecurePairingHandshakeTestCommon(inSuite, inContext, sessionManager, pairingCommissioner,
Optional<ReliableMessageProtocolConfig>::Value(commissionerConfig),
Optional<ReliableMessageProtocolConfig>::Value(deviceConfig), delegateCommissioner);
}

void SecurePairingHandshakeWithPacketLossTest(nlTestSuite * inSuite, void * inContext)
{
SessionManager sessionManager;
TestSecurePairingDelegate delegateCommissioner;
PASESession pairingCommissioner;
gLoopback.Reset();
gLoopback.mNumMessagesToDrop = 2;
SecurePairingHandshakeTestCommon(inSuite, inContext, pairingCommissioner, Optional<ReliableMessageProtocolConfig>::Missing(),
SecurePairingHandshakeTestCommon(inSuite, inContext, sessionManager, pairingCommissioner,
Optional<ReliableMessageProtocolConfig>::Missing(),
Optional<ReliableMessageProtocolConfig>::Missing(), delegateCommissioner);
NL_TEST_ASSERT(inSuite, gLoopback.mDroppedMessageCount == 2);
NL_TEST_ASSERT(inSuite, gLoopback.mNumMessagesToDrop == 0);
Expand All @@ -334,15 +342,14 @@ void SecurePairingHandshakeWithPacketLossTest(nlTestSuite * inSuite, void * inCo
void SecurePairingFailedHandshake(nlTestSuite * inSuite, void * inContext)
{
TestContext & ctx = *reinterpret_cast<TestContext *>(inContext);
SessionManager sessionManager;

TestSecurePairingDelegate delegateCommissioner;
PASESession pairingCommissioner;

TestSecurePairingDelegate delegateAccessory;
PASESession pairingAccessory;

SessionManager sessionManager;

gLoopback.Reset();
gLoopback.mSentMessageCount = 0;

Expand Down

0 comments on commit 1167127

Please sign in to comment.