diff --git a/app/build.gradle b/app/build.gradle index 3c17e4dc6..d6cf9f325 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -477,6 +477,8 @@ dependencies { testImplementation 'org.robolectric:shadows-multidex:4.4' testImplementation 'org.hamcrest:hamcrest:2.2' + testImplementation(testFixtures(project(":libsignal-service"))) + androidTestImplementation 'androidx.test.ext:junit:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' diff --git a/app/src/test/java/org/thoughtcrime/securesms/groups/GroupId_v1_v2_migration_derivation_Test.java b/app/src/test/java/org/thoughtcrime/securesms/groups/GroupId_v1_v2_migration_derivation_Test.java index 8e8cec70f..f9cde7033 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/groups/GroupId_v1_v2_migration_derivation_Test.java +++ b/app/src/test/java/org/thoughtcrime/securesms/groups/GroupId_v1_v2_migration_derivation_Test.java @@ -11,8 +11,8 @@ import java.util.Arrays; import java.util.Collection; import static org.junit.Assert.assertEquals; -import static org.thoughtcrime.securesms.testutil.LibSignalLibraryUtil.assumeLibSignalSupportedOnOS; import static org.thoughtcrime.securesms.testutil.ZkGroupLibraryUtil.assumeZkGroupSupportedOnOS; +import static org.whispersystems.signalservice.test.LibSignalLibraryUtil.assumeLibSignalSupportedOnOS; @RunWith(Parameterized.class) public final class GroupId_v1_v2_migration_derivation_Test { diff --git a/app/src/test/java/org/thoughtcrime/securesms/payments/MobileCoinPublicAddressProfileUtilTest.java b/app/src/test/java/org/thoughtcrime/securesms/payments/MobileCoinPublicAddressProfileUtilTest.java index c0fb07076..9f8a3f5bf 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/payments/MobileCoinPublicAddressProfileUtilTest.java +++ b/app/src/test/java/org/thoughtcrime/securesms/payments/MobileCoinPublicAddressProfileUtilTest.java @@ -12,8 +12,7 @@ import org.whispersystems.signalservice.internal.push.SignalServiceProtos; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.assertEquals; -import static org.thoughtcrime.securesms.testutil.LibSignalLibraryUtil.assumeLibSignalSupportedOnOS; +import static org.whispersystems.signalservice.test.LibSignalLibraryUtil.assumeLibSignalSupportedOnOS; public final class MobileCoinPublicAddressProfileUtilTest { diff --git a/device-transfer/lib/build.gradle b/device-transfer/lib/build.gradle index e7116d0bb..285f59efb 100644 --- a/device-transfer/lib/build.gradle +++ b/device-transfer/lib/build.gradle @@ -38,4 +38,6 @@ dependencies { } testImplementation 'org.robolectric:shadows-multidex:4.4' testImplementation 'org.hamcrest:hamcrest:2.2' + + testImplementation(testFixtures(project(":libsignal-service"))) } diff --git a/device-transfer/lib/src/test/java/org/signal/devicetransfer/DeviceTransferAuthenticationTest.java b/device-transfer/lib/src/test/java/org/signal/devicetransfer/DeviceTransferAuthenticationTest.java index 909e913f6..ea17e8546 100644 --- a/device-transfer/lib/src/test/java/org/signal/devicetransfer/DeviceTransferAuthenticationTest.java +++ b/device-transfer/lib/src/test/java/org/signal/devicetransfer/DeviceTransferAuthenticationTest.java @@ -3,7 +3,6 @@ package org.signal.devicetransfer; import androidx.annotation.NonNull; import org.junit.Before; -import org.junit.BeforeClass; import org.junit.Test; import org.signal.devicetransfer.DeviceTransferAuthentication.Client; import org.signal.devicetransfer.DeviceTransferAuthentication.DeviceTransferAuthenticationException; @@ -13,14 +12,17 @@ import java.util.Random; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; +import static org.whispersystems.signalservice.test.LibSignalLibraryUtil.assumeLibSignalSupportedOnOS; public class DeviceTransferAuthenticationTest { - private static byte[] certificate; - private static byte[] badCertificate; + private byte[] certificate; + private byte[] badCertificate; + + @Before + public void ensureNativeSupported() throws KeyGenerationFailedException { + assumeLibSignalSupportedOnOS(); - @BeforeClass - public static void setup() throws KeyGenerationFailedException { certificate = SelfSignedIdentity.create().getX509Encoded(); badCertificate = SelfSignedIdentity.create().getX509Encoded(); } diff --git a/libsignal/service/build.gradle b/libsignal/service/build.gradle index 5727eb7b6..73a2e0ff1 100644 --- a/libsignal/service/build.gradle +++ b/libsignal/service/build.gradle @@ -1,4 +1,5 @@ apply plugin: 'java-library' +apply plugin: 'java-test-fixtures' apply plugin: 'com.google.protobuf' apply plugin: 'maven' apply plugin: 'signing' @@ -16,6 +17,10 @@ repositories { mavenLocal() } +configurations { + ideaTestFixturesImplementation { extendsFrom testFixturesImplementation; canBeConsumed false; canBeResolved true } +} + dependencies { implementation 'com.google.protobuf:protobuf-javalite:3.10.0' api 'com.googlecode.libphonenumber:libphonenumber:8.12.17' @@ -30,6 +35,9 @@ dependencies { testImplementation 'junit:junit:4.12' testImplementation 'org.assertj:assertj-core:3.11.1' testImplementation 'org.conscrypt:conscrypt-openjdk-uber:2.0.0' + + testFixturesImplementation 'org.whispersystems:signal-client-java:0.8.1' + testFixturesImplementation 'junit:junit:4.12' } dependencyVerification { @@ -60,6 +68,7 @@ protobuf { idea { module { generatedSourceDirs += file("${protobuf.generatedFilesBaseDir}/main/java") + scopes.COMPILE.plus += [configurations.ideaTestFixturesImplementation] } } diff --git a/app/src/test/java/org/thoughtcrime/securesms/testutil/LibSignalLibraryUtil.java b/libsignal/service/src/testFixtures/java/org/whispersystems/signalservice/test/LibSignalLibraryUtil.java similarity index 96% rename from app/src/test/java/org/thoughtcrime/securesms/testutil/LibSignalLibraryUtil.java rename to libsignal/service/src/testFixtures/java/org/whispersystems/signalservice/test/LibSignalLibraryUtil.java index 2f29e5c1c..5bcba3a90 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/testutil/LibSignalLibraryUtil.java +++ b/libsignal/service/src/testFixtures/java/org/whispersystems/signalservice/test/LibSignalLibraryUtil.java @@ -1,4 +1,4 @@ -package org.thoughtcrime.securesms.testutil; +package org.whispersystems.signalservice.test; import org.signal.client.internal.Native;