From cf24b22de9ad74b3f2a9a406e6b2ca1d2a61e7b7 Mon Sep 17 00:00:00 2001 From: Jameson Williams Date: Wed, 20 Nov 2024 00:59:40 -0600 Subject: [PATCH] Remove junit.framework Resolves #13805 --- .../backup/v2/ArchiveImportExportTests.kt | 2 +- .../securesms/database/CallLinkTableTest.kt | 2 +- .../database/DatabaseConsistencyTest.kt | 2 +- .../database/KyberPreKeyTableTest.kt | 6 +- .../database/OneTimePreKeyTableTest.kt | 6 +- .../securesms/database/SQLiteDatabaseTest.kt | 4 +- .../securesms/database/StorySendTableTest.kt | 2 +- .../securesms/camera/OrderEnforcerTest.java | 2 +- .../boost/BoostTest__MoneyFilter.kt | 6 +- ...rrencyViewModel__CurrencyComparatorTest.kt | 2 +- .../storage/SignalBaseIdentityKeyStoreTest.kt | 2 +- .../keyvalue/KeyValueDataSetTest.java | 2 +- ...kPreviewUtilTest_parseOpenGraphFields.java | 2 +- .../PhoneNumberFormatterTest.java | 45 +++++---- .../securesms/storage/StorageRecordTest.kt | 2 +- .../storage/StorageSyncHelperTest.java | 2 +- .../securesms/testutil/TestHelpers.java | 2 +- .../securesms/util/DelimiterUtilTest.java | 2 +- .../securesms/util/LinkUtilTest_isLegal.java | 2 +- .../util/LinkUtilTest_isValidPreviewUrl.kt | 4 +- .../util/PhoneNumberFormatterTest.java | 68 +++++++------- .../securesms/util/RemoteConfigTest.java | 2 +- ...xpirationTest_getTimeUntilDeprecation.java | 2 +- .../securesms/util/Rfc5724UriTest.java | 26 +++--- .../util/SemanticVersionTest_compareTo.java | 2 +- .../util/SemanticVersionTest_parse.java | 2 +- .../securesms/util/ShortCodeUtilTest.java | 4 +- .../SignalMeUtilText_parseE164FromLink.kt | 4 +- ...lText_convertUserEnteredAddressToHost.java | 2 +- .../SignalProxyUtilText_generateProxyUrl.java | 2 +- ...xyUtilText_parseHostFromProxyDeepLink.java | 2 +- .../signal/core/util/ResettableLazyTests.kt | 6 +- .../api/crypto/SigningCertificateTest.java | 26 +++--- .../api/crypto/UnidentifiedAccessTest.java | 12 +-- .../api/push/PushTransportDetailsTest.java | 16 ++-- .../signalservice/api/push/ServiceIdTests.kt | 4 +- .../api/util/PhoneNumberFormatterTest.java | 92 ++++++++++--------- 37 files changed, 183 insertions(+), 188 deletions(-) diff --git a/app/src/androidTest/java/org/thoughtcrime/securesms/backup/v2/ArchiveImportExportTests.kt b/app/src/androidTest/java/org/thoughtcrime/securesms/backup/v2/ArchiveImportExportTests.kt index 81fb93b190..dd2a46e537 100644 --- a/app/src/androidTest/java/org/thoughtcrime/securesms/backup/v2/ArchiveImportExportTests.kt +++ b/app/src/androidTest/java/org/thoughtcrime/securesms/backup/v2/ArchiveImportExportTests.kt @@ -9,7 +9,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.platform.app.InstrumentationRegistry import com.github.difflib.DiffUtils import com.github.difflib.UnifiedDiffUtils -import junit.framework.Assert.assertTrue +import org.junit.Assert.assertTrue import org.junit.Before import org.junit.Test import org.junit.runner.RunWith diff --git a/app/src/androidTest/java/org/thoughtcrime/securesms/database/CallLinkTableTest.kt b/app/src/androidTest/java/org/thoughtcrime/securesms/database/CallLinkTableTest.kt index 4e0130a7ce..318f9275fa 100644 --- a/app/src/androidTest/java/org/thoughtcrime/securesms/database/CallLinkTableTest.kt +++ b/app/src/androidTest/java/org/thoughtcrime/securesms/database/CallLinkTableTest.kt @@ -6,7 +6,7 @@ package org.thoughtcrime.securesms.database import androidx.test.ext.junit.runners.AndroidJUnit4 -import junit.framework.Assert.assertEquals +import org.junit.Assert.assertEquals import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith diff --git a/app/src/androidTest/java/org/thoughtcrime/securesms/database/DatabaseConsistencyTest.kt b/app/src/androidTest/java/org/thoughtcrime/securesms/database/DatabaseConsistencyTest.kt index fc6938e72e..d93aed98d7 100644 --- a/app/src/androidTest/java/org/thoughtcrime/securesms/database/DatabaseConsistencyTest.kt +++ b/app/src/androidTest/java/org/thoughtcrime/securesms/database/DatabaseConsistencyTest.kt @@ -2,9 +2,9 @@ package org.thoughtcrime.securesms.database import android.app.Application import androidx.test.ext.junit.runners.AndroidJUnit4 -import junit.framework.TestCase.assertTrue import net.zetetic.database.sqlcipher.SQLiteDatabase import net.zetetic.database.sqlcipher.SQLiteOpenHelper +import org.junit.Assert.assertTrue import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith diff --git a/app/src/androidTest/java/org/thoughtcrime/securesms/database/KyberPreKeyTableTest.kt b/app/src/androidTest/java/org/thoughtcrime/securesms/database/KyberPreKeyTableTest.kt index e52deb27ec..27e309320d 100644 --- a/app/src/androidTest/java/org/thoughtcrime/securesms/database/KyberPreKeyTableTest.kt +++ b/app/src/androidTest/java/org/thoughtcrime/securesms/database/KyberPreKeyTableTest.kt @@ -5,9 +5,9 @@ package org.thoughtcrime.securesms.database -import junit.framework.TestCase.assertEquals -import junit.framework.TestCase.assertNotNull -import junit.framework.TestCase.assertNull +import org.junit.Assert.assertEquals +import org.junit.Assert.assertNotNull +import org.junit.Assert.assertNull import org.junit.Test import org.signal.core.util.readToSingleObject import org.signal.core.util.requireLongOrNull diff --git a/app/src/androidTest/java/org/thoughtcrime/securesms/database/OneTimePreKeyTableTest.kt b/app/src/androidTest/java/org/thoughtcrime/securesms/database/OneTimePreKeyTableTest.kt index e28b54b891..cf0a8ff48b 100644 --- a/app/src/androidTest/java/org/thoughtcrime/securesms/database/OneTimePreKeyTableTest.kt +++ b/app/src/androidTest/java/org/thoughtcrime/securesms/database/OneTimePreKeyTableTest.kt @@ -5,9 +5,9 @@ package org.thoughtcrime.securesms.database -import junit.framework.TestCase.assertEquals -import junit.framework.TestCase.assertNotNull -import junit.framework.TestCase.assertNull +import org.junit.Assert.assertEquals +import org.junit.Assert.assertNotNull +import org.junit.Assert.assertNull import org.junit.Test import org.signal.core.util.readToSingleObject import org.signal.core.util.requireLongOrNull diff --git a/app/src/androidTest/java/org/thoughtcrime/securesms/database/SQLiteDatabaseTest.kt b/app/src/androidTest/java/org/thoughtcrime/securesms/database/SQLiteDatabaseTest.kt index d0f2a8ee9d..0b00323bbd 100644 --- a/app/src/androidTest/java/org/thoughtcrime/securesms/database/SQLiteDatabaseTest.kt +++ b/app/src/androidTest/java/org/thoughtcrime/securesms/database/SQLiteDatabaseTest.kt @@ -1,8 +1,8 @@ package org.thoughtcrime.securesms.database import androidx.test.ext.junit.runners.AndroidJUnit4 -import junit.framework.Assert.assertFalse -import junit.framework.Assert.assertTrue +import org.junit.Assert.assertFalse +import org.junit.Assert.assertTrue import org.junit.Before import org.junit.Rule import org.junit.Test diff --git a/app/src/androidTest/java/org/thoughtcrime/securesms/database/StorySendTableTest.kt b/app/src/androidTest/java/org/thoughtcrime/securesms/database/StorySendTableTest.kt index 5064e8d653..6f9c31ef19 100644 --- a/app/src/androidTest/java/org/thoughtcrime/securesms/database/StorySendTableTest.kt +++ b/app/src/androidTest/java/org/thoughtcrime/securesms/database/StorySendTableTest.kt @@ -1,7 +1,6 @@ package org.thoughtcrime.securesms.database import androidx.test.ext.junit.runners.AndroidJUnit4 -import junit.framework.TestCase.assertNull import org.hamcrest.MatcherAssert.assertThat import org.hamcrest.Matchers.containsInAnyOrder import org.hamcrest.Matchers.hasSize @@ -9,6 +8,7 @@ import org.hamcrest.Matchers.`is` import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse import org.junit.Assert.assertNotNull +import org.junit.Assert.assertNull import org.junit.Assert.assertTrue import org.junit.Assert.fail import org.junit.Before diff --git a/app/src/test/java/org/thoughtcrime/securesms/camera/OrderEnforcerTest.java b/app/src/test/java/org/thoughtcrime/securesms/camera/OrderEnforcerTest.java index fece0f7805..730257cb30 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/camera/OrderEnforcerTest.java +++ b/app/src/test/java/org/thoughtcrime/securesms/camera/OrderEnforcerTest.java @@ -5,7 +5,7 @@ import org.thoughtcrime.securesms.mediasend.OrderEnforcer; import java.util.concurrent.atomic.AtomicInteger; -import static junit.framework.Assert.assertEquals; +import static org.junit.Assert.assertEquals; public class OrderEnforcerTest { diff --git a/app/src/test/java/org/thoughtcrime/securesms/components/settings/app/subscription/boost/BoostTest__MoneyFilter.kt b/app/src/test/java/org/thoughtcrime/securesms/components/settings/app/subscription/boost/BoostTest__MoneyFilter.kt index 1c1cef3e63..83e09f7edd 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/components/settings/app/subscription/boost/BoostTest__MoneyFilter.kt +++ b/app/src/test/java/org/thoughtcrime/securesms/components/settings/app/subscription/boost/BoostTest__MoneyFilter.kt @@ -2,9 +2,9 @@ package org.thoughtcrime.securesms.components.settings.app.subscription.boost import android.app.Application import android.text.SpannableStringBuilder -import junit.framework.Assert.assertEquals -import junit.framework.Assert.assertNotNull -import junit.framework.Assert.assertNull +import org.junit.Assert.assertEquals +import org.junit.Assert.assertNotNull +import org.junit.Assert.assertNull import org.junit.Before import org.junit.Test import org.junit.runner.RunWith diff --git a/app/src/test/java/org/thoughtcrime/securesms/components/settings/app/subscription/currency/SetCurrencyViewModel__CurrencyComparatorTest.kt b/app/src/test/java/org/thoughtcrime/securesms/components/settings/app/subscription/currency/SetCurrencyViewModel__CurrencyComparatorTest.kt index 0b0de640c4..b600f48a46 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/components/settings/app/subscription/currency/SetCurrencyViewModel__CurrencyComparatorTest.kt +++ b/app/src/test/java/org/thoughtcrime/securesms/components/settings/app/subscription/currency/SetCurrencyViewModel__CurrencyComparatorTest.kt @@ -1,6 +1,6 @@ package org.thoughtcrime.securesms.components.settings.app.subscription.currency -import junit.framework.Assert.assertEquals +import org.junit.Assert.assertEquals import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.JUnit4 diff --git a/app/src/test/java/org/thoughtcrime/securesms/crypto/storage/SignalBaseIdentityKeyStoreTest.kt b/app/src/test/java/org/thoughtcrime/securesms/crypto/storage/SignalBaseIdentityKeyStoreTest.kt index 6ad39eebe1..91be428c2a 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/crypto/storage/SignalBaseIdentityKeyStoreTest.kt +++ b/app/src/test/java/org/thoughtcrime/securesms/crypto/storage/SignalBaseIdentityKeyStoreTest.kt @@ -1,7 +1,7 @@ package org.thoughtcrime.securesms.crypto.storage import android.content.Context -import junit.framework.Assert.assertEquals +import org.junit.Assert.assertEquals import org.junit.Before import org.junit.Test import org.mockito.Mockito.mock diff --git a/app/src/test/java/org/thoughtcrime/securesms/keyvalue/KeyValueDataSetTest.java b/app/src/test/java/org/thoughtcrime/securesms/keyvalue/KeyValueDataSetTest.java index fe51dc564d..77f29dcc8a 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/keyvalue/KeyValueDataSetTest.java +++ b/app/src/test/java/org/thoughtcrime/securesms/keyvalue/KeyValueDataSetTest.java @@ -4,7 +4,7 @@ import org.junit.Test; import java.util.Collections; -import static junit.framework.TestCase.assertTrue; +import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; diff --git a/app/src/test/java/org/thoughtcrime/securesms/linkpreview/LinkPreviewUtilTest_parseOpenGraphFields.java b/app/src/test/java/org/thoughtcrime/securesms/linkpreview/LinkPreviewUtilTest_parseOpenGraphFields.java index f432bf7e32..45aa02f19c 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/linkpreview/LinkPreviewUtilTest_parseOpenGraphFields.java +++ b/app/src/test/java/org/thoughtcrime/securesms/linkpreview/LinkPreviewUtilTest_parseOpenGraphFields.java @@ -11,7 +11,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.Optional; -import static junit.framework.TestCase.assertEquals; +import static org.junit.Assert.assertEquals; @RunWith(ParameterizedRobolectricTestRunner.class) @Config(manifest = Config.NONE, application = Application.class) diff --git a/app/src/test/java/org/thoughtcrime/securesms/phonenumbers/PhoneNumberFormatterTest.java b/app/src/test/java/org/thoughtcrime/securesms/phonenumbers/PhoneNumberFormatterTest.java index 1371b3090e..940282031e 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/phonenumbers/PhoneNumberFormatterTest.java +++ b/app/src/test/java/org/thoughtcrime/securesms/phonenumbers/PhoneNumberFormatterTest.java @@ -1,12 +1,11 @@ package org.thoughtcrime.securesms.phonenumbers; - import org.junit.Before; import org.junit.Test; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.testutil.EmptyLogger; -import static junit.framework.Assert.assertEquals; +import static org.junit.Assert.assertEquals; public class PhoneNumberFormatterTest { @@ -16,38 +15,38 @@ public class PhoneNumberFormatterTest { } @Test - public void testAddressString() throws Exception { + public void testAddressString() { PhoneNumberFormatter formatter = new PhoneNumberFormatter("+14152222222"); - assertEquals(formatter.format("bonbon"), "bonbon"); + assertEquals("bonbon", formatter.format("bonbon")); } @Test - public void testAddressShortCode() throws Exception { + public void testAddressShortCode() { PhoneNumberFormatter formatter = new PhoneNumberFormatter("+14152222222"); - assertEquals(formatter.format("40404"), "40404"); + assertEquals("40404", formatter.format("40404")); } @Test - public void testEmailAddress() throws Exception { + public void testEmailAddress() { PhoneNumberFormatter formatter = new PhoneNumberFormatter("+14152222222"); - assertEquals(formatter.format("junk@junk.net"), "junk@junk.net"); + assertEquals("junk@junk.net", formatter.format("junk@junk.net")); } @Test - public void testNumberArbitrary() throws Exception { + public void testNumberArbitrary() { PhoneNumberFormatter formatter = new PhoneNumberFormatter("+14152222222"); - assertEquals(formatter.format("(415) 111-1122"), "+14151111122"); - assertEquals(formatter.format("(415) 111 1123"), "+14151111123"); - assertEquals(formatter.format("415-111-1124"), "+14151111124"); - assertEquals(formatter.format("415.111.1125"), "+14151111125"); - assertEquals(formatter.format("+1 415.111.1126"), "+14151111126"); - assertEquals(formatter.format("+1 415 111 1127"), "+14151111127"); - assertEquals(formatter.format("+1 (415) 111 1128"), "+14151111128"); - assertEquals(formatter.format("911"), "911"); - assertEquals(formatter.format("+456-7890"), "+4567890"); + assertEquals("+14151111122", formatter.format("(415) 111-1122")); + assertEquals("+14151111123", formatter.format("(415) 111 1123")); + assertEquals("+14151111124", formatter.format("415-111-1124")); + assertEquals("+14151111125", formatter.format("415.111.1125")); + assertEquals("+14151111126", formatter.format("+1 415.111.1126")); + assertEquals("+14151111127", formatter.format("+1 415 111 1127")); + assertEquals("+14151111128", formatter.format("+1 (415) 111 1128")); + assertEquals("911", formatter.format("911")); + assertEquals("+4567890", formatter.format("+456-7890")); formatter = new PhoneNumberFormatter("+442079460010"); - assertEquals(formatter.format("(020) 7946 0018"), "+442079460018"); + assertEquals("+442079460018", formatter.format("(020) 7946 0018")); } @Test @@ -83,15 +82,15 @@ public class PhoneNumberFormatterTest { } @Test - public void testGroup() throws Exception { + public void testGroup() { PhoneNumberFormatter formatter = new PhoneNumberFormatter("+14152222222"); - assertEquals(formatter.format("__textsecure_group__!foobar"), "__textsecure_group__!foobar"); + assertEquals("__textsecure_group__!foobar", formatter.format("__textsecure_group__!foobar")); } @Test - public void testLostLocalNumber() throws Exception { + public void testLostLocalNumber() { PhoneNumberFormatter formatter = new PhoneNumberFormatter("US", true); - assertEquals(formatter.format("(415) 111-1122"), "+14151111122"); + assertEquals("+14151111122", formatter.format("(415) 111-1122")); } @Test diff --git a/app/src/test/java/org/thoughtcrime/securesms/storage/StorageRecordTest.kt b/app/src/test/java/org/thoughtcrime/securesms/storage/StorageRecordTest.kt index 4d75100fa4..09c305a575 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/storage/StorageRecordTest.kt +++ b/app/src/test/java/org/thoughtcrime/securesms/storage/StorageRecordTest.kt @@ -5,9 +5,9 @@ package org.thoughtcrime.securesms.storage -import junit.framework.TestCase.assertEquals import okio.ByteString import okio.ByteString.Companion.toByteString +import org.junit.Assert.assertEquals import org.junit.Test import org.thoughtcrime.securesms.util.Util import org.whispersystems.signalservice.api.storage.SignalAccountRecord diff --git a/app/src/test/java/org/thoughtcrime/securesms/storage/StorageSyncHelperTest.java b/app/src/test/java/org/thoughtcrime/securesms/storage/StorageSyncHelperTest.java index 896a28dc66..ef570317d0 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/storage/StorageSyncHelperTest.java +++ b/app/src/test/java/org/thoughtcrime/securesms/storage/StorageSyncHelperTest.java @@ -27,7 +27,7 @@ import java.util.Optional; import okio.ByteString; -import static junit.framework.TestCase.assertTrue; +import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotEquals; diff --git a/app/src/test/java/org/thoughtcrime/securesms/testutil/TestHelpers.java b/app/src/test/java/org/thoughtcrime/securesms/testutil/TestHelpers.java index e12e9b27ae..429c1163a2 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/testutil/TestHelpers.java +++ b/app/src/test/java/org/thoughtcrime/securesms/testutil/TestHelpers.java @@ -14,7 +14,7 @@ import java.util.List; import java.util.Map; import java.util.Set; -import static junit.framework.TestCase.assertTrue; +import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertEquals; public final class TestHelpers { diff --git a/app/src/test/java/org/thoughtcrime/securesms/util/DelimiterUtilTest.java b/app/src/test/java/org/thoughtcrime/securesms/util/DelimiterUtilTest.java index 0aac408906..585c54b3f2 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/util/DelimiterUtilTest.java +++ b/app/src/test/java/org/thoughtcrime/securesms/util/DelimiterUtilTest.java @@ -12,7 +12,7 @@ import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; import org.mockito.stubbing.Answer; -import static junit.framework.Assert.assertEquals; +import static org.junit.Assert.assertEquals; import static org.mockito.ArgumentMatchers.anyString; public class DelimiterUtilTest { diff --git a/app/src/test/java/org/thoughtcrime/securesms/util/LinkUtilTest_isLegal.java b/app/src/test/java/org/thoughtcrime/securesms/util/LinkUtilTest_isLegal.java index 8a6d4c4f41..e1b30d5b6a 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/util/LinkUtilTest_isLegal.java +++ b/app/src/test/java/org/thoughtcrime/securesms/util/LinkUtilTest_isLegal.java @@ -7,7 +7,7 @@ import org.junit.runners.Parameterized; import java.util.Arrays; import java.util.Collection; -import static junit.framework.TestCase.assertEquals; +import static org.junit.Assert.assertEquals; @SuppressWarnings("NewClassNamingConvention") @RunWith(Parameterized.class) diff --git a/app/src/test/java/org/thoughtcrime/securesms/util/LinkUtilTest_isValidPreviewUrl.kt b/app/src/test/java/org/thoughtcrime/securesms/util/LinkUtilTest_isValidPreviewUrl.kt index e2a183c032..fd5dd777fb 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/util/LinkUtilTest_isValidPreviewUrl.kt +++ b/app/src/test/java/org/thoughtcrime/securesms/util/LinkUtilTest_isValidPreviewUrl.kt @@ -1,6 +1,6 @@ package org.thoughtcrime.securesms.util -import junit.framework.TestCase +import org.junit.Assert.assertEquals import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.Parameterized @@ -11,7 +11,7 @@ class LinkUtilTest_isValidPreviewUrl(private val input: String, private val outp @Test fun isLegal() { - TestCase.assertEquals(output, LinkUtil.isValidPreviewUrl(input)) + assertEquals(output, LinkUtil.isValidPreviewUrl(input)) } companion object { diff --git a/app/src/test/java/org/thoughtcrime/securesms/util/PhoneNumberFormatterTest.java b/app/src/test/java/org/thoughtcrime/securesms/util/PhoneNumberFormatterTest.java index 469df3c6cd..afc077357d 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/util/PhoneNumberFormatterTest.java +++ b/app/src/test/java/org/thoughtcrime/securesms/util/PhoneNumberFormatterTest.java @@ -1,15 +1,14 @@ package org.thoughtcrime.securesms.util; -import junit.framework.AssertionFailedError; - import org.junit.Test; -import org.thoughtcrime.securesms.BaseUnitTest; import org.whispersystems.signalservice.api.util.InvalidNumberException; import org.whispersystems.signalservice.api.util.PhoneNumberFormatter; -import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertThrows; -public class PhoneNumberFormatterTest extends BaseUnitTest { +public class PhoneNumberFormatterTest { private static final String LOCAL_NUMBER_US = "+15555555555"; private static final String NUMBER_CH = "+41446681800"; private static final String NUMBER_UK = "+442079460018"; @@ -20,48 +19,45 @@ public class PhoneNumberFormatterTest extends BaseUnitTest { private static final String COUNTRY_CODE_DE = "49"; @Test - public void testFormatNumber() throws Exception, InvalidNumberException { - assertThat(PhoneNumberFormatter.formatNumber("(555) 555-5555", LOCAL_NUMBER_US)).isEqualTo(LOCAL_NUMBER_US); - assertThat(PhoneNumberFormatter.formatNumber("555-5555", LOCAL_NUMBER_US)).isEqualTo(LOCAL_NUMBER_US); - assertThat(PhoneNumberFormatter.formatNumber("(123) 555-5555", LOCAL_NUMBER_US)).isNotEqualTo(LOCAL_NUMBER_US); + public void testFormatNumber() throws InvalidNumberException { + assertEquals(LOCAL_NUMBER_US, PhoneNumberFormatter.formatNumber("(555) 555-5555", LOCAL_NUMBER_US)); + assertEquals(LOCAL_NUMBER_US, PhoneNumberFormatter.formatNumber("555-5555", LOCAL_NUMBER_US)); + assertNotEquals(LOCAL_NUMBER_US, PhoneNumberFormatter.formatNumber("(123) 555-5555", LOCAL_NUMBER_US)); } @Test - public void testFormatNumberEmail() throws Exception { - try { - PhoneNumberFormatter.formatNumber("person@domain.com", LOCAL_NUMBER_US); - throw new AssertionFailedError("should have thrown on email"); - } catch (InvalidNumberException ine) { - // success - } + public void testFormatNumberEmail() { + assertThrows( + "should have thrown on email", + InvalidNumberException.class, + () -> PhoneNumberFormatter.formatNumber("person@domain.com", LOCAL_NUMBER_US) + ); } @Test - public void testFormatNumberE164() throws Exception, InvalidNumberException { - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_UK, "(020) 7946 0018")).isEqualTo(NUMBER_UK); -// assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_UK, "044 20 7946 0018")).isEqualTo(NUMBER_UK); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_UK, "+442079460018")).isEqualTo(NUMBER_UK); + public void testFormatNumberE164() { + assertEquals(NUMBER_UK, PhoneNumberFormatter.formatE164(COUNTRY_CODE_UK, "(020) 7946 0018")); +// assertEquals(NUMBER_UK, PhoneNumberFormatter.formatE164(COUNTRY_CODE_UK, "044 20 7946 0018")); + assertEquals(NUMBER_UK, PhoneNumberFormatter.formatE164(COUNTRY_CODE_UK, "+442079460018")); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_CH, "+41 44 668 18 00")).isEqualTo(NUMBER_CH); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_CH, "+41 (044) 6681800")).isEqualTo(NUMBER_CH); + assertEquals(NUMBER_CH, PhoneNumberFormatter.formatE164(COUNTRY_CODE_CH, "+41 44 668 18 00")); + assertEquals(NUMBER_CH, PhoneNumberFormatter.formatE164(COUNTRY_CODE_CH, "+41 (044) 6681800")); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0049 030 123456")).isEqualTo(NUMBER_DE); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0049 (0)30123456")).isEqualTo(NUMBER_DE); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0049((0)30)123456")).isEqualTo(NUMBER_DE); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "+49 (0) 30 1 2 3 45 6 ")).isEqualTo(NUMBER_DE); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "030 123456")).isEqualTo(NUMBER_DE); + assertEquals(NUMBER_DE, PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0049 030 123456")); + assertEquals(NUMBER_DE, PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0049 (0)30123456")); + assertEquals(NUMBER_DE, PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0049((0)30)123456")); + assertEquals(NUMBER_DE, PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "+49 (0) 30 1 2 3 45 6 ")); + assertEquals(NUMBER_DE, PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "030 123456")); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0171123456")).isEqualTo(NUMBER_MOBILE_DE); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0171/123456")).isEqualTo(NUMBER_MOBILE_DE); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "+490171/123456")).isEqualTo(NUMBER_MOBILE_DE); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "00490171/123456")).isEqualTo(NUMBER_MOBILE_DE); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0049171/123456")).isEqualTo(NUMBER_MOBILE_DE); + assertEquals(NUMBER_MOBILE_DE, PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0171123456")); + assertEquals(NUMBER_MOBILE_DE, PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0171/123456")); + assertEquals(NUMBER_MOBILE_DE, PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "+490171/123456")); + assertEquals(NUMBER_MOBILE_DE, PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "00490171/123456")); + assertEquals(NUMBER_MOBILE_DE, PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0049171/123456")); } @Test - public void testFormatRemoteNumberE164() throws Exception, InvalidNumberException { - assertThat(PhoneNumberFormatter.formatNumber("+4402079460018", LOCAL_NUMBER_US)).isEqualTo(NUMBER_UK); + public void testFormatRemoteNumberE164() throws InvalidNumberException { + assertEquals(NUMBER_UK, PhoneNumberFormatter.formatNumber("+4402079460018", LOCAL_NUMBER_US)); } - - } diff --git a/app/src/test/java/org/thoughtcrime/securesms/util/RemoteConfigTest.java b/app/src/test/java/org/thoughtcrime/securesms/util/RemoteConfigTest.java index c166817abf..3051df9073 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/util/RemoteConfigTest.java +++ b/app/src/test/java/org/thoughtcrime/securesms/util/RemoteConfigTest.java @@ -11,7 +11,7 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; -import static junit.framework.TestCase.assertTrue; +import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.thoughtcrime.securesms.testutil.TestHelpers.mapOf; diff --git a/app/src/test/java/org/thoughtcrime/securesms/util/RemoteExpirationTest_getTimeUntilDeprecation.java b/app/src/test/java/org/thoughtcrime/securesms/util/RemoteExpirationTest_getTimeUntilDeprecation.java index 87f990488a..a8adcc757b 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/util/RemoteExpirationTest_getTimeUntilDeprecation.java +++ b/app/src/test/java/org/thoughtcrime/securesms/util/RemoteExpirationTest_getTimeUntilDeprecation.java @@ -10,7 +10,7 @@ import org.thoughtcrime.securesms.testutil.EmptyLogger; import java.util.Arrays; import java.util.Collection; -import static junit.framework.TestCase.assertEquals; +import static org.junit.Assert.assertEquals; @RunWith(Parameterized.class) public class RemoteExpirationTest_getTimeUntilDeprecation { diff --git a/app/src/test/java/org/thoughtcrime/securesms/util/Rfc5724UriTest.java b/app/src/test/java/org/thoughtcrime/securesms/util/Rfc5724UriTest.java index 3af2c0e9f4..91f1be83bf 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/util/Rfc5724UriTest.java +++ b/app/src/test/java/org/thoughtcrime/securesms/util/Rfc5724UriTest.java @@ -17,18 +17,17 @@ package org.thoughtcrime.securesms.util; -import junit.framework.AssertionFailedError; - import org.junit.Test; import org.thoughtcrime.securesms.BaseUnitTest; import java.net.URISyntaxException; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThrows; public class Rfc5724UriTest extends BaseUnitTest { - @Test public void testInvalidPath() throws Exception { + @Test public void testInvalidPath() { final String[] invalidSchemaUris = { "", ":", @@ -39,12 +38,11 @@ public class Rfc5724UriTest extends BaseUnitTest { }; for (String uri : invalidSchemaUris) { - try { - new Rfc5724Uri(uri); - throw new AssertionFailedError("URISyntaxException should be thrown"); - } catch (URISyntaxException e) { - // success - } + assertThrows( + "URISyntaxException should be thrown", + URISyntaxException.class, + () -> new Rfc5724Uri(uri) + ); } } @@ -59,7 +57,7 @@ public class Rfc5724UriTest extends BaseUnitTest { for (String[] uriTestPair : uriTestPairs) { final Rfc5724Uri testUri = new Rfc5724Uri(uriTestPair[0]); - assertTrue(testUri.getSchema().equals(uriTestPair[1])); + assertEquals(uriTestPair[1], testUri.getSchema()); } } @@ -78,7 +76,7 @@ public class Rfc5724UriTest extends BaseUnitTest { for (String[] uriTestPair : uriTestPairs) { final Rfc5724Uri testUri = new Rfc5724Uri(uriTestPair[0]); - assertTrue(testUri.getPath().equals(uriTestPair[1])); + assertEquals(uriTestPair[1], testUri.getPath()); } } @@ -97,9 +95,7 @@ public class Rfc5724UriTest extends BaseUnitTest { for (String[] uriTestPair : uriTestPairs) { final Rfc5724Uri testUri = new Rfc5724Uri(uriTestPair[0]); final String paramResult = testUri.getQueryParams().get(uriTestPair[1]); - - if (paramResult == null) assertTrue(uriTestPair[2] == null); - else assertTrue(paramResult.equals(uriTestPair[2])); + assertEquals(uriTestPair[2], paramResult); } } } diff --git a/app/src/test/java/org/thoughtcrime/securesms/util/SemanticVersionTest_compareTo.java b/app/src/test/java/org/thoughtcrime/securesms/util/SemanticVersionTest_compareTo.java index 27a58061e7..1be7aece30 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/util/SemanticVersionTest_compareTo.java +++ b/app/src/test/java/org/thoughtcrime/securesms/util/SemanticVersionTest_compareTo.java @@ -7,7 +7,7 @@ import org.junit.runners.Parameterized; import java.util.Arrays; import java.util.Collection; -import static junit.framework.TestCase.assertEquals; +import static org.junit.Assert.assertEquals; @RunWith(Parameterized.class) public class SemanticVersionTest_compareTo { diff --git a/app/src/test/java/org/thoughtcrime/securesms/util/SemanticVersionTest_parse.java b/app/src/test/java/org/thoughtcrime/securesms/util/SemanticVersionTest_parse.java index 8de0863896..e1f51192bc 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/util/SemanticVersionTest_parse.java +++ b/app/src/test/java/org/thoughtcrime/securesms/util/SemanticVersionTest_parse.java @@ -7,7 +7,7 @@ import org.junit.runners.Parameterized; import java.util.Arrays; import java.util.Collection; -import static junit.framework.TestCase.assertEquals; +import static org.junit.Assert.assertEquals; @RunWith(Parameterized.class) public class SemanticVersionTest_parse { diff --git a/app/src/test/java/org/thoughtcrime/securesms/util/ShortCodeUtilTest.java b/app/src/test/java/org/thoughtcrime/securesms/util/ShortCodeUtilTest.java index f6ebf685c1..eefdce3acf 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/util/ShortCodeUtilTest.java +++ b/app/src/test/java/org/thoughtcrime/securesms/util/ShortCodeUtilTest.java @@ -2,8 +2,8 @@ package org.thoughtcrime.securesms.util; import org.junit.Test; -import static junit.framework.Assert.assertFalse; -import static junit.framework.Assert.assertTrue; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; public class ShortCodeUtilTest { diff --git a/app/src/test/java/org/thoughtcrime/securesms/util/SignalMeUtilText_parseE164FromLink.kt b/app/src/test/java/org/thoughtcrime/securesms/util/SignalMeUtilText_parseE164FromLink.kt index 83af0b1b1b..eff351652a 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/util/SignalMeUtilText_parseE164FromLink.kt +++ b/app/src/test/java/org/thoughtcrime/securesms/util/SignalMeUtilText_parseE164FromLink.kt @@ -5,8 +5,8 @@ import androidx.test.core.app.ApplicationProvider import io.mockk.every import io.mockk.mockkObject import io.mockk.unmockkAll -import junit.framework.TestCase import org.junit.After +import org.junit.Assert.assertEquals import org.junit.Before import org.junit.Test import org.junit.runner.RunWith @@ -39,7 +39,7 @@ class SignalMeUtilText_parseE164FromLink(private val input: String?, private val @Test fun parse() { - TestCase.assertEquals(output, parseE164FromLink(application, input)) + assertEquals(output, parseE164FromLink(application, input)) } companion object { diff --git a/app/src/test/java/org/thoughtcrime/securesms/util/SignalProxyUtilText_convertUserEnteredAddressToHost.java b/app/src/test/java/org/thoughtcrime/securesms/util/SignalProxyUtilText_convertUserEnteredAddressToHost.java index 349961a643..e6caea92b0 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/util/SignalProxyUtilText_convertUserEnteredAddressToHost.java +++ b/app/src/test/java/org/thoughtcrime/securesms/util/SignalProxyUtilText_convertUserEnteredAddressToHost.java @@ -7,7 +7,7 @@ import org.junit.runners.Parameterized; import java.util.Arrays; import java.util.Collection; -import static junit.framework.TestCase.assertEquals; +import static org.junit.Assert.assertEquals; @RunWith(Parameterized.class) public class SignalProxyUtilText_convertUserEnteredAddressToHost { diff --git a/app/src/test/java/org/thoughtcrime/securesms/util/SignalProxyUtilText_generateProxyUrl.java b/app/src/test/java/org/thoughtcrime/securesms/util/SignalProxyUtilText_generateProxyUrl.java index b47a1f605b..07fe132a74 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/util/SignalProxyUtilText_generateProxyUrl.java +++ b/app/src/test/java/org/thoughtcrime/securesms/util/SignalProxyUtilText_generateProxyUrl.java @@ -7,7 +7,7 @@ import org.junit.runners.Parameterized; import java.util.Arrays; import java.util.Collection; -import static junit.framework.TestCase.assertEquals; +import static org.junit.Assert.assertEquals; @RunWith(Parameterized.class) public class SignalProxyUtilText_generateProxyUrl { diff --git a/app/src/test/java/org/thoughtcrime/securesms/util/SignalProxyUtilText_parseHostFromProxyDeepLink.java b/app/src/test/java/org/thoughtcrime/securesms/util/SignalProxyUtilText_parseHostFromProxyDeepLink.java index 486290d3e8..644e01f485 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/util/SignalProxyUtilText_parseHostFromProxyDeepLink.java +++ b/app/src/test/java/org/thoughtcrime/securesms/util/SignalProxyUtilText_parseHostFromProxyDeepLink.java @@ -7,7 +7,7 @@ import org.junit.runners.Parameterized; import java.util.Arrays; import java.util.Collection; -import static junit.framework.TestCase.assertEquals; +import static org.junit.Assert.assertEquals; @RunWith(Parameterized.class) public class SignalProxyUtilText_parseHostFromProxyDeepLink { diff --git a/core-util-jvm/src/test/java/org/signal/core/util/ResettableLazyTests.kt b/core-util-jvm/src/test/java/org/signal/core/util/ResettableLazyTests.kt index b719209c23..5294143abf 100644 --- a/core-util-jvm/src/test/java/org/signal/core/util/ResettableLazyTests.kt +++ b/core-util-jvm/src/test/java/org/signal/core/util/ResettableLazyTests.kt @@ -5,9 +5,9 @@ package org.signal.core.util -import junit.framework.TestCase.assertEquals -import junit.framework.TestCase.assertFalse -import junit.framework.TestCase.assertTrue +import org.junit.Assert.assertEquals +import org.junit.Assert.assertFalse +import org.junit.Assert.assertTrue import org.junit.Test import java.util.concurrent.CountDownLatch diff --git a/libsignal-service/src/test/java/org/whispersystems/signalservice/api/crypto/SigningCertificateTest.java b/libsignal-service/src/test/java/org/whispersystems/signalservice/api/crypto/SigningCertificateTest.java index e7eae7e297..982ab80e24 100644 --- a/libsignal-service/src/test/java/org/whispersystems/signalservice/api/crypto/SigningCertificateTest.java +++ b/libsignal-service/src/test/java/org/whispersystems/signalservice/api/crypto/SigningCertificateTest.java @@ -1,8 +1,7 @@ package org.whispersystems.signalservice.api.crypto; -import junit.framework.TestCase; - import org.conscrypt.Conscrypt; +import org.junit.Test; import org.whispersystems.signalservice.internal.contacts.crypto.SigningCertificate; import org.signal.core.util.Base64; @@ -16,7 +15,9 @@ import java.security.SignatureException; import java.security.cert.CertPathValidatorException; import java.security.cert.CertificateException; -public class SigningCertificateTest extends TestCase { +import static org.junit.Assert.assertThrows; + +public class SigningCertificateTest { static { // https://github.com/google/conscrypt/issues/1034 @@ -25,6 +26,7 @@ public class SigningCertificateTest extends TestCase { } } + @Test public void testGoodSignature() throws CertificateException, NoSuchAlgorithmException, IOException, KeyStoreException, CertPathValidatorException, SignatureException { String certificateChain = URLDecoder.decode("-----BEGIN%20CERTIFICATE-----%0AMIIEoTCCAwmgAwIBAgIJANEHdl0yo7CWMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV%0ABAYTAlVTMQswCQYDVQQIDAJDQTEUMBIGA1UEBwwLU2FudGEgQ2xhcmExGjAYBgNV%0ABAoMEUludGVsIENvcnBvcmF0aW9uMTAwLgYDVQQDDCdJbnRlbCBTR1ggQXR0ZXN0%0AYXRpb24gUmVwb3J0IFNpZ25pbmcgQ0EwHhcNMTYxMTIyMDkzNjU4WhcNMjYxMTIw%0AMDkzNjU4WjB7MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFDASBgNVBAcMC1Nh%0AbnRhIENsYXJhMRowGAYDVQQKDBFJbnRlbCBDb3Jwb3JhdGlvbjEtMCsGA1UEAwwk%0ASW50ZWwgU0dYIEF0dGVzdGF0aW9uIFJlcG9ydCBTaWduaW5nMIIBIjANBgkqhkiG%0A9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqXot4OZuphR8nudFrAFiaGxxkgma/Es/BA%2Bt%0AbeCTUR106AL1ENcWA4FX3K%2BE9BBL0/7X5rj5nIgX/R/1ubhkKWw9gfqPG3KeAtId%0Acv/uTO1yXv50vqaPvE1CRChvzdS/ZEBqQ5oVvLTPZ3VEicQjlytKgN9cLnxbwtuv%0ALUK7eyRPfJW/ksddOzP8VBBniolYnRCD2jrMRZ8nBM2ZWYwnXnwYeOAHV%2BW9tOhA%0AImwRwKF/95yAsVwd21ryHMJBcGH70qLagZ7Ttyt%2B%2BqO/6%2BKAXJuKwZqjRlEtSEz8%0AgZQeFfVYgcwSfo96oSMAzVr7V0L6HSDLRnpb6xxmbPdqNol4tQIDAQABo4GkMIGh%0AMB8GA1UdIwQYMBaAFHhDe3amfrzQr35CN%2Bs1fDuHAVE8MA4GA1UdDwEB/wQEAwIG%0AwDAMBgNVHRMBAf8EAjAAMGAGA1UdHwRZMFcwVaBToFGGT2h0dHA6Ly90cnVzdGVk%0Ac2VydmljZXMuaW50ZWwuY29tL2NvbnRlbnQvQ1JML1NHWC9BdHRlc3RhdGlvblJl%0AcG9ydFNpZ25pbmdDQS5jcmwwDQYJKoZIhvcNAQELBQADggGBAGcIthtcK9IVRz4r%0ARq%2BZKE%2B7k50/OxUsmW8aavOzKb0iCx07YQ9rzi5nU73tME2yGRLzhSViFs/LpFa9%0AlpQL6JL1aQwmDR74TxYGBAIi5f4I5TJoCCEqRHz91kpG6Uvyn2tLmnIdJbPE4vYv%0AWLrtXXfFBSSPD4Afn7%2B3/XUggAlc7oCTizOfbbtOFlYA4g5KcYgS1J2ZAeMQqbUd%0AZseZCcaZZZn65tdqee8UXZlDvx0%2BNdO0LR%2B5pFy%2BjuM0wWbu59MvzcmTXbjsi7HY%0A6zd53Yq5K244fwFHRQ8eOB0IWB%2B4PfM7FeAApZvlfqlKOlLcZL2uyVmzRkyR5yW7%0A2uo9mehX44CiPJ2fse9Y6eQtcfEhMPkmHXI01sN%2BKwPbpA39%2BxOsStjhP9N1Y1a2%0AtQAVo%2ByVgLgV2Hws73Fc0o3wC78qPEA%2Bv2aRs/Be3ZFDgDyghc/1fgU%2B7C%2BP6kbq%0Ad4poyb6IW8KCJbxfMJvkordNOgOUUxndPHEi/tb/U7uLjLOgPA%3D%3D%0A-----END%20CERTIFICATE-----%0A-----BEGIN%20CERTIFICATE-----%0AMIIFSzCCA7OgAwIBAgIJANEHdl0yo7CUMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV%0ABAYTAlVTMQswCQYDVQQIDAJDQTEUMBIGA1UEBwwLU2FudGEgQ2xhcmExGjAYBgNV%0ABAoMEUludGVsIENvcnBvcmF0aW9uMTAwLgYDVQQDDCdJbnRlbCBTR1ggQXR0ZXN0%0AYXRpb24gUmVwb3J0IFNpZ25pbmcgQ0EwIBcNMTYxMTE0MTUzNzMxWhgPMjA0OTEy%0AMzEyMzU5NTlaMH4xCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEUMBIGA1UEBwwL%0AU2FudGEgQ2xhcmExGjAYBgNVBAoMEUludGVsIENvcnBvcmF0aW9uMTAwLgYDVQQD%0ADCdJbnRlbCBTR1ggQXR0ZXN0YXRpb24gUmVwb3J0IFNpZ25pbmcgQ0EwggGiMA0G%0ACSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCfPGR%2BtXc8u1EtJzLA10Feu1Wg%2Bp7e%0ALmSRmeaCHbkQ1TF3Nwl3RmpqXkeGzNLd69QUnWovYyVSndEMyYc3sHecGgfinEeh%0ArgBJSEdsSJ9FpaFdesjsxqzGRa20PYdnnfWcCTvFoulpbFR4VBuXnnVLVzkUvlXT%0AL/TAnd8nIZk0zZkFJ7P5LtePvykkar7LcSQO85wtcQe0R1Raf/sQ6wYKaKmFgCGe%0ANpEJUmg4ktal4qgIAxk%2BQHUxQE42sxViN5mqglB0QJdUot/o9a/V/mMeH8KvOAiQ%0AbyinkNndn%2BBgk5sSV5DFgF0DffVqmVMblt5p3jPtImzBIH0QQrXJq39AT8cRwP5H%0AafuVeLHcDsRp6hol4P%2BZFIhu8mmbI1u0hH3W/0C2BuYXB5PC%2B5izFFh/nP0lc2Lf%0A6rELO9LZdnOhpL1ExFOq9H/B8tPQ84T3Sgb4nAifDabNt/zu6MmCGo5U8lwEFtGM%0ARoOaX4AS%2B909x00lYnmtwsDVWv9vBiJCXRsCAwEAAaOByTCBxjBgBgNVHR8EWTBX%0AMFWgU6BRhk9odHRwOi8vdHJ1c3RlZHNlcnZpY2VzLmludGVsLmNvbS9jb250ZW50%0AL0NSTC9TR1gvQXR0ZXN0YXRpb25SZXBvcnRTaWduaW5nQ0EuY3JsMB0GA1UdDgQW%0ABBR4Q3t2pn680K9%2BQjfrNXw7hwFRPDAfBgNVHSMEGDAWgBR4Q3t2pn680K9%2BQjfr%0ANXw7hwFRPDAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADANBgkq%0AhkiG9w0BAQsFAAOCAYEAeF8tYMXICvQqeXYQITkV2oLJsp6J4JAqJabHWxYJHGir%0AIEqucRiJSSx%2BHjIJEUVaj8E0QjEud6Y5lNmXlcjqRXaCPOqK0eGRz6hi%2BripMtPZ%0AsFNaBwLQVV905SDjAzDzNIDnrcnXyB4gcDFCvwDFKKgLRjOB/WAqgscDUoGq5ZVi%0AzLUzTqiQPmULAQaB9c6Oti6snEFJiCQ67JLyW/E83/frzCmO5Ru6WjU4tmsmy8Ra%0AUd4APK0wZTGtfPXU7w%2BIBdG5Ez0kE1qzxGQaL4gINJ1zMyleDnbuS8UicjJijvqA%0A152Sq049ESDz%2B1rRGc2NVEqh1KaGXmtXvqxXcTB%2BLjy5Bw2ke0v8iGngFBPqCTVB%0A3op5KBG3RjbF6RRSzwzuWfL7QErNC8WEy5yDVARzTA5%2BxmBc388v9Dm21HGfcC8O%0ADD%2BgT9sSpssq0ascmvH49MOgjt1yoysLtdCtJW/9FZpoOypaHx0R%2BmJTLwPXVMrv%0ADaVzWh5aiEx%2BidkSGMnX%0A-----END%20CERTIFICATE-----%0A"); String signature = "Kn2Ya2T039qvEWIzIQeSksNyyCQIkcVjciClcp3a6C766dJANXxLLIn6CfyvUZddMtePrTOLpC2e5QTQxB4RwtWmFfr7nxRdFUtA3dH2DAQL5DqqlmPv46ZWSPfiiOXUsu8vNgX3Z4Znt4Q+dIPIquNPY8ZmiAcpKR7n2K3QtabgOnJ2EyngabY3LMQTtriXbZjpl53ynhVhV1rciMdvMaTz4DUYt7gKi+KeNd3CBFSev+eTgYPC3em96J/3bfVR+wC5m3JGbIBCrwAsbO05JkiNIMck3s+p4d/hwiABR75EplxaWmGgIm6VvUKtGhdJ/cNrmF0nxMX6Vi6N2WaLTA=="; @@ -38,6 +40,7 @@ public class SigningCertificateTest extends TestCase { certificate.verifySignature(signatureBody, signature); } + @Test public void testBadSignature() throws CertificateException, NoSuchAlgorithmException, IOException, KeyStoreException, CertPathValidatorException, SignatureException { String certificateChain = URLDecoder.decode("-----BEGIN%20CERTIFICATE-----%0AMIIEoTCCAwmgAwIBAgIJANEHdl0yo7CWMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV%0ABAYTAlVTMQswCQYDVQQIDAJDQTEUMBIGA1UEBwwLU2FudGEgQ2xhcmExGjAYBgNV%0ABAoMEUludGVsIENvcnBvcmF0aW9uMTAwLgYDVQQDDCdJbnRlbCBTR1ggQXR0ZXN0%0AYXRpb24gUmVwb3J0IFNpZ25pbmcgQ0EwHhcNMTYxMTIyMDkzNjU4WhcNMjYxMTIw%0AMDkzNjU4WjB7MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFDASBgNVBAcMC1Nh%0AbnRhIENsYXJhMRowGAYDVQQKDBFJbnRlbCBDb3Jwb3JhdGlvbjEtMCsGA1UEAwwk%0ASW50ZWwgU0dYIEF0dGVzdGF0aW9uIFJlcG9ydCBTaWduaW5nMIIBIjANBgkqhkiG%0A9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqXot4OZuphR8nudFrAFiaGxxkgma/Es/BA%2Bt%0AbeCTUR106AL1ENcWA4FX3K%2BE9BBL0/7X5rj5nIgX/R/1ubhkKWw9gfqPG3KeAtId%0Acv/uTO1yXv50vqaPvE1CRChvzdS/ZEBqQ5oVvLTPZ3VEicQjlytKgN9cLnxbwtuv%0ALUK7eyRPfJW/ksddOzP8VBBniolYnRCD2jrMRZ8nBM2ZWYwnXnwYeOAHV%2BW9tOhA%0AImwRwKF/95yAsVwd21ryHMJBcGH70qLagZ7Ttyt%2B%2BqO/6%2BKAXJuKwZqjRlEtSEz8%0AgZQeFfVYgcwSfo96oSMAzVr7V0L6HSDLRnpb6xxmbPdqNol4tQIDAQABo4GkMIGh%0AMB8GA1UdIwQYMBaAFHhDe3amfrzQr35CN%2Bs1fDuHAVE8MA4GA1UdDwEB/wQEAwIG%0AwDAMBgNVHRMBAf8EAjAAMGAGA1UdHwRZMFcwVaBToFGGT2h0dHA6Ly90cnVzdGVk%0Ac2VydmljZXMuaW50ZWwuY29tL2NvbnRlbnQvQ1JML1NHWC9BdHRlc3RhdGlvblJl%0AcG9ydFNpZ25pbmdDQS5jcmwwDQYJKoZIhvcNAQELBQADggGBAGcIthtcK9IVRz4r%0ARq%2BZKE%2B7k50/OxUsmW8aavOzKb0iCx07YQ9rzi5nU73tME2yGRLzhSViFs/LpFa9%0AlpQL6JL1aQwmDR74TxYGBAIi5f4I5TJoCCEqRHz91kpG6Uvyn2tLmnIdJbPE4vYv%0AWLrtXXfFBSSPD4Afn7%2B3/XUggAlc7oCTizOfbbtOFlYA4g5KcYgS1J2ZAeMQqbUd%0AZseZCcaZZZn65tdqee8UXZlDvx0%2BNdO0LR%2B5pFy%2BjuM0wWbu59MvzcmTXbjsi7HY%0A6zd53Yq5K244fwFHRQ8eOB0IWB%2B4PfM7FeAApZvlfqlKOlLcZL2uyVmzRkyR5yW7%0A2uo9mehX44CiPJ2fse9Y6eQtcfEhMPkmHXI01sN%2BKwPbpA39%2BxOsStjhP9N1Y1a2%0AtQAVo%2ByVgLgV2Hws73Fc0o3wC78qPEA%2Bv2aRs/Be3ZFDgDyghc/1fgU%2B7C%2BP6kbq%0Ad4poyb6IW8KCJbxfMJvkordNOgOUUxndPHEi/tb/U7uLjLOgPA%3D%3D%0A-----END%20CERTIFICATE-----%0A-----BEGIN%20CERTIFICATE-----%0AMIIFSzCCA7OgAwIBAgIJANEHdl0yo7CUMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV%0ABAYTAlVTMQswCQYDVQQIDAJDQTEUMBIGA1UEBwwLU2FudGEgQ2xhcmExGjAYBgNV%0ABAoMEUludGVsIENvcnBvcmF0aW9uMTAwLgYDVQQDDCdJbnRlbCBTR1ggQXR0ZXN0%0AYXRpb24gUmVwb3J0IFNpZ25pbmcgQ0EwIBcNMTYxMTE0MTUzNzMxWhgPMjA0OTEy%0AMzEyMzU5NTlaMH4xCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEUMBIGA1UEBwwL%0AU2FudGEgQ2xhcmExGjAYBgNVBAoMEUludGVsIENvcnBvcmF0aW9uMTAwLgYDVQQD%0ADCdJbnRlbCBTR1ggQXR0ZXN0YXRpb24gUmVwb3J0IFNpZ25pbmcgQ0EwggGiMA0G%0ACSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCfPGR%2BtXc8u1EtJzLA10Feu1Wg%2Bp7e%0ALmSRmeaCHbkQ1TF3Nwl3RmpqXkeGzNLd69QUnWovYyVSndEMyYc3sHecGgfinEeh%0ArgBJSEdsSJ9FpaFdesjsxqzGRa20PYdnnfWcCTvFoulpbFR4VBuXnnVLVzkUvlXT%0AL/TAnd8nIZk0zZkFJ7P5LtePvykkar7LcSQO85wtcQe0R1Raf/sQ6wYKaKmFgCGe%0ANpEJUmg4ktal4qgIAxk%2BQHUxQE42sxViN5mqglB0QJdUot/o9a/V/mMeH8KvOAiQ%0AbyinkNndn%2BBgk5sSV5DFgF0DffVqmVMblt5p3jPtImzBIH0QQrXJq39AT8cRwP5H%0AafuVeLHcDsRp6hol4P%2BZFIhu8mmbI1u0hH3W/0C2BuYXB5PC%2B5izFFh/nP0lc2Lf%0A6rELO9LZdnOhpL1ExFOq9H/B8tPQ84T3Sgb4nAifDabNt/zu6MmCGo5U8lwEFtGM%0ARoOaX4AS%2B909x00lYnmtwsDVWv9vBiJCXRsCAwEAAaOByTCBxjBgBgNVHR8EWTBX%0AMFWgU6BRhk9odHRwOi8vdHJ1c3RlZHNlcnZpY2VzLmludGVsLmNvbS9jb250ZW50%0AL0NSTC9TR1gvQXR0ZXN0YXRpb25SZXBvcnRTaWduaW5nQ0EuY3JsMB0GA1UdDgQW%0ABBR4Q3t2pn680K9%2BQjfrNXw7hwFRPDAfBgNVHSMEGDAWgBR4Q3t2pn680K9%2BQjfr%0ANXw7hwFRPDAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADANBgkq%0AhkiG9w0BAQsFAAOCAYEAeF8tYMXICvQqeXYQITkV2oLJsp6J4JAqJabHWxYJHGir%0AIEqucRiJSSx%2BHjIJEUVaj8E0QjEud6Y5lNmXlcjqRXaCPOqK0eGRz6hi%2BripMtPZ%0AsFNaBwLQVV905SDjAzDzNIDnrcnXyB4gcDFCvwDFKKgLRjOB/WAqgscDUoGq5ZVi%0AzLUzTqiQPmULAQaB9c6Oti6snEFJiCQ67JLyW/E83/frzCmO5Ru6WjU4tmsmy8Ra%0AUd4APK0wZTGtfPXU7w%2BIBdG5Ez0kE1qzxGQaL4gINJ1zMyleDnbuS8UicjJijvqA%0A152Sq049ESDz%2B1rRGc2NVEqh1KaGXmtXvqxXcTB%2BLjy5Bw2ke0v8iGngFBPqCTVB%0A3op5KBG3RjbF6RRSzwzuWfL7QErNC8WEy5yDVARzTA5%2BxmBc388v9Dm21HGfcC8O%0ADD%2BgT9sSpssq0ascmvH49MOgjt1yoysLtdCtJW/9FZpoOypaHx0R%2BmJTLwPXVMrv%0ADaVzWh5aiEx%2BidkSGMnX%0A-----END%20CERTIFICATE-----%0A"); String signature = "Kn2Ya2T039qvEWIzIQeSksNyyCQIkcVjciClcp3a6C766dJANXxLLIn6CfyvUZddMtePrTOLpC2e5QTQxB4RwtWmFfr7nxRdFUtA3dH2DAQL5DqqlmPv46ZWSPfiiOXUsu8vNgX3Z4Znt4Q+dIPIquNPY8ZmiAcpKR7n2K3QtabgOnJ2EyngabY3LMQTtriXbZjpl53ynhVhV1rciMdvMaTz4DUYt7gKi+KeNd3CBFSev+eTgYPC3em96J/3bfVR+wC5m3JGbIBCrwAsbO05JkiNIMck3s+p4d/hwiABR75EplxaWmGgIm6VvUKtGhdJ/cNrmF0nxMX6Vi6N2WaLTA=="; @@ -66,22 +69,17 @@ public class SigningCertificateTest extends TestCase { } } + @Test public void testBadChain() throws CertificateException, NoSuchAlgorithmException, IOException, KeyStoreException, CertPathValidatorException, SignatureException { String certificateChain = URLDecoder.decode("-----BEGIN%20CERTIFICATE-----%0AMIIEoTCCAwmgAwIBAgIJANEHdl0yo7CWMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV%0ABAYTAlVTMQswCQYDVQQIDAJDQTEUMBIGA1UEBwwLU2FudGEgQ2xhcmExGjAYBgNV%0ABAoMEUludGVsIENvcnBvcmF0aW9uMTAwLgYDVQQDDCdJbnRlbCBTR1ggQXR0ZXN0%0AYXRpb24gUmVwb3J0IFNpZ25pbmcgQ0EwHhcNMTYxMTIyMDkzNjU4WhcNMjYxMTIw%0AMDkzNjU4WjB7MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFDASBgNVBAcMC1Nh%0AbnRhIENsYXJhMRowGAYDVQQKDBFJbnRlbCBDb3Jwb3JhdGlvbjEtMCsGA1UEAwwk%0ASW50ZWwgU0dYIEF0dGVzdGF0aW9uIFJlcG9ydCBTaWduaW5nMIIBIjANBgkqhkiG%0A9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqXot4OZuphR8nudFrAFiaGxxkgma/Es/BA%2Bt%0AbeCTUR106AL1ENcWA4FX3K%2BE9BBL0/7X5rj5nIgX/R/1ubhkKWw9gfqPG3KeAtId%0Acv/uTO1yXv50vqaPvE1CRChvzdS/ZEBqQ5oVvLTPZ3VEicQjlytKgN9cLnxbwtuv%0ALUK7eyRPfJW/ksddOzP8VBBniolYnRCD2jrMRZ8nBM2ZWYwnXnwYeOAHV%2BW9tOhA%0AImwRwKF/95yAsVwd21ryHMJBcGH70qLagZ7Ttyt%2B%2BqO/6%2BKAXJuKwZqjRlEtSEz8%0AgZQeFfVYgcwSfo96oSMAzVr7V0L6HSDLRnpb6xxmbPdqNol4tQIDAQABo4GkMIGh%0AMB8GA1UdIwQYMBaAFHhDe3amfrzQr35CN%2Bs1fDuHAVE8MA4GA1UdDwEB/wQEAwIG%0AwDAMBgNVHRMBAf8EAjAAMGAGA1UdHwRZMFcwVaBToFGGT2h0dHA6Ly90cnVzdGVk%0Ac2VydmljZXMuaW50ZWwuY29tL2NvbnRlbnQvQ1JML1NHWC9BdHRlc3RhdGlvblJl%0AcG9ydFNpZ25pbmdDQS5jcmwwDQYJKoZIhvcNAQELBQADggGBAGcIthtcK9IVRz4r%0ARq%2BZKE%2B7k50/OxUsmW8aavOzKb0iCx07YQ9rzi5nU73tME2yGRLzhSViFs/LpFa9%0AlpQL6JL1aQwmDR74TxYGBAIi5f4I5TJoCCEqRHz91kpG6Uvyn2tLmnIdJbPE4vYv%0AWLrtXXfFBSSPD4Afn7%2B3/XUggAlc7oCTizOfbbtOFlYA4g5KcYgS1J2ZAeMQqbUd%0AZseZCcaZZZn65tdqee8UXZlDvx0%2BNdO0LR%2B5pFy%2BjuM0wWbu59MvzcmTXbjsi7HY%0A6zd53Yq5K244fwFHRQ8eOB0IWB%2B4PfM7FeAApZvlfqlKOlLcZL2uyVmzRkyR5yW7%0A2uo9mehX44CiPJ2fse9Y6eQtcfEhMPkmHXI01sN%2BKwPbpA39%2BxOsStjhP9N1Y1a2%0AtQAVo%2ByVgLgV2Hws73Fc0o3wC78qPEA%2Bv2aRs/Be3ZFDgDyghc/1fgU%2B7C%2BP6kbq%0Ad4poyb6IW8KCJbxfMJvkordNOgOUUxndPHEi/tb/U7uLjLOgAA%3D%3D%0A-----END%20CERTIFICATE-----%0A-----BEGIN%20CERTIFICATE-----%0AMIIFSzCCA7OgAwIBAgIJANEHdl0yo7CUMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV%0ABAYTAlVTMQswCQYDVQQIDAJDQTEUMBIGA1UEBwwLU2FudGEgQ2xhcmExGjAYBgNV%0ABAoMEUludGVsIENvcnBvcmF0aW9uMTAwLgYDVQQDDCdJbnRlbCBTR1ggQXR0ZXN0%0AYXRpb24gUmVwb3J0IFNpZ25pbmcgQ0EwIBcNMTYxMTE0MTUzNzMxWhgPMjA0OTEy%0AMzEyMzU5NTlaMH4xCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEUMBIGA1UEBwwL%0AU2FudGEgQ2xhcmExGjAYBgNVBAoMEUludGVsIENvcnBvcmF0aW9uMTAwLgYDVQQD%0ADCdJbnRlbCBTR1ggQXR0ZXN0YXRpb24gUmVwb3J0IFNpZ25pbmcgQ0EwggGiMA0G%0ACSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCfPGR%2BtXc8u1EtJzLA10Feu1Wg%2Bp7e%0ALmSRmeaCHbkQ1TF3Nwl3RmpqXkeGzNLd69QUnWovYyVSndEMyYc3sHecGgfinEeh%0ArgBJSEdsSJ9FpaFdesjsxqzGRa20PYdnnfWcCTvFoulpbFR4VBuXnnVLVzkUvlXT%0AL/TAnd8nIZk0zZkFJ7P5LtePvykkar7LcSQO85wtcQe0R1Raf/sQ6wYKaKmFgCGe%0ANpEJUmg4ktal4qgIAxk%2BQHUxQE42sxViN5mqglB0QJdUot/o9a/V/mMeH8KvOAiQ%0AbyinkNndn%2BBgk5sSV5DFgF0DffVqmVMblt5p3jPtImzBIH0QQrXJq39AT8cRwP5H%0AafuVeLHcDsRp6hol4P%2BZFIhu8mmbI1u0hH3W/0C2BuYXB5PC%2B5izFFh/nP0lc2Lf%0A6rELO9LZdnOhpL1ExFOq9H/B8tPQ84T3Sgb4nAifDabNt/zu6MmCGo5U8lwEFtGM%0ARoOaX4AS%2B909x00lYnmtwsDVWv9vBiJCXRsCAwEAAaOByTCBxjBgBgNVHR8EWTBX%0AMFWgU6BRhk9odHRwOi8vdHJ1c3RlZHNlcnZpY2VzLmludGVsLmNvbS9jb250ZW50%0AL0NSTC9TR1gvQXR0ZXN0YXRpb25SZXBvcnRTaWduaW5nQ0EuY3JsMB0GA1UdDgQW%0ABBR4Q3t2pn680K9%2BQjfrNXw7hwFRPDAfBgNVHSMEGDAWgBR4Q3t2pn680K9%2BQjfr%0ANXw7hwFRPDAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADANBgkq%0AhkiG9w0BAQsFAAOCAYEAeF8tYMXICvQqeXYQITkV2oLJsp6J4JAqJabHWxYJHGir%0AIEqucRiJSSx%2BHjIJEUVaj8E0QjEud6Y5lNmXlcjqRXaCPOqK0eGRz6hi%2BripMtPZ%0AsFNaBwLQVV905SDjAzDzNIDnrcnXyB4gcDFCvwDFKKgLRjOB/WAqgscDUoGq5ZVi%0AzLUzTqiQPmULAQaB9c6Oti6snEFJiCQ67JLyW/E83/frzCmO5Ru6WjU4tmsmy8Ra%0AUd4APK0wZTGtfPXU7w%2BIBdG5Ez0kE1qzxGQaL4gINJ1zMyleDnbuS8UicjJijvqA%0A152Sq049ESDz%2B1rRGc2NVEqh1KaGXmtXvqxXcTB%2BLjy5Bw2ke0v8iGngFBPqCTVB%0A3op5KBG3RjbF6RRSzwzuWfL7QErNC8WEy5yDVARzTA5%2BxmBc388v9Dm21HGfcC8O%0ADD%2BgT9sSpssq0ascmvH49MOgjt1yoysLtdCtJW/9FZpoOypaHx0R%2BmJTLwPXVMrv%0ADaVzWh5aiEx%2BidkSGMnX%0A-----END%20CERTIFICATE-----%0A"); KeyStore keyStore = KeyStore.getInstance("JKS"); keyStore.load(getClass().getResourceAsStream("/ias.jks"), "whisper".toCharArray()); - SigningCertificate certificate = null; - - try { - certificate = new SigningCertificate(certificateChain, keyStore); - throw new AssertionError("Should not be a valid chain"); - } catch (CertPathValidatorException e) { - // Good - } + assertThrows( + "Should not be a valid chain", + CertPathValidatorException.class, + () -> new SigningCertificate(certificateChain, keyStore) + ); } - - - } diff --git a/libsignal-service/src/test/java/org/whispersystems/signalservice/api/crypto/UnidentifiedAccessTest.java b/libsignal-service/src/test/java/org/whispersystems/signalservice/api/crypto/UnidentifiedAccessTest.java index 205f24edf7..e5465e9166 100644 --- a/libsignal-service/src/test/java/org/whispersystems/signalservice/api/crypto/UnidentifiedAccessTest.java +++ b/libsignal-service/src/test/java/org/whispersystems/signalservice/api/crypto/UnidentifiedAccessTest.java @@ -1,16 +1,16 @@ package org.whispersystems.signalservice.api.crypto; -import junit.framework.TestCase; - -import org.conscrypt.Conscrypt; import org.conscrypt.OpenSSLProvider; +import org.junit.Test; import org.signal.libsignal.zkgroup.InvalidInputException; import org.signal.libsignal.zkgroup.profiles.ProfileKey; import java.security.Security; import java.util.Arrays; -public class UnidentifiedAccessTest extends TestCase { +import static org.junit.Assert.assertArrayEquals; + +public class UnidentifiedAccessTest { static { // https://github.com/google/conscrypt/issues/1034 @@ -21,12 +21,12 @@ public class UnidentifiedAccessTest extends TestCase { private final byte[] EXPECTED_RESULT = {(byte)0x5a, (byte)0x72, (byte)0x3a, (byte)0xce, (byte)0xe5, (byte)0x2c, (byte)0x5e, (byte)0xa0, (byte)0x2b, (byte)0x92, (byte)0xa3, (byte)0xa3, (byte)0x60, (byte)0xc0, (byte)0x95, (byte)0x95}; + @Test public void testKeyDerivation() throws InvalidInputException { byte[] key = new byte[32]; Arrays.fill(key, (byte)0x02); byte[] result = UnidentifiedAccess.deriveAccessKeyFrom(new ProfileKey(key)); - assertTrue(Arrays.equals(result, EXPECTED_RESULT)); + assertArrayEquals(EXPECTED_RESULT, result); } - } diff --git a/libsignal-service/src/test/java/org/whispersystems/signalservice/api/push/PushTransportDetailsTest.java b/libsignal-service/src/test/java/org/whispersystems/signalservice/api/push/PushTransportDetailsTest.java index cd99985da2..2a53f3ce68 100644 --- a/libsignal-service/src/test/java/org/whispersystems/signalservice/api/push/PushTransportDetailsTest.java +++ b/libsignal-service/src/test/java/org/whispersystems/signalservice/api/push/PushTransportDetailsTest.java @@ -5,28 +5,30 @@ package org.whispersystems.signalservice.api.push; -import junit.framework.TestCase; - +import org.junit.Test; import org.whispersystems.signalservice.internal.push.PushTransportDetails; -public class PushTransportDetailsTest extends TestCase { +import static org.junit.Assert.assertEquals; - private final PushTransportDetails transportV3 = new PushTransportDetails(); +public class PushTransportDetailsTest { + @Test public void testV3Padding() { + PushTransportDetails transportV3 = new PushTransportDetails(); + for (int i=0;i<159;i++) { byte[] message = new byte[i]; - assertEquals(transportV3.getPaddedMessageBody(message).length, 159); + assertEquals(159, transportV3.getPaddedMessageBody(message).length); } for (int i=159;i<319;i++) { byte[] message = new byte[i]; - assertEquals(transportV3.getPaddedMessageBody(message).length, 319); + assertEquals(319, transportV3.getPaddedMessageBody(message).length); } for (int i=319;i<479;i++) { byte[] message = new byte[i]; - assertEquals(transportV3.getPaddedMessageBody(message).length, 479); + assertEquals(479, transportV3.getPaddedMessageBody(message).length); } } } diff --git a/libsignal-service/src/test/java/org/whispersystems/signalservice/api/push/ServiceIdTests.kt b/libsignal-service/src/test/java/org/whispersystems/signalservice/api/push/ServiceIdTests.kt index a79a545e57..e0cc114ae8 100644 --- a/libsignal-service/src/test/java/org/whispersystems/signalservice/api/push/ServiceIdTests.kt +++ b/libsignal-service/src/test/java/org/whispersystems/signalservice/api/push/ServiceIdTests.kt @@ -5,8 +5,8 @@ package org.whispersystems.signalservice.api.push -import junit.framework.TestCase.assertEquals -import junit.framework.TestCase.assertNull +import org.junit.Assert.assertEquals +import org.junit.Assert.assertNull import org.junit.Test import org.whispersystems.signalservice.api.push.ServiceId.ACI import org.whispersystems.signalservice.api.push.ServiceId.PNI diff --git a/libsignal-service/src/test/java/org/whispersystems/signalservice/api/util/PhoneNumberFormatterTest.java b/libsignal-service/src/test/java/org/whispersystems/signalservice/api/util/PhoneNumberFormatterTest.java index 308d7c6703..8d92d04e98 100644 --- a/libsignal-service/src/test/java/org/whispersystems/signalservice/api/util/PhoneNumberFormatterTest.java +++ b/libsignal-service/src/test/java/org/whispersystems/signalservice/api/util/PhoneNumberFormatterTest.java @@ -1,12 +1,14 @@ package org.whispersystems.signalservice.api.util; +import org.junit.Test; -import junit.framework.AssertionFailedError; -import junit.framework.TestCase; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertThrows; +import static org.junit.Assert.assertTrue; -import static org.assertj.core.api.Assertions.assertThat; - -public class PhoneNumberFormatterTest extends TestCase { +public class PhoneNumberFormatterTest { private static final String LOCAL_NUMBER_US = "+15555555555"; private static final String NUMBER_CH = "+41446681800"; private static final String NUMBER_UK = "+442079460018"; @@ -16,7 +18,8 @@ public class PhoneNumberFormatterTest extends TestCase { private static final String COUNTRY_CODE_UK = "44"; private static final String COUNTRY_CODE_DE = "49"; - public void testIsValidNumber() throws Exception { + @Test + public void testIsValidNumber() { assertTrue(PhoneNumberFormatter.isValidNumber("+6831234", "683")); assertTrue(PhoneNumberFormatter.isValidNumber("+35851234", "358")); assertTrue(PhoneNumberFormatter.isValidNumber("+358512345", "358")); @@ -36,54 +39,55 @@ public class PhoneNumberFormatterTest extends TestCase { assertFalse(PhoneNumberFormatter.isValidNumber("+9718123456789012", "971")); } - public void testFormatNumber() throws Exception, InvalidNumberException { - assertThat(PhoneNumberFormatter.formatNumber("(555) 555-5555", LOCAL_NUMBER_US)).isEqualTo(LOCAL_NUMBER_US); - assertThat(PhoneNumberFormatter.formatNumber("555-5555", LOCAL_NUMBER_US)).isEqualTo(LOCAL_NUMBER_US); - assertThat(PhoneNumberFormatter.formatNumber("(123) 555-5555", LOCAL_NUMBER_US)).isNotEqualTo(LOCAL_NUMBER_US); + @Test + public void testFormatNumber() throws InvalidNumberException { + assertEquals(LOCAL_NUMBER_US, PhoneNumberFormatter.formatNumber("(555) 555-5555", LOCAL_NUMBER_US)); + assertEquals(LOCAL_NUMBER_US, PhoneNumberFormatter.formatNumber("555-5555", LOCAL_NUMBER_US)); + assertNotEquals(LOCAL_NUMBER_US, PhoneNumberFormatter.formatNumber("(123) 555-5555", LOCAL_NUMBER_US)); } - public void testFormatNumberEmail() throws Exception { - try { - PhoneNumberFormatter.formatNumber("person@domain.com", LOCAL_NUMBER_US); - throw new AssertionFailedError("should have thrown on email"); - } catch (InvalidNumberException ine) { - // success - } + @Test + public void testFormatNumberEmail() { + assertThrows( + "should have thrown on email", + InvalidNumberException.class, + () -> PhoneNumberFormatter.formatNumber("person@domain.com", LOCAL_NUMBER_US) + ); } - public void testFormatNumberE164() throws Exception, InvalidNumberException { - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_UK, "(020) 7946 0018")).isEqualTo(NUMBER_UK); -// assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_UK, "044 20 7946 0018")).isEqualTo(NUMBER_UK); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_UK, "+442079460018")).isEqualTo(NUMBER_UK); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_UK, "+4402079460018")).isEqualTo(NUMBER_UK); + @Test + public void testFormatNumberE164() { + assertEquals(NUMBER_UK, PhoneNumberFormatter.formatE164(COUNTRY_CODE_UK, "(020) 7946 0018")); +// assertEquals(NUMBER_UK, PhoneNumberFormatter.formatE164(COUNTRY_CODE_UK, "044 20 7946 0018")); + assertEquals(NUMBER_UK, PhoneNumberFormatter.formatE164(COUNTRY_CODE_UK, "+442079460018")); + assertEquals(NUMBER_UK, PhoneNumberFormatter.formatE164(COUNTRY_CODE_UK, "+4402079460018")); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_CH, "+41 44 668 18 00")).isEqualTo(NUMBER_CH); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_CH, "+41 (044) 6681800")).isEqualTo(NUMBER_CH); + assertEquals(NUMBER_CH, PhoneNumberFormatter.formatE164(COUNTRY_CODE_CH, "+41 44 668 18 00")); + assertEquals(NUMBER_CH, PhoneNumberFormatter.formatE164(COUNTRY_CODE_CH, "+41 (044) 6681800")); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0049 030 123456")).isEqualTo(NUMBER_DE); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0049 (0)30123456")).isEqualTo(NUMBER_DE); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0049((0)30)123456")).isEqualTo(NUMBER_DE); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "+49 (0) 30 1 2 3 45 6 ")).isEqualTo(NUMBER_DE); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "030 123456")).isEqualTo(NUMBER_DE); + assertEquals(NUMBER_DE, PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0049 030 123456")); + assertEquals(NUMBER_DE, PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0049 (0)30123456")); + assertEquals(NUMBER_DE, PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0049((0)30)123456")); + assertEquals(NUMBER_DE, PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "+49 (0) 30 1 2 3 45 6 ")); + assertEquals(NUMBER_DE, PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "030 123456")); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0171123456")).isEqualTo(NUMBER_MOBILE_DE); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0171/123456")).isEqualTo(NUMBER_MOBILE_DE); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "+490171/123456")).isEqualTo(NUMBER_MOBILE_DE); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "00490171/123456")).isEqualTo(NUMBER_MOBILE_DE); - assertThat(PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0049171/123456")).isEqualTo(NUMBER_MOBILE_DE); + assertEquals(NUMBER_MOBILE_DE, PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0171123456")); + assertEquals(NUMBER_MOBILE_DE, PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0171/123456")); + assertEquals(NUMBER_MOBILE_DE, PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "+490171/123456")); + assertEquals(NUMBER_MOBILE_DE, PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "00490171/123456")); + assertEquals(NUMBER_MOBILE_DE, PhoneNumberFormatter.formatE164(COUNTRY_CODE_DE, "0049171/123456")); } - public void testFormatRemoteNumberE164() throws Exception, InvalidNumberException { - assertThat(PhoneNumberFormatter.formatNumber(LOCAL_NUMBER_US, NUMBER_UK)).isEqualTo(LOCAL_NUMBER_US); - assertThat(PhoneNumberFormatter.formatNumber(LOCAL_NUMBER_US, LOCAL_NUMBER_US)).isEqualTo(LOCAL_NUMBER_US); + @Test + public void testFormatRemoteNumberE164() throws InvalidNumberException { + assertEquals(LOCAL_NUMBER_US, PhoneNumberFormatter.formatNumber(LOCAL_NUMBER_US, NUMBER_UK)); + assertEquals(LOCAL_NUMBER_US, PhoneNumberFormatter.formatNumber(LOCAL_NUMBER_US, LOCAL_NUMBER_US)); - assertThat(PhoneNumberFormatter.formatNumber(NUMBER_UK, NUMBER_UK)).isEqualTo(NUMBER_UK); - assertThat(PhoneNumberFormatter.formatNumber(NUMBER_CH, NUMBER_CH)).isEqualTo(NUMBER_CH); - assertThat(PhoneNumberFormatter.formatNumber(NUMBER_DE, NUMBER_DE)).isEqualTo(NUMBER_DE); - assertThat(PhoneNumberFormatter.formatNumber(NUMBER_MOBILE_DE, NUMBER_DE)).isEqualTo(NUMBER_MOBILE_DE); + assertEquals(NUMBER_UK, PhoneNumberFormatter.formatNumber(NUMBER_UK, NUMBER_UK)); + assertEquals(NUMBER_CH, PhoneNumberFormatter.formatNumber(NUMBER_CH, NUMBER_CH)); + assertEquals(NUMBER_DE, PhoneNumberFormatter.formatNumber(NUMBER_DE, NUMBER_DE)); + assertEquals(NUMBER_MOBILE_DE, PhoneNumberFormatter.formatNumber(NUMBER_MOBILE_DE, NUMBER_DE)); - assertThat(PhoneNumberFormatter.formatNumber("+4402079460018", LOCAL_NUMBER_US)).isEqualTo(NUMBER_UK); + assertEquals(NUMBER_UK, PhoneNumberFormatter.formatNumber("+4402079460018", LOCAL_NUMBER_US)); } - - }