mirror of
https://github.com/signalapp/Signal-Server
synced 2026-04-20 18:28:10 +01:00
test classes moved to same packages with components they test
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
* Copyright 2023 Signal Messenger, LLC
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
package org.whispersystems.textsecuregcm.util;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Locale.LanguageRange;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
import javax.annotation.Nullable;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
import org.junit.jupiter.params.provider.MethodSource;
|
||||
|
||||
class LocaleTest {
|
||||
|
||||
private static final Set<String> SUPPORTED_LOCALES = Set.of("es", "en", "zh", "zh-HK");
|
||||
|
||||
@ParameterizedTest
|
||||
@MethodSource
|
||||
void testFindBestLocale(@Nullable final String languageRange, @Nullable final String expectedLocale) {
|
||||
|
||||
final List<LanguageRange> languageRanges = Optional.ofNullable(languageRange)
|
||||
.map(LanguageRange::parse)
|
||||
.orElse(Collections.emptyList());
|
||||
|
||||
assertEquals(Optional.ofNullable(expectedLocale), Util.findBestLocale(languageRanges, SUPPORTED_LOCALES));
|
||||
}
|
||||
|
||||
static Stream<Arguments> testFindBestLocale() {
|
||||
return Stream.of(
|
||||
// languageRange, expectedLocale
|
||||
Arguments.of("en-US, fr", "en"),
|
||||
Arguments.of("es-ES", "es"),
|
||||
Arguments.of("zh-Hant-HK, zh-HK", "zh"),
|
||||
// zh-HK is supported, but Locale#lookup truncates from the end, per RFC-4647
|
||||
Arguments.of("zh-Hant-HK", "zh"),
|
||||
Arguments.of("zh-HK", "zh-HK"),
|
||||
Arguments.of("de", null),
|
||||
Arguments.of(null, null)
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
* Copyright 2013 Signal Messenger, LLC
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
package org.whispersystems.textsecuregcm.util;
|
||||
|
||||
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
class NumberPrefixTest {
|
||||
|
||||
@Test
|
||||
void testPrefixes() {
|
||||
assertThat(Util.getNumberPrefix("+14151234567")).isEqualTo("+14151");
|
||||
assertThat(Util.getNumberPrefix("+22587654321")).isEqualTo("+2258765");
|
||||
assertThat(Util.getNumberPrefix("+298654321")).isEqualTo("+2986543");
|
||||
assertThat(Util.getNumberPrefix("+12")).isEqualTo("+12");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
/*
|
||||
* Copyright 2013 Signal Messenger, LLC
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
package org.whispersystems.textsecuregcm.util;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.ValueSource;
|
||||
|
||||
class ValidNumberTest {
|
||||
|
||||
@ParameterizedTest
|
||||
@ValueSource(strings = {
|
||||
"+447700900111",
|
||||
"+14151231234",
|
||||
"+71234567890",
|
||||
"+447535742222",
|
||||
"+4915174108888",
|
||||
"+2250707312345",
|
||||
"+298123456",
|
||||
"+299123456",
|
||||
"+376123456",
|
||||
"+68512345",
|
||||
"+689123456",
|
||||
"+80011111111"})
|
||||
void requireNormalizedNumber(final String number) {
|
||||
assertDoesNotThrow(() -> Util.requireNormalizedNumber(number));
|
||||
}
|
||||
|
||||
@Test
|
||||
void requireNormalizedNumberNull() {
|
||||
assertThrows(ImpossiblePhoneNumberException.class, () -> Util.requireNormalizedNumber(null));
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ValueSource(strings = {
|
||||
"Definitely not a phone number at all",
|
||||
"+141512312341",
|
||||
"+712345678901",
|
||||
"+4475357422221",
|
||||
"+491517410888811111",
|
||||
"71234567890",
|
||||
"001447535742222",
|
||||
"+1415123123a"
|
||||
})
|
||||
void requireNormalizedNumberImpossibleNumber(final String number) {
|
||||
assertThrows(ImpossiblePhoneNumberException.class, () -> Util.requireNormalizedNumber(number));
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ValueSource(strings = {
|
||||
"+4407700900111",
|
||||
"+49493023125000", // double country code - this e164 is "possible"
|
||||
"+1 415 123 1234",
|
||||
"+1 (415) 123-1234",
|
||||
"+1 415)123-1234",
|
||||
" +14151231234"})
|
||||
void requireNormalizedNumberNonNormalized(final String number) {
|
||||
assertThrows(NonNormalizedPhoneNumberException.class, () -> Util.requireNormalizedNumber(number));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user