add unit tests for SmsSender

This commit is contained in:
Andrew Bissell 2019-06-25 22:54:55 -07:00 committed by Jon Chambers
parent 2a8806ec2e
commit 1f24c913a6
2 changed files with 43 additions and 1 deletions

View File

@ -21,7 +21,7 @@ public class SmsSender {
public void deliverSmsVerification(String destination, Optional<String> clientType, String verificationCode) {
// Fix up mexico numbers to 'mobile' format just for SMS delivery.
if (destination.startsWith("+52") && !destination.startsWith("+521")) {
destination = "+521" + destination.substring(3);
destination = "+521" + destination.substring("+52".length());
}
twilioSender.deliverSmsVerification(destination, clientType, verificationCode);

View File

@ -0,0 +1,42 @@
package org.whispersystems.textsecuregcm.tests.sms;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.times;
import java.util.Optional;
import org.junit.Test;
import org.whispersystems.textsecuregcm.sms.SmsSender;
import org.whispersystems.textsecuregcm.sms.TwilioSmsSender;
public class SmsSenderTest {
private static final String NON_MEXICO_NUMBER = "+12345678901";
private static final String MEXICO_NON_MOBILE_NUMBER = "+52234567890";
private static final String MEXICO_MOBILE_NUMBER = "+52123456789";
private final TwilioSmsSender twilioSmsSender = mock(TwilioSmsSender.class);
private final SmsSender smsSender = new SmsSender(twilioSmsSender);
@Test
public void testDeliverSmsVerificationNonMexico() {
smsSender.deliverSmsVerification(NON_MEXICO_NUMBER, Optional.empty(), "");
verify(twilioSmsSender, times(1))
.deliverSmsVerification(NON_MEXICO_NUMBER, Optional.empty(), "");
}
@Test
public void testDeliverSmsVerificationMexicoNonMobile() {
smsSender.deliverSmsVerification(MEXICO_NON_MOBILE_NUMBER, Optional.empty(), "");
verify(twilioSmsSender, times(1))
.deliverSmsVerification("+521" + MEXICO_NON_MOBILE_NUMBER.substring("+52".length()), Optional.empty(), "");
}
@Test
public void testDeliverSmsVerificationMexicoMobile() {
smsSender.deliverSmsVerification(MEXICO_MOBILE_NUMBER, Optional.empty(), "");
verify(twilioSmsSender, times(1))
.deliverSmsVerification(MEXICO_MOBILE_NUMBER, Optional.empty(), "");
}
}