diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/configuration/TwilioConfiguration.java b/service/src/main/java/org/whispersystems/textsecuregcm/configuration/TwilioConfiguration.java index a3672d2ef..94025f092 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/configuration/TwilioConfiguration.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/configuration/TwilioConfiguration.java @@ -25,7 +25,10 @@ public class TwilioConfiguration { @NotEmpty private String localDomain; + @NotEmpty private String messagingServiceSid; + + @NotEmpty private String nanpaMessagingServiceSid; @NotNull diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/sms/TwilioSmsSender.java b/service/src/main/java/org/whispersystems/textsecuregcm/sms/TwilioSmsSender.java index 8229ff919..d947ce47d 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/sms/TwilioSmsSender.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/sms/TwilioSmsSender.java @@ -102,15 +102,7 @@ public class TwilioSmsSender { public CompletableFuture deliverSmsVerification(String destination, Optional clientType, String verificationCode) { Map requestParameters = new HashMap<>(); requestParameters.put("To", destination); - - if (StringUtils.isNotEmpty(nanpaMessagingServiceSid) && "1".equals(Util.getCountryCode(destination))) { - requestParameters.put("MessagingServiceSid", nanpaMessagingServiceSid); - } else if (StringUtils.isNotEmpty(messagingServiceSid)) { - requestParameters.put("MessagingServiceSid", messagingServiceSid); - } else { - requestParameters.put("From", getRandom(random, numbers)); - } - + requestParameters.put("MessagingServiceSid", "1".equals(Util.getCountryCode(destination)) ? nanpaMessagingServiceSid : messagingServiceSid); requestParameters.put("Body", String.format(Locale.US, getBodyFormatString(destination, clientType.orElse(null)), verificationCode)); HttpRequest request = HttpRequest.newBuilder() diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/tests/sms/TwilioSmsSenderTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/tests/sms/TwilioSmsSenderTest.java index d4479286e..d9fc9b7eb 100644 --- a/service/src/test/java/org/whispersystems/textsecuregcm/tests/sms/TwilioSmsSenderTest.java +++ b/service/src/test/java/org/whispersystems/textsecuregcm/tests/sms/TwilioSmsSenderTest.java @@ -51,6 +51,7 @@ public class TwilioSmsSenderTest { configuration.setAccountToken(ACCOUNT_TOKEN); configuration.setNumbers(NUMBERS); configuration.setMessagingServiceSid(MESSAGING_SERVICE_SID); + configuration.setNanpaMessagingServiceSid(NANPA_MESSAGING_SERVICE_SID); configuration.setLocalDomain(LOCAL_DOMAIN); configuration.setIosVerificationText("Verify on iOS: %1$s\n\nsomelink://verify/%1$s"); configuration.setAndroidNgVerificationText("<#> Verify on AndroidNg: %1$s\n\ncharacters"); @@ -78,7 +79,7 @@ public class TwilioSmsSenderTest { verify(1, postRequestedFor(urlEqualTo("/2010-04-01/Accounts/" + ACCOUNT_ID + "/Messages.json")) .withHeader("Content-Type", equalTo("application/x-www-form-urlencoded")) - .withRequestBody(equalTo("MessagingServiceSid=test_messaging_services_id&To=%2B14153333333&Body=%3C%23%3E+Verify+on+AndroidNg%3A+123-456%0A%0Acharacters"))); + .withRequestBody(equalTo("MessagingServiceSid=nanpa_test_messaging_service_id&To=%2B14153333333&Body=%3C%23%3E+Verify+on+AndroidNg%3A+123-456%0A%0Acharacters"))); } @Test @@ -92,7 +93,7 @@ public class TwilioSmsSenderTest { verify(1, postRequestedFor(urlEqualTo("/2010-04-01/Accounts/" + ACCOUNT_ID + "/Messages.json")) .withHeader("Content-Type", equalTo("application/x-www-form-urlencoded")) - .withRequestBody(equalTo("MessagingServiceSid=test_messaging_services_id&To=%2B14153333333&Body=Verify+on+Android202001%3A+123-456%0A%0Asomelink%3A%2F%2Fverify%2F123-456%0A%0Acharacters"))); + .withRequestBody(equalTo("MessagingServiceSid=nanpa_test_messaging_service_id&To=%2B14153333333&Body=Verify+on+Android202001%3A+123-456%0A%0Asomelink%3A%2F%2Fverify%2F123-456%0A%0Acharacters"))); } @Test @@ -154,7 +155,7 @@ public class TwilioSmsSenderTest { verify(3, postRequestedFor(urlEqualTo("/2010-04-01/Accounts/" + ACCOUNT_ID + "/Messages.json")) .withHeader("Content-Type", equalTo("application/x-www-form-urlencoded")) - .withRequestBody(equalTo("MessagingServiceSid=test_messaging_services_id&To=%2B14153333333&Body=%3C%23%3E+Verify+on+AndroidNg%3A+123-456%0A%0Acharacters"))); + .withRequestBody(equalTo("MessagingServiceSid=nanpa_test_messaging_service_id&To=%2B14153333333&Body=%3C%23%3E+Verify+on+AndroidNg%3A+123-456%0A%0Acharacters"))); } @Test @@ -228,16 +229,6 @@ public class TwilioSmsSenderTest { }); } - @Test - @Ignore - public void testDefaultSenderId() { - runSenderIdTest("+14098675309", "SIGNALFOO", () -> { - TwilioSenderIdConfiguration senderIdConfiguration = new TwilioSenderIdConfiguration(); - senderIdConfiguration.setDefaultSenderId("SIGNALFOO"); - return senderIdConfiguration; - }); - } - @Test @Ignore public void testSenderIdWithAllFieldsPopulated() { @@ -278,7 +269,7 @@ public class TwilioSmsSenderTest { verify(1, postRequestedFor(urlEqualTo("/2010-04-01/Accounts/" + ACCOUNT_ID + "/Messages.json")) .withHeader("Content-Type", equalTo("application/x-www-form-urlencoded")) - .withRequestBody(equalTo("MessagingServiceSid=test_messaging_services_id&To=%2B14153333333&Body=%3C%23%3E+Verify+on+AndroidNg%3A+123-456%0A%0Acharacters"))); + .withRequestBody(equalTo("MessagingServiceSid=nanpa_test_messaging_service_id&To=%2B14153333333&Body=%3C%23%3E+Verify+on+AndroidNg%3A+123-456%0A%0Acharacters"))); } @Test