Require messaging service IDs; remove fallback-to-random-number logic.
This commit is contained in:
parent
345e116699
commit
fb2fc2335a
|
@ -25,7 +25,10 @@ public class TwilioConfiguration {
|
||||||
@NotEmpty
|
@NotEmpty
|
||||||
private String localDomain;
|
private String localDomain;
|
||||||
|
|
||||||
|
@NotEmpty
|
||||||
private String messagingServiceSid;
|
private String messagingServiceSid;
|
||||||
|
|
||||||
|
@NotEmpty
|
||||||
private String nanpaMessagingServiceSid;
|
private String nanpaMessagingServiceSid;
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
|
|
|
@ -102,15 +102,7 @@ public class TwilioSmsSender {
|
||||||
public CompletableFuture<Boolean> deliverSmsVerification(String destination, Optional<String> clientType, String verificationCode) {
|
public CompletableFuture<Boolean> deliverSmsVerification(String destination, Optional<String> clientType, String verificationCode) {
|
||||||
Map<String, String> requestParameters = new HashMap<>();
|
Map<String, String> requestParameters = new HashMap<>();
|
||||||
requestParameters.put("To", destination);
|
requestParameters.put("To", destination);
|
||||||
|
requestParameters.put("MessagingServiceSid", "1".equals(Util.getCountryCode(destination)) ? nanpaMessagingServiceSid : messagingServiceSid);
|
||||||
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("Body", String.format(Locale.US, getBodyFormatString(destination, clientType.orElse(null)), verificationCode));
|
requestParameters.put("Body", String.format(Locale.US, getBodyFormatString(destination, clientType.orElse(null)), verificationCode));
|
||||||
|
|
||||||
HttpRequest request = HttpRequest.newBuilder()
|
HttpRequest request = HttpRequest.newBuilder()
|
||||||
|
|
|
@ -51,6 +51,7 @@ public class TwilioSmsSenderTest {
|
||||||
configuration.setAccountToken(ACCOUNT_TOKEN);
|
configuration.setAccountToken(ACCOUNT_TOKEN);
|
||||||
configuration.setNumbers(NUMBERS);
|
configuration.setNumbers(NUMBERS);
|
||||||
configuration.setMessagingServiceSid(MESSAGING_SERVICE_SID);
|
configuration.setMessagingServiceSid(MESSAGING_SERVICE_SID);
|
||||||
|
configuration.setNanpaMessagingServiceSid(NANPA_MESSAGING_SERVICE_SID);
|
||||||
configuration.setLocalDomain(LOCAL_DOMAIN);
|
configuration.setLocalDomain(LOCAL_DOMAIN);
|
||||||
configuration.setIosVerificationText("Verify on iOS: %1$s\n\nsomelink://verify/%1$s");
|
configuration.setIosVerificationText("Verify on iOS: %1$s\n\nsomelink://verify/%1$s");
|
||||||
configuration.setAndroidNgVerificationText("<#> Verify on AndroidNg: %1$s\n\ncharacters");
|
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"))
|
verify(1, postRequestedFor(urlEqualTo("/2010-04-01/Accounts/" + ACCOUNT_ID + "/Messages.json"))
|
||||||
.withHeader("Content-Type", equalTo("application/x-www-form-urlencoded"))
|
.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
|
@Test
|
||||||
|
@ -92,7 +93,7 @@ public class TwilioSmsSenderTest {
|
||||||
|
|
||||||
verify(1, postRequestedFor(urlEqualTo("/2010-04-01/Accounts/" + ACCOUNT_ID + "/Messages.json"))
|
verify(1, postRequestedFor(urlEqualTo("/2010-04-01/Accounts/" + ACCOUNT_ID + "/Messages.json"))
|
||||||
.withHeader("Content-Type", equalTo("application/x-www-form-urlencoded"))
|
.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
|
@Test
|
||||||
|
@ -154,7 +155,7 @@ public class TwilioSmsSenderTest {
|
||||||
|
|
||||||
verify(3, postRequestedFor(urlEqualTo("/2010-04-01/Accounts/" + ACCOUNT_ID + "/Messages.json"))
|
verify(3, postRequestedFor(urlEqualTo("/2010-04-01/Accounts/" + ACCOUNT_ID + "/Messages.json"))
|
||||||
.withHeader("Content-Type", equalTo("application/x-www-form-urlencoded"))
|
.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
|
@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
|
@Test
|
||||||
@Ignore
|
@Ignore
|
||||||
public void testSenderIdWithAllFieldsPopulated() {
|
public void testSenderIdWithAllFieldsPopulated() {
|
||||||
|
@ -278,7 +269,7 @@ public class TwilioSmsSenderTest {
|
||||||
|
|
||||||
verify(1, postRequestedFor(urlEqualTo("/2010-04-01/Accounts/" + ACCOUNT_ID + "/Messages.json"))
|
verify(1, postRequestedFor(urlEqualTo("/2010-04-01/Accounts/" + ACCOUNT_ID + "/Messages.json"))
|
||||||
.withHeader("Content-Type", equalTo("application/x-www-form-urlencoded"))
|
.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
|
@Test
|
||||||
|
|
Loading…
Reference in New Issue