Skip to content

Commit 1260774

Browse files
yufengwangcapull[bot]
authored andcommitted
Add unit tests for OnboardingPayloadParser (#29030)
1 parent 3f978cb commit 1260774

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

src/controller/java/tests/chip/onboardingpayload/QRCodeTest.kt

+54
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,60 @@ class QRCodeTest {
315315
assertEquals("ABC", QRCodeOnboardingPayloadParser.extractPayload("%MT:ABC"))
316316
}
317317

318+
/*
319+
* Test Parse QrCode to Expected Payload
320+
*/
321+
@Test
322+
fun testParseQrCodeToExpectedPayload() {
323+
// Payload: MT:W0GU2OTB00KA0648G00
324+
// Vendor Id: 9050 (0x235A)
325+
// Product Id: 20043 (0x4E4B)
326+
// Setup Pin Code: 20202021
327+
// Setup Discriminator: 3840 (0xF00)
328+
329+
val parser = OnboardingPayloadParser()
330+
assertThat(parser.parseQrCode("MT:W0GU2OTB00KA0648G00"))
331+
.isEqualTo(
332+
OnboardingPayload(
333+
discriminator = 0xF00,
334+
setupPinCode = 20202021,
335+
version = 0,
336+
vendorId = 0x235A,
337+
productId = 0x4E4B,
338+
commissioningFlow = CommissioningFlow.STANDARD.value,
339+
discoveryCapabilities = mutableSetOf(DiscoveryCapability.BLE),
340+
)
341+
)
342+
}
343+
344+
/*
345+
* Test Generate QrCode from Expected Value
346+
*/
347+
@Test
348+
fun testGenerateQrCodeFromExpectedValue() {
349+
// Payload: MT:W0GU2OTB00KA0648G00
350+
// Vendor Id: 9050 (0x235A)
351+
// Product Id: 20043 (0x4E4B)
352+
// Setup Pin Code: 20202021
353+
// Setup Discriminator: 3840 (0xF00)
354+
355+
val parser = OnboardingPayloadParser()
356+
assertThat(
357+
parser.getQrCodeFromPayload(
358+
OnboardingPayload(
359+
discriminator = 0xF00,
360+
setupPinCode = 20202021,
361+
version = 0,
362+
vendorId = 0x235A,
363+
productId = 0x4E4B,
364+
commissioningFlow = CommissioningFlow.STANDARD.value,
365+
discoveryCapabilities = mutableSetOf(DiscoveryCapability.BLE),
366+
)
367+
)
368+
)
369+
.isEqualTo("MT:W0GU2OTB00KA0648G00")
370+
}
371+
318372
companion object {
319373
const val kDefaultPayloadQRCode: String = "MT:M5L90MP500K64J00000"
320374
}

0 commit comments

Comments
 (0)