From fdcacde9152c2bd8b58bd740ff2e95276e021e98 Mon Sep 17 00:00:00 2001 From: akwizgran Date: Fri, 24 Jun 2022 14:58:41 +0100 Subject: [PATCH] WIP: Integration test for contact list worker --- .../MailboxIntegrationTestComponent.java | 18 ++++++++++ .../mailbox/MailboxIntegrationTestUtils.java | 35 +++++++++++++++++++ ...ilboxContactListWorkerIntegrationTest.java | 25 +++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 bramble-core/src/test/java/org/briarproject/bramble/mailbox/MailboxIntegrationTestComponent.java create mode 100644 bramble-core/src/test/java/org/briarproject/bramble/mailbox/OwnMailboxContactListWorkerIntegrationTest.java diff --git a/bramble-core/src/test/java/org/briarproject/bramble/mailbox/MailboxIntegrationTestComponent.java b/bramble-core/src/test/java/org/briarproject/bramble/mailbox/MailboxIntegrationTestComponent.java new file mode 100644 index 000000000..6bb071f74 --- /dev/null +++ b/bramble-core/src/test/java/org/briarproject/bramble/mailbox/MailboxIntegrationTestComponent.java @@ -0,0 +1,18 @@ +package org.briarproject.bramble.mailbox; + +import org.briarproject.bramble.BrambleCoreModule; +import org.briarproject.bramble.test.BrambleCoreIntegrationTestModule; +import org.briarproject.bramble.test.BrambleIntegrationTestComponent; + +import javax.inject.Singleton; + +import dagger.Component; + +@Singleton +@Component(modules = { + BrambleCoreIntegrationTestModule.class, + BrambleCoreModule.class +}) +interface MailboxIntegrationTestComponent extends + BrambleIntegrationTestComponent { +} diff --git a/bramble-core/src/test/java/org/briarproject/bramble/mailbox/MailboxIntegrationTestUtils.java b/bramble-core/src/test/java/org/briarproject/bramble/mailbox/MailboxIntegrationTestUtils.java index c6cbd4436..0a3f26bcf 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/mailbox/MailboxIntegrationTestUtils.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/mailbox/MailboxIntegrationTestUtils.java @@ -1,12 +1,17 @@ package org.briarproject.bramble.mailbox; +import org.briarproject.bramble.BrambleCoreEagerSingletons; import org.briarproject.bramble.api.WeakSingletonProvider; import org.briarproject.bramble.api.mailbox.InvalidMailboxIdException; import org.briarproject.bramble.api.mailbox.MailboxAuthToken; +import org.briarproject.bramble.io.IoModule; import javax.annotation.Nonnull; +import javax.inject.Singleton; import javax.net.SocketFactory; +import dagger.Module; +import dagger.Provides; import okhttp3.OkHttpClient; import static java.util.concurrent.TimeUnit.MILLISECONDS; @@ -42,4 +47,34 @@ class MailboxIntegrationTestUtils { static MailboxApi createMailboxApi() { return new MailboxApiImpl(createHttpClientProvider(), onion -> onion); } + + static MailboxIntegrationTestComponent createTestComponent() { + MailboxIntegrationTestComponent component = + DaggerMailboxIntegrationTestComponent + .builder() + .ioModule(new TestIoModule()) + .mailboxModule(new TestMailboxModule()) + .build(); + BrambleCoreEagerSingletons.Helper.injectEagerSingletons(component); + return component; + } + + @Module + static class TestIoModule extends IoModule { + + @Provides + @Singleton + WeakSingletonProvider provideOkHttpClientProvider() { + return createHttpClientProvider(); + } + } + + @Module + static class TestMailboxModule extends MailboxModule { + + @Provides + UrlConverter provideUrlConverter() { + return onion -> onion; + } + } } diff --git a/bramble-core/src/test/java/org/briarproject/bramble/mailbox/OwnMailboxContactListWorkerIntegrationTest.java b/bramble-core/src/test/java/org/briarproject/bramble/mailbox/OwnMailboxContactListWorkerIntegrationTest.java new file mode 100644 index 000000000..5c259e709 --- /dev/null +++ b/bramble-core/src/test/java/org/briarproject/bramble/mailbox/OwnMailboxContactListWorkerIntegrationTest.java @@ -0,0 +1,25 @@ +package org.briarproject.bramble.mailbox; + +import org.briarproject.bramble.test.BrambleTestCase; +import org.junit.Before; +import org.junit.Test; + +import static org.briarproject.bramble.mailbox.MailboxIntegrationTestUtils.createTestComponent; +import static org.junit.Assert.assertTrue; + +public class OwnMailboxContactListWorkerIntegrationTest + extends BrambleTestCase { + + private MailboxIntegrationTestComponent component; + + @Before + public void setUp() { + component = createTestComponent(); + } + + // Just test that we can build the component. TODO: Write actual tests + @Test + public void testBuild() { + assertTrue(true); + } +}