mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-27 13:13:43 +00:00
Add more generic SMS verification code pattern.
This commit is contained in:
committed by
Greyson Parrelli
parent
e38d41d67a
commit
ed878ec4b4
@@ -5,9 +5,8 @@ import org.junit.Test;
|
||||
import org.thoughtcrime.securesms.BaseUnitTest;
|
||||
import org.whispersystems.libsignal.util.guava.Optional;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
@@ -16,31 +15,44 @@ import static org.mockito.Matchers.contains;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
public class VerificationCodeParserTest extends BaseUnitTest {
|
||||
private static Map<String, String> CHALLENGES = new HashMap<String,String>() {{
|
||||
put("Your TextSecure verification code: 337-337", "337337");
|
||||
put("XXX\nYour TextSecure verification code: 1337-1337", "13371337");
|
||||
put("Your TextSecure verification code: 337-1337", "3371337");
|
||||
put("Your TextSecure verification code: 1337-337", "1337337");
|
||||
put("Your TextSecure verification code: 1337-1337", "13371337");
|
||||
put("XXXYour TextSecure verification code: 1337-1337", "13371337");
|
||||
put("Your TextSecure verification code: 1337-1337XXX", "13371337");
|
||||
put("Your TextSecure verification code 1337-1337", "13371337");
|
||||
|
||||
put("Your Signal verification code: 337-337", "337337");
|
||||
put("XXX\nYour Signal verification code: 1337-1337", "13371337");
|
||||
put("Your Signal verification code: 337-1337", "3371337");
|
||||
put("Your Signal verification code: 1337-337", "1337337");
|
||||
put("Your Signal verification code: 1337-1337", "13371337");
|
||||
put("XXXYour Signal verification code: 1337-1337", "13371337");
|
||||
put("Your Signal verification code: 1337-1337XXX", "13371337");
|
||||
put("Your Signal verification code 1337-1337", "13371337");
|
||||
public static Collection<String[]> challenges() {
|
||||
return Arrays.asList(new String[][]{
|
||||
{"Your TextSecure verification code: 337-337", "337337"},
|
||||
{"XXX\nYour TextSecure verification code: 1337-1337", "13371337"},
|
||||
{"Your TextSecure verification code: 337-1337", "3371337"},
|
||||
{"Your TextSecure verification code: 1337-337", "1337337"},
|
||||
{"Your TextSecure verification code: 1337-1337", "13371337"},
|
||||
{"XXXYour TextSecure verification code: 1337-1337", "13371337"},
|
||||
{"Your TextSecure verification code: 1337-1337XXX", "13371337"},
|
||||
{"Your TextSecure verification code 1337-1337", "13371337"},
|
||||
|
||||
put("<#>Your Signal verification code: 1337-1337 aAbBcCdDeEf", "13371337");
|
||||
put("<#> Your Signal verification code: 1337-1337 aAbBcCdDeEf", "13371337");
|
||||
put("<#>Your Signal verification code: 1337-1337\naAbBcCdDeEf", "13371337");
|
||||
put("<#> Your Signal verification code: 1337-1337\naAbBcCdDeEf", "13371337");
|
||||
put("<#> Your Signal verification code: 1337-1337\n\naAbBcCdDeEf", "13371337");
|
||||
}};
|
||||
{"Your Signal verification code: 337-337", "337337"},
|
||||
{"XXX\nYour Signal verification code: 1337-1337", "13371337"},
|
||||
{"Your Signal verification code: 337-1337", "3371337"},
|
||||
{"Your Signal verification code: 1337-337", "1337337"},
|
||||
{"Your Signal verification code: 1337-1337", "13371337"},
|
||||
{"XXXYour Signal verification code: 1337-1337", "13371337"},
|
||||
{"Your Signal verification code: 1337-1337XXX", "13371337"},
|
||||
{"Your Signal verification code 1337-1337", "13371337"},
|
||||
|
||||
{"<#>Your Signal verification code: 1337-1337 aAbBcCdDeEf", "13371337"},
|
||||
{"<#> Your Signal verification code: 1337-1337 aAbBcCdDeEf", "13371337"},
|
||||
{"<#>Your Signal verification code: 1337-1337\naAbBcCdDeEf", "13371337"},
|
||||
{"<#> Your Signal verification code: 1337-1337\naAbBcCdDeEf", "13371337"},
|
||||
{"<#> Your Signal verification code: 1337-1337\n\naAbBcCdDeEf", "13371337"},
|
||||
|
||||
{" 1234-5678", "12345678"},
|
||||
{"1234-5678", "12345678"},
|
||||
{">1234-5678 is your verification code.", "12345678"},
|
||||
{"1234-5678 is your verification code.", "12345678"},
|
||||
{"$1234-5678", "12345678"},
|
||||
{"hi 1234-5678\n\nsgnl://verify/1234-5678\n\naAbBcCdDeEf", "12345678"},
|
||||
{"howdy 1234-5678\n\nsgnl://verify/1234-5678\n\naAbBcCdDeEf", "12345678"},
|
||||
{"test 1234-5678\n\nsgnl://verify/1234-5678", "12345678"},
|
||||
{"%#($#&@**$@(@*1234-5678\naAbBcCdDeEf", "12345678"}
|
||||
});
|
||||
}
|
||||
|
||||
@Before
|
||||
@Override
|
||||
@@ -51,11 +63,10 @@ public class VerificationCodeParserTest extends BaseUnitTest {
|
||||
|
||||
@Test
|
||||
public void testChallenges() {
|
||||
for (Entry<String,String> challenge : CHALLENGES.entrySet()) {
|
||||
Optional<String> result = VerificationCodeParser.parse(context, challenge.getKey());
|
||||
|
||||
for (String[] challenge : challenges()) {
|
||||
Optional<String> result = VerificationCodeParser.parse(context, challenge[0]);
|
||||
assertTrue(result.isPresent());
|
||||
assertEquals(result.get(), challenge.getValue());
|
||||
assertEquals(challenge[1], result.get());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user