Skip to content

Commit d92b610

Browse files
committed
Chunk 2
1 parent 121ec05 commit d92b610

6 files changed

+1027
-1091
lines changed

src/credentials/tests/BUILD.gn

+3-3
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,13 @@ chip_test_suite("tests") {
5151
"TestDeviceAttestationConstruction.cpp",
5252
"TestDeviceAttestationCredentials.cpp",
5353
"TestFabricTable.cpp",
54-
# "TestGroupDataProvider.cpp",
55-
# "TestPersistentStorageOpCertStore.cpp",
54+
"TestGroupDataProvider.cpp",
55+
"TestPersistentStorageOpCertStore.cpp",
5656
]
5757

5858
# DUTVectors test requires <dirent.h> which is not supported on all platforms
5959
if (chip_device_platform != "openiotsdk" && chip_device_platform != "nxp") {
60-
# test_sources += [ "TestCommissionerDUTVectors.cpp" ]
60+
test_sources += [ "TestCommissionerDUTVectors.cpp" ]
6161
}
6262

6363
cflags = [ "-Wconversion" ]

src/credentials/tests/TestChipCert.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ struct TestChipCert : public ::testing::Test
166166
static void SetUpTestSuite()
167167
{
168168
CHIP_ERROR error = chip::Platform::MemoryInit();
169-
EXPECT_EQ(error, CHIP_NO_ERROR);
169+
EXPECT_EQ(error, CHIP_NO_ERROR);
170170
}
171171
static void TearDownTestSuite() { chip::Platform::MemoryShutdown(); }
172172
};
@@ -2190,11 +2190,11 @@ TEST_F(TestChipCert, TestChipCert_PDCIdentityGeneration)
21902190
TEST_F(TestChipCert, TestChipCert_KeypairConversion)
21912191
{
21922192
P256SerializedKeypair keypair;
2193-
EXPECT_EQ( GetTestCertKeypair(kPDCID01, keypair), CHIP_NO_ERROR);
2193+
EXPECT_EQ(GetTestCertKeypair(kPDCID01, keypair), CHIP_NO_ERROR);
21942194

21952195
uint8_t buffer[kP256ECPrivateKeyDERLength];
21962196
MutableByteSpan keypairDer(buffer);
2197-
EXPECT_EQ( ConvertECDSAKeypairRawToDER(keypair, keypairDer), CHIP_NO_ERROR);
2197+
EXPECT_EQ(ConvertECDSAKeypairRawToDER(keypair, keypairDer), CHIP_NO_ERROR);
21982198

21992199
// Technically the curve name and public key are optional in the DER format,
22002200
// but both our code and standard tools include them, so we can just compare.

src/credentials/tests/TestCommissionerDUTVectors.cpp

+25-68
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,8 @@
2929
#include <lib/core/CHIPError.h>
3030
#include <lib/support/CHIPMem.h>
3131
#include <lib/support/Span.h>
32-
#include <lib/support/UnitTestExtendedAssertions.h>
33-
#include <lib/support/UnitTestRegistration.h>
3432

35-
#include <nlunit-test.h>
33+
#include <gtest/gtest.h>
3634

3735
#include <dirent.h>
3836
#include <stdio.h>
@@ -49,10 +47,21 @@ static void OnAttestationInformationVerificationCallback(void * context, const D
4947
*pResult = result;
5048
}
5149

52-
static void TestCommissionerDUTVectors(nlTestSuite * inSuite, void * inContext)
50+
struct TestCommissionerDUTVectors : public ::testing::Test
51+
{
52+
static void SetUpTestSuite()
53+
{
54+
CHIP_ERROR error = chip::Platform::MemoryInit();
55+
EXPECT_EQ(error, CHIP_NO_ERROR);
56+
}
57+
58+
static void TearDownTestSuite() { chip::Platform::MemoryShutdown(); }
59+
};
60+
61+
TEST_F(TestCommissionerDUTVectors, TestCommissionerDUTVectors)
5362
{
5463
DeviceAttestationVerifier * example_dac_verifier = GetDefaultDACVerifier(GetTestAttestationTrustStore());
55-
NL_TEST_ASSERT(inSuite, example_dac_verifier != nullptr);
64+
EXPECT_NE(example_dac_verifier, nullptr);
5665

5766
std::string dirPath("../../../../../credentials/development/commissioner_dut/");
5867
DIR * dir = opendir(dirPath.c_str());
@@ -105,14 +114,14 @@ static void TestCommissionerDUTVectors(nlTestSuite * inSuite, void * inContext)
105114
VendorId vid = TestVendor1;
106115
uint16_t pid = strstr(entry->d_name, "_vidpid_fallback_encoding_") ? 0x00B1 : 0x8000;
107116

108-
NL_TEST_ASSERT_SUCCESS(inSuite, dacProvider.GetCertificationDeclaration(certDeclSpan));
109-
NL_TEST_ASSERT_SUCCESS(inSuite, dacProvider.GetDeviceAttestationCert(dacCertSpan));
110-
NL_TEST_ASSERT_SUCCESS(inSuite, dacProvider.GetProductAttestationIntermediateCert(paiCertSpan));
117+
EXPECT_EQ(dacProvider.GetCertificationDeclaration(certDeclSpan), CHIP_NO_ERROR);
118+
EXPECT_EQ(dacProvider.GetDeviceAttestationCert(dacCertSpan), CHIP_NO_ERROR);
119+
EXPECT_EQ(dacProvider.GetProductAttestationIntermediateCert(paiCertSpan), CHIP_NO_ERROR);
111120

112121
size_t attestationElementsLen =
113122
TLV::EstimateStructOverhead(certDeclSpan.size(), attestationNonceSpan.size(), sizeof(uint64_t) * 8);
114123
Platform::ScopedMemoryBuffer<uint8_t> attestationElements;
115-
NL_TEST_ASSERT(inSuite, attestationElements.Alloc(attestationElementsLen + attestationChallengeSpan.size()));
124+
EXPECT_TRUE(attestationElements.Alloc(attestationElementsLen + attestationChallengeSpan.size()));
116125
MutableByteSpan attestationElementsSpan(attestationElements.Get(), attestationElementsLen);
117126

118127
// Construct attestation elements
@@ -121,10 +130,9 @@ static void TestCommissionerDUTVectors(nlTestSuite * inSuite, void * inContext)
121130
Credentials::DeviceAttestationVendorReservedConstructor emptyVendorReserved(nullptr, 0);
122131
const ByteSpan kEmptyFirmwareInfo;
123132

124-
NL_TEST_ASSERT_SUCCESS(inSuite,
125-
Credentials::ConstructAttestationElements(certDeclSpan, attestationNonceSpan, timestamp,
126-
kEmptyFirmwareInfo, emptyVendorReserved,
127-
attestationElementsSpan));
133+
EXPECT_EQ(Credentials::ConstructAttestationElements(certDeclSpan, attestationNonceSpan, timestamp, kEmptyFirmwareInfo,
134+
emptyVendorReserved, attestationElementsSpan),
135+
CHIP_NO_ERROR);
128136
}
129137

130138
// Generate attestation signature
@@ -134,8 +142,8 @@ static void TestCommissionerDUTVectors(nlTestSuite * inSuite, void * inContext)
134142
attestationChallengeSpan.size());
135143
ByteSpan tbsSpan(attestationElementsSpan.data(), attestationElementsSpan.size() + attestationChallengeSpan.size());
136144

137-
NL_TEST_ASSERT_SUCCESS(inSuite, dacProvider.SignWithDeviceAttestationKey(tbsSpan, attestationSignatureSpan));
138-
NL_TEST_ASSERT(inSuite, attestationSignatureSpan.size() == signature.Capacity());
145+
EXPECT_EQ(dacProvider.SignWithDeviceAttestationKey(tbsSpan, attestationSignatureSpan), CHIP_NO_ERROR);
146+
EXPECT_EQ(attestationSignatureSpan.size(), signature.Capacity());
139147
}
140148

141149
AttestationVerificationResult attestationResult = AttestationVerificationResult::kNotImplemented;
@@ -167,63 +175,12 @@ static void TestCommissionerDUTVectors(nlTestSuite * inSuite, void * inContext)
167175

168176
if (isSuccessCase)
169177
{
170-
NL_TEST_ASSERT(inSuite, attestationResult == AttestationVerificationResult::kSuccess);
178+
EXPECT_EQ(attestationResult, AttestationVerificationResult::kSuccess);
171179
}
172180
else
173181
{
174-
NL_TEST_ASSERT(inSuite, attestationResult != AttestationVerificationResult::kSuccess);
182+
EXPECT_NE(attestationResult, AttestationVerificationResult::kSuccess);
175183
}
176184
}
177185
closedir(dir);
178186
}
179-
180-
/**
181-
* Set up the test suite.
182-
*/
183-
int TestCommissionerDUT_Setup(void * inContext)
184-
{
185-
CHIP_ERROR error = chip::Platform::MemoryInit();
186-
187-
if (error != CHIP_NO_ERROR)
188-
{
189-
return FAILURE;
190-
}
191-
192-
return SUCCESS;
193-
}
194-
195-
/**
196-
* Tear down the test suite.
197-
*/
198-
int TestCommissionerDUT_Teardown(void * inContext)
199-
{
200-
chip::Platform::MemoryShutdown();
201-
return SUCCESS;
202-
}
203-
204-
/**
205-
* Test Suite. It lists all the test functions.
206-
*/
207-
// clang-format off
208-
static const nlTest sTests[] = {
209-
NL_TEST_DEF("Test Device Attestation Credentials Vectors", TestCommissionerDUTVectors),
210-
NL_TEST_SENTINEL()
211-
};
212-
// clang-format on
213-
214-
int TestCommissionerDUT()
215-
{
216-
// clang-format off
217-
nlTestSuite theSuite =
218-
{
219-
"Device Attestation Credentials Test Vectors",
220-
&sTests[0],
221-
TestCommissionerDUT_Setup,
222-
TestCommissionerDUT_Teardown
223-
};
224-
// clang-format on
225-
nlTestRunner(&theSuite, nullptr);
226-
return (nlTestRunnerStats(&theSuite));
227-
}
228-
229-
CHIP_REGISTER_TEST_SUITE(TestCommissionerDUT);

0 commit comments

Comments
 (0)