Validate E164's in ContactRecords.

This commit is contained in:
Greyson Parrelli
2023-02-23 17:45:20 -05:00
committed by Nicholas Tinsley
parent 33828439fb
commit 8334db5273
2 changed files with 112 additions and 0 deletions

View File

@@ -188,6 +188,108 @@ class ContactRecordProcessorTest {
assertFalse(result)
}
@Test
fun `isInvalid, valid E164, true`() {
// GIVEN
val subject = ContactRecordProcessor(ACI_A, PNI_A, E164_A, recipientTable)
val record = buildRecord {
setServiceId(ACI_B.toString())
setServiceE164(E164_B)
}
// WHEN
val result = subject.isInvalid(record)
// THEN
assertFalse(result)
}
@Test
fun `isInvalid, invalid E164 (missing +), true`() {
// GIVEN
val subject = ContactRecordProcessor(ACI_A, PNI_A, E164_A, recipientTable)
val record = buildRecord {
setServiceId(ACI_B.toString())
setServiceE164("15551234567")
}
// WHEN
val result = subject.isInvalid(record)
// THEN
assertTrue(result)
}
@Test
fun `isInvalid, invalid E164 (contains letters), true`() {
// GIVEN
val subject = ContactRecordProcessor(ACI_A, PNI_A, E164_A, recipientTable)
val record = buildRecord {
setServiceId(ACI_B.toString())
setServiceE164("+1555ABC4567")
}
// WHEN
val result = subject.isInvalid(record)
// THEN
assertTrue(result)
}
@Test
fun `isInvalid, invalid E164 (no numbers), true`() {
// GIVEN
val subject = ContactRecordProcessor(ACI_A, PNI_A, E164_A, recipientTable)
val record = buildRecord {
setServiceId(ACI_B.toString())
setServiceE164("+")
}
// WHEN
val result = subject.isInvalid(record)
// THEN
assertTrue(result)
}
@Test
fun `isInvalid, invalid E164 (too many numbers), true`() {
// GIVEN
val subject = ContactRecordProcessor(ACI_A, PNI_A, E164_A, recipientTable)
val record = buildRecord {
setServiceId(ACI_B.toString())
setServiceE164("+12345678901234567890")
}
// WHEN
val result = subject.isInvalid(record)
// THEN
assertTrue(result)
}
@Test
fun `isInvalid, invalid E164 (starts with zero), true`() {
// GIVEN
val subject = ContactRecordProcessor(ACI_A, PNI_A, E164_A, recipientTable)
val record = buildRecord {
setServiceId(ACI_B.toString())
setServiceE164("+05551234567")
}
// WHEN
val result = subject.isInvalid(record)
// THEN
assertTrue(result)
}
@Test
fun `merge, e164MatchesButPnisDont pnpEnabled, keepLocal`() {
// GIVEN