Skip to content

Commit

Permalink
12543
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisdecenzo committed May 13, 2022
1 parent 01f67e9 commit bbc37b4
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,6 @@ void UserDirectedCommissioningServer::OnCommissionableNodeFound(const Dnssd::Dis
client->SetLongDiscriminator(nodeData.commissionData.longDiscriminator);
client->SetVendorId(nodeData.commissionData.vendorId);
client->SetProductId(nodeData.commissionData.productId);
client->SetDeviceName(nodeData.commissionData.deviceName);
client->SetRotatingId(nodeData.commissionData.rotatingId, nodeData.commissionData.rotatingIdLen);

// Call the registered mUserConfirmationProvider, if any.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,59 @@ void TestUDCClients(nlTestSuite * inSuite, void * inContext)
NL_TEST_ASSERT(inSuite, (expirationTime - System::Clock::Milliseconds64(1)) < state->GetExpirationTime());
}

void TestUDCClientState(nlTestSuite * inSuite, void * inContext)
{
UDCClients<3> mUdcClients;
const char * instanceName1 = "test1";
Inet::IPAddress address;
Inet::IPAddress::FromString("127.0.0.1", address);
uint16_t port = 333;
uint16_t longDiscriminator = 1234;
uint16_t vendorId = 1111;
uint16_t productId = 2222;
const char * deviceName = "test name";
uint8_t rotatingId[50] = {};
size_t rotatingIdLen = 0;
char rotatingIdString[chip::Dnssd::kMaxRotatingIdLen * 2 + 1] = "92873498273948734534";
Encoding::BytesToUppercaseHexString(rotatingId, rotatingIdLen, rotatingIdString, sizeof(rotatingIdString));

// test base case
UDCClientState * state = mUdcClients.FindUDCClientState(instanceName1);
NL_TEST_ASSERT(inSuite, state == nullptr);

// add a default state
NL_TEST_ASSERT(inSuite, CHIP_NO_ERROR == mUdcClients.CreateNewUDCClientState(instanceName1, &state));

// get the state
state = mUdcClients.FindUDCClientState(instanceName1);
NL_TEST_ASSERT(inSuite, nullptr != state);
NL_TEST_ASSERT(inSuite, strcmp(state->GetInstanceName(), instanceName1) == 0);

state->SetPeerAddress(chip::Transport::PeerAddress::UDP(address, port));
NL_TEST_ASSERT(inSuite, port == state->GetPeerAddress().GetPort());

state->SetDeviceName(deviceName);
NL_TEST_ASSERT(inSuite, strcmp(state->GetDeviceName(), deviceName) == 0);

state->SetLongDiscriminator(longDiscriminator);
NL_TEST_ASSERT(inSuite, longDiscriminator == state->GetLongDiscriminator());

state->SetVendorId(vendorId);
NL_TEST_ASSERT(inSuite, vendorId == state->GetVendorId());

state->SetProductId(productId);
NL_TEST_ASSERT(inSuite, productId == state->GetProductId());

state->SetRotatingId(rotatingId, rotatingIdLen);
NL_TEST_ASSERT(inSuite, rotatingIdLen == state->GetRotatingIdLength());

const uint8_t * testRotatingId = state->GetRotatingId();
for (size_t i = 0; i < rotatingIdLen; i++)
{
NL_TEST_ASSERT(inSuite, testRotatingId[i] == rotatingId[i]);
}
}

// Test Suite

/**
Expand All @@ -280,6 +333,7 @@ static const nlTest sTests[] =
NL_TEST_DEF("TestUDCServerInstanceNameResolver", TestUDCServerInstanceNameResolver),
NL_TEST_DEF("TestUserDirectedCommissioningClientMessage", TestUserDirectedCommissioningClientMessage),
NL_TEST_DEF("TestUDCClients", TestUDCClients),
NL_TEST_DEF("TestUDCClientState", TestUDCClientState),

NL_TEST_SENTINEL()
};
Expand Down

0 comments on commit bbc37b4

Please sign in to comment.