From 2ee48ebd4541fa18115dd05faeef5769d282b6ef Mon Sep 17 00:00:00 2001 From: Nathan Weisz Date: Mon, 22 Apr 2024 00:21:01 -0700 Subject: [PATCH 1/5] initial test work --- build.gradle | 18 +++++++++++++ .../com/javadiscord/jdi/core/Discord.java | 7 ++++- .../api/DiscordRequestDispatcher.java | 6 ++--- .../java/com/javadiscord/jdi/PreTestPrep.java | 26 +++++++++++++++++++ 4 files changed, 53 insertions(+), 4 deletions(-) create mode 100644 src/test/java/com/javadiscord/jdi/PreTestPrep.java diff --git a/build.gradle b/build.gradle index 2c7e97a7..a0d91f64 100644 --- a/build.gradle +++ b/build.gradle @@ -8,6 +8,9 @@ version = project.version repositories { mavenCentral() + maven { + url 'https://s3-eu-west-1.amazonaws.com/gatehillsoftware-maven/releases' + } } dependencies { @@ -24,6 +27,14 @@ dependencies { implementation 'org.apache.logging.log4j:log4j-api:2.23.1' implementation 'org.apache.logging.log4j:log4j-core:2.23.1' + + testImplementation(platform('org.junit:junit-bom:5.10.2')) + testImplementation('org.junit.jupiter:junit-jupiter') + testRuntimeOnly('org.junit.platform:junit-platform-launcher') + testImplementation "io.gatehill.imposter:distro-embedded:3.38.1" + testImplementation "io.gatehill.imposter:imposter-server:3.38.1" + testImplementation "io.gatehill.imposter:config-dynamic:3.38.1" + testImplementation "io.gatehill.imposter:mock-openapi:3.38.1" } spotless { @@ -64,3 +75,10 @@ tasks.register('bumpMajorVersion') { println "Version bumped to: $newVersion" } } + +test { + useJUnitPlatform() + testLogging { + events "passed", "skipped", "failed" + } +} diff --git a/src/main/java/com/javadiscord/jdi/core/Discord.java b/src/main/java/com/javadiscord/jdi/core/Discord.java index 96806434..4986d656 100644 --- a/src/main/java/com/javadiscord/jdi/core/Discord.java +++ b/src/main/java/com/javadiscord/jdi/core/Discord.java @@ -21,6 +21,7 @@ public class Discord { private static final Executor EXECUTOR = Executors.newSingleThreadExecutor(); private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); private static final String WEBSITE = "https://javadiscord.com/"; + private static final String BASE_URL = System.getProperty("DISCORD_BASE_URL") != null ? System.getProperty("DISCORD_BASE_URL") : "https://discord.com/api"; private final String botToken; private final IdentifyRequest identifyRequest; private final DiscordRequestDispatcher discordRequestDispatcher; @@ -93,7 +94,7 @@ public void start() { private static Gateway getGatewayURL(String authentication) { try (HttpClient httpClient = HttpClient.newBuilder().build()) { HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create("https://discord.com/api/gateway/bot")) + .uri(URI.create(BASE_URL + "/gateway/bot")) .header("Authorization", "Bot " + authentication) .GET() .build(); @@ -104,4 +105,8 @@ private static Gateway getGatewayURL(String authentication) { throw new RuntimeException(e); } } + + public static String getBaseUrl() { + return BASE_URL; + } } diff --git a/src/main/java/com/javadiscord/jdi/internal/api/DiscordRequestDispatcher.java b/src/main/java/com/javadiscord/jdi/internal/api/DiscordRequestDispatcher.java index ddc259e0..9c39b3d7 100644 --- a/src/main/java/com/javadiscord/jdi/internal/api/DiscordRequestDispatcher.java +++ b/src/main/java/com/javadiscord/jdi/internal/api/DiscordRequestDispatcher.java @@ -9,12 +9,12 @@ import java.util.concurrent.LinkedBlockingQueue; import java.util.stream.Stream; +import com.javadiscord.jdi.core.Discord; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class DiscordRequestDispatcher implements Runnable { private static final Logger LOGGER = LogManager.getLogger(); - private static final String BASE_URL = "https://discord.com/api"; private final BlockingQueue queue; private final String botToken; private int numberOfRequestsSent; @@ -63,7 +63,7 @@ private void sendRequest(DiscordRequestBuilder discordRequestBuilder) { URI.create( "%s%s%s" .formatted( - BASE_URL, + Discord.getBaseUrl(), discordRequestBuilder.getPath(), discordRequestBuilder .getQueryParameters() @@ -117,7 +117,7 @@ private void sendRequest(DiscordRequestBuilder discordRequestBuilder) { } catch (Exception e) { LOGGER.error( - "Failed to send request to {}{}", BASE_URL, discordRequestBuilder.getPath(), e + "Failed to send request to {}{}", Discord.getBaseUrl(), discordRequestBuilder.getPath(), e ); discordRequestBuilder.setFailureError(e); } diff --git a/src/test/java/com/javadiscord/jdi/PreTestPrep.java b/src/test/java/com/javadiscord/jdi/PreTestPrep.java new file mode 100644 index 00000000..39540fc2 --- /dev/null +++ b/src/test/java/com/javadiscord/jdi/PreTestPrep.java @@ -0,0 +1,26 @@ +package com.javadiscord.jdi; + +import com.javadiscord.jdi.core.Discord; +import io.gatehill.imposter.embedded.MockEngine; +import io.gatehill.imposter.openapi.embedded.OpenApiImposterBuilder; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +import java.nio.file.Path; +import java.nio.file.Paths; + +public class PreTestPrep { + + public static Discord discord; + + @BeforeAll + public static void preIntegrationSetup() { + MockEngine imposter = new OpenApiImposterBuilder<>() + .withSpecificationFile(Paths.get("mocks/openapi-spec.json")) + .startBlocking(); + System.setProperty("DISCORD_BASE_URL", imposter.getBaseUrl().toString()); + System.out.println(System.getProperty("DISCORD_BASE_URL")); + discord = new Discord(""); + discord.start(); + } +} From 2928b2799c58f03bad68c00081b09fde42ab1894 Mon Sep 17 00:00:00 2001 From: Nathan Weisz Date: Mon, 22 Apr 2024 06:28:52 -0700 Subject: [PATCH 2/5] Test wrapper & couple example tests --- .../com/javadiscord/jdi/core/Discord.java | 10 ++++++ .../java/com/javadiscord/jdi/PreTestPrep.java | 28 +++++++++++++-- .../com/javadiscord/jdi/api/RestAPITest.java | 36 +++++++++++++++++++ .../EditCurrentApplicationRequestTest.java | 34 ++++++++++++++++++ .../GetCurrentApplicationRequestTest.java | 22 ++++++++++++ .../CreateAutoModerationRuleRequestTest.java | 33 +++++++++++++++++ .../DeleteAutoModerationRuleRequestTest.java | 22 ++++++++++++ 7 files changed, 182 insertions(+), 3 deletions(-) create mode 100644 src/test/java/com/javadiscord/jdi/api/RestAPITest.java create mode 100644 src/test/java/com/javadiscord/jdi/api/application/EditCurrentApplicationRequestTest.java create mode 100644 src/test/java/com/javadiscord/jdi/api/application/GetCurrentApplicationRequestTest.java create mode 100644 src/test/java/com/javadiscord/jdi/api/automoderation/CreateAutoModerationRuleRequestTest.java create mode 100644 src/test/java/com/javadiscord/jdi/api/automoderation/DeleteAutoModerationRuleRequestTest.java diff --git a/src/main/java/com/javadiscord/jdi/core/Discord.java b/src/main/java/com/javadiscord/jdi/core/Discord.java index 4986d656..6450f7bd 100644 --- a/src/main/java/com/javadiscord/jdi/core/Discord.java +++ b/src/main/java/com/javadiscord/jdi/core/Discord.java @@ -24,6 +24,7 @@ public class Discord { private static final String BASE_URL = System.getProperty("DISCORD_BASE_URL") != null ? System.getProperty("DISCORD_BASE_URL") : "https://discord.com/api"; private final String botToken; private final IdentifyRequest identifyRequest; + private final DiscordRequestDispatcher discordRequestDispatcher; private final Gateway gateway; private final GatewaySetting gatewaySetting; @@ -91,6 +92,10 @@ public void start() { EXECUTOR.execute(discordRequestDispatcher); } + public void startWithoutWebsocket() { + EXECUTOR.execute(discordRequestDispatcher); + } + private static Gateway getGatewayURL(String authentication) { try (HttpClient httpClient = HttpClient.newBuilder().build()) { HttpRequest request = HttpRequest.newBuilder() @@ -109,4 +114,9 @@ private static Gateway getGatewayURL(String authentication) { public static String getBaseUrl() { return BASE_URL; } + + + public DiscordRequestDispatcher getDiscordRequestDispatcher() { + return discordRequestDispatcher; + } } diff --git a/src/test/java/com/javadiscord/jdi/PreTestPrep.java b/src/test/java/com/javadiscord/jdi/PreTestPrep.java index 39540fc2..7ba9a8ae 100644 --- a/src/test/java/com/javadiscord/jdi/PreTestPrep.java +++ b/src/test/java/com/javadiscord/jdi/PreTestPrep.java @@ -1,26 +1,48 @@ package com.javadiscord.jdi; import com.javadiscord.jdi.core.Discord; +import com.javadiscord.jdi.internal.api.DiscordRequestDispatcher; import io.gatehill.imposter.embedded.MockEngine; import io.gatehill.imposter.openapi.embedded.OpenApiImposterBuilder; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.BeforeAllCallback; +import org.junit.jupiter.api.extension.ExtensionContext; import java.nio.file.Path; import java.nio.file.Paths; -public class PreTestPrep { +public class PreTestPrep implements BeforeAllCallback, ExtensionContext.Store.CloseableResource { public static Discord discord; + public static DiscordRequestDispatcher requestDispatcher; @BeforeAll public static void preIntegrationSetup() { MockEngine imposter = new OpenApiImposterBuilder<>() .withSpecificationFile(Paths.get("mocks/openapi-spec.json")) .startBlocking(); - System.setProperty("DISCORD_BASE_URL", imposter.getBaseUrl().toString()); + System.setProperty("DISCORD_BASE_URL", imposter.getBaseUrl().toString() + "/api/v10"); System.out.println(System.getProperty("DISCORD_BASE_URL")); discord = new Discord(""); - discord.start(); + discord.startWithoutWebsocket(); + requestDispatcher = discord.getDiscordRequestDispatcher(); + } + + @Override + public void beforeAll(ExtensionContext extensionContext) { + MockEngine imposter = new OpenApiImposterBuilder<>() + .withSpecificationFile(Paths.get("mocks/openapi-spec.json")) + .startBlocking(); + System.setProperty("DISCORD_BASE_URL", imposter.getBaseUrl().toString() + "/api/v10"); + System.out.println(System.getProperty("DISCORD_BASE_URL")); + discord = new Discord(""); + discord.startWithoutWebsocket(); + requestDispatcher = discord.getDiscordRequestDispatcher(); + } + + @Override + public void close() { + } } diff --git a/src/test/java/com/javadiscord/jdi/api/RestAPITest.java b/src/test/java/com/javadiscord/jdi/api/RestAPITest.java new file mode 100644 index 00000000..1c0ddcd4 --- /dev/null +++ b/src/test/java/com/javadiscord/jdi/api/RestAPITest.java @@ -0,0 +1,36 @@ +package com.javadiscord.jdi.api; + +import com.javadiscord.jdi.PreTestPrep; +import com.javadiscord.jdi.internal.api.DiscordRequest; +import com.javadiscord.jdi.internal.api.DiscordResponseFuture; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +import static org.junit.jupiter.api.Assertions.*; + +@ExtendWith(PreTestPrep.class) +public abstract class RestAPITest { + + // this can be changed later to + // return the response or smth when we impl that. + public void testRequest(DiscordRequest request, int expectedStatusCode) throws InterruptedException { + DiscordResponseFuture response = PreTestPrep.requestDispatcher.queue(request); + CountDownLatch latch = new CountDownLatch(1); + + response.onSuccess( + (r) -> { + assertEquals(r.status(), expectedStatusCode); + latch.countDown(); + } + ); + + response.onError( + (err) -> { + fail(); + } + ); + assertTrue(latch.await(5, TimeUnit.SECONDS)); + } +} diff --git a/src/test/java/com/javadiscord/jdi/api/application/EditCurrentApplicationRequestTest.java b/src/test/java/com/javadiscord/jdi/api/application/EditCurrentApplicationRequestTest.java new file mode 100644 index 00000000..88191c26 --- /dev/null +++ b/src/test/java/com/javadiscord/jdi/api/application/EditCurrentApplicationRequestTest.java @@ -0,0 +1,34 @@ +package com.javadiscord.jdi.api.application; + +import com.javadiscord.jdi.PreTestPrep; +import com.javadiscord.jdi.api.RestAPITest; +import com.javadiscord.jdi.internal.api.DiscordRequest; +import com.javadiscord.jdi.internal.api.DiscordResponseFuture; +import com.javadiscord.jdi.internal.api.impl.application.EditCurrentApplicationRequest; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.util.Map; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +import static org.junit.jupiter.api.Assertions.*; + +class EditCurrentApplicationRequestTest extends RestAPITest { + + @Test + void test() throws InterruptedException { + testRequest(new EditCurrentApplicationRequest( + "", + "", + "", + new Object(), + Map.of(), + 0, + "", + "", + "", + new String[0] + ), 200); + } +} \ No newline at end of file diff --git a/src/test/java/com/javadiscord/jdi/api/application/GetCurrentApplicationRequestTest.java b/src/test/java/com/javadiscord/jdi/api/application/GetCurrentApplicationRequestTest.java new file mode 100644 index 00000000..a108f250 --- /dev/null +++ b/src/test/java/com/javadiscord/jdi/api/application/GetCurrentApplicationRequestTest.java @@ -0,0 +1,22 @@ +package com.javadiscord.jdi.api.application; + +import com.javadiscord.jdi.PreTestPrep; +import com.javadiscord.jdi.api.RestAPITest; +import com.javadiscord.jdi.internal.api.DiscordRequest; +import com.javadiscord.jdi.internal.api.DiscordResponseFuture; +import com.javadiscord.jdi.internal.api.impl.application.GetCurrentApplicationRequest; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +import static org.junit.jupiter.api.Assertions.*; + +class GetCurrentApplicationRequestTest extends RestAPITest { + + @Test + void test() throws InterruptedException { + testRequest(new GetCurrentApplicationRequest(), 200); + } +} \ No newline at end of file diff --git a/src/test/java/com/javadiscord/jdi/api/automoderation/CreateAutoModerationRuleRequestTest.java b/src/test/java/com/javadiscord/jdi/api/automoderation/CreateAutoModerationRuleRequestTest.java new file mode 100644 index 00000000..a4ce567e --- /dev/null +++ b/src/test/java/com/javadiscord/jdi/api/automoderation/CreateAutoModerationRuleRequestTest.java @@ -0,0 +1,33 @@ +package com.javadiscord.jdi.api.automoderation; + +import com.javadiscord.jdi.PreTestPrep; +import com.javadiscord.jdi.api.RestAPITest; +import com.javadiscord.jdi.internal.api.DiscordResponseFuture; +import com.javadiscord.jdi.internal.api.impl.automoderation.CreateAutoModerationRuleRequest; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.util.List; +import java.util.Optional; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +import static org.junit.jupiter.api.Assertions.*; + +class CreateAutoModerationRuleRequestTest extends RestAPITest { + + @Test + void test() throws InterruptedException { + testRequest(new CreateAutoModerationRuleRequest( + 0L, + "", + 0, + 0, + Optional.empty(), + List.of(), + Optional.empty(), + Optional.empty(), + Optional.empty() + ), 200); + } +} \ No newline at end of file diff --git a/src/test/java/com/javadiscord/jdi/api/automoderation/DeleteAutoModerationRuleRequestTest.java b/src/test/java/com/javadiscord/jdi/api/automoderation/DeleteAutoModerationRuleRequestTest.java new file mode 100644 index 00000000..1006c5ed --- /dev/null +++ b/src/test/java/com/javadiscord/jdi/api/automoderation/DeleteAutoModerationRuleRequestTest.java @@ -0,0 +1,22 @@ +package com.javadiscord.jdi.api.automoderation; + +import com.javadiscord.jdi.PreTestPrep; +import com.javadiscord.jdi.api.RestAPITest; +import com.javadiscord.jdi.internal.api.DiscordRequest; +import com.javadiscord.jdi.internal.api.impl.automoderation.DeleteAutoModerationRuleRequest; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import static org.junit.jupiter.api.Assertions.*; + +class DeleteAutoModerationRuleRequestTest extends RestAPITest { + + @Test + void test() throws InterruptedException { + testRequest(new DeleteAutoModerationRuleRequest( + 0L, + 0L + ), 200); + + } +} \ No newline at end of file From 1dc9d625286f71c7beda598bc65e3754fdf80f63 Mon Sep 17 00:00:00 2001 From: Nathan Weisz Date: Mon, 22 Apr 2024 07:14:23 -0700 Subject: [PATCH 3/5] more testing --- .../java/com/javadiscord/jdi/PreTestPrep.java | 12 ---------- .../com/javadiscord/jdi/api/RestAPITest.java | 3 ++- .../EditCurrentApplicationRequestTest.java | 22 +++++++++++++++++-- .../GetCurrentApplicationRequestTest.java | 18 ++++++++++++++- 4 files changed, 39 insertions(+), 16 deletions(-) diff --git a/src/test/java/com/javadiscord/jdi/PreTestPrep.java b/src/test/java/com/javadiscord/jdi/PreTestPrep.java index 7ba9a8ae..749993fa 100644 --- a/src/test/java/com/javadiscord/jdi/PreTestPrep.java +++ b/src/test/java/com/javadiscord/jdi/PreTestPrep.java @@ -17,18 +17,6 @@ public class PreTestPrep implements BeforeAllCallback, ExtensionContext.Store.Cl public static Discord discord; public static DiscordRequestDispatcher requestDispatcher; - @BeforeAll - public static void preIntegrationSetup() { - MockEngine imposter = new OpenApiImposterBuilder<>() - .withSpecificationFile(Paths.get("mocks/openapi-spec.json")) - .startBlocking(); - System.setProperty("DISCORD_BASE_URL", imposter.getBaseUrl().toString() + "/api/v10"); - System.out.println(System.getProperty("DISCORD_BASE_URL")); - discord = new Discord(""); - discord.startWithoutWebsocket(); - requestDispatcher = discord.getDiscordRequestDispatcher(); - } - @Override public void beforeAll(ExtensionContext extensionContext) { MockEngine imposter = new OpenApiImposterBuilder<>() diff --git a/src/test/java/com/javadiscord/jdi/api/RestAPITest.java b/src/test/java/com/javadiscord/jdi/api/RestAPITest.java index 1c0ddcd4..212b40af 100644 --- a/src/test/java/com/javadiscord/jdi/api/RestAPITest.java +++ b/src/test/java/com/javadiscord/jdi/api/RestAPITest.java @@ -11,7 +11,7 @@ import static org.junit.jupiter.api.Assertions.*; @ExtendWith(PreTestPrep.class) -public abstract class RestAPITest { +public class RestAPITest { // this can be changed later to // return the response or smth when we impl that. @@ -21,6 +21,7 @@ public void testRequest(DiscordRequest request, int expectedStatusCode) throws I response.onSuccess( (r) -> { + System.out.printf("Expected status code %s: Got %s%n", expectedStatusCode, r.status()); assertEquals(r.status(), expectedStatusCode); latch.countDown(); } diff --git a/src/test/java/com/javadiscord/jdi/api/application/EditCurrentApplicationRequestTest.java b/src/test/java/com/javadiscord/jdi/api/application/EditCurrentApplicationRequestTest.java index 88191c26..3096020f 100644 --- a/src/test/java/com/javadiscord/jdi/api/application/EditCurrentApplicationRequestTest.java +++ b/src/test/java/com/javadiscord/jdi/api/application/EditCurrentApplicationRequestTest.java @@ -18,7 +18,7 @@ class EditCurrentApplicationRequestTest extends RestAPITest { @Test void test() throws InterruptedException { - testRequest(new EditCurrentApplicationRequest( + DiscordRequest request = new EditCurrentApplicationRequest( "", "", "", @@ -29,6 +29,24 @@ void test() throws InterruptedException { "", "", new String[0] - ), 200); + ); + + DiscordResponseFuture response = PreTestPrep.requestDispatcher.queue(request); + CountDownLatch latch = new CountDownLatch(1); + + response.onSuccess( + (r) -> { + System.out.printf("Expected status code %s: Got %s%n", 200, r.status()); + assertEquals(r.status(), 200); + latch.countDown(); + } + ); + + response.onError( + (err) -> { + fail(); + } + ); + assertTrue(latch.await(5, TimeUnit.SECONDS)); } } \ No newline at end of file diff --git a/src/test/java/com/javadiscord/jdi/api/application/GetCurrentApplicationRequestTest.java b/src/test/java/com/javadiscord/jdi/api/application/GetCurrentApplicationRequestTest.java index a108f250..4e3060f3 100644 --- a/src/test/java/com/javadiscord/jdi/api/application/GetCurrentApplicationRequestTest.java +++ b/src/test/java/com/javadiscord/jdi/api/application/GetCurrentApplicationRequestTest.java @@ -17,6 +17,22 @@ class GetCurrentApplicationRequestTest extends RestAPITest { @Test void test() throws InterruptedException { - testRequest(new GetCurrentApplicationRequest(), 200); + DiscordResponseFuture response = PreTestPrep.requestDispatcher.queue(new GetCurrentApplicationRequest()); + CountDownLatch latch = new CountDownLatch(1); + + response.onSuccess( + (r) -> { + System.out.printf("Expected status code %s: Got %s%n", 200, r.status()); + assertEquals(r.status(), 200); + latch.countDown(); + } + ); + + response.onError( + (err) -> { + fail(); + } + ); + assertTrue(latch.await(5, TimeUnit.SECONDS)); } } \ No newline at end of file From 78eb5513e14a558ad84cfd2ce02da6ed8a0742ec Mon Sep 17 00:00:00 2001 From: Suraj Kumar Date: Mon, 22 Apr 2024 15:42:10 +0100 Subject: [PATCH 4/5] Fixed integration test setup --- build.gradle | 14 +++-- .../com/javadiscord/jdi/core/Discord.java | 7 +-- .../api/DiscordRequestDispatcher.java | 3 +- .../jdi/MockServerInitializer.java | 28 ++++++++++ .../integration/jdi/api/RestTestHelper.java | 39 ++++++++++++++ .../EditCurrentApplicationRequestTest.java | 49 +++++++++++++++++ .../GetCurrentApplicationRequestTest.java | 32 ++++++++++++ .../CreateAutoModerationRuleRequestTest.java | 29 +++++++++++ .../DeleteAutoModerationRuleRequestTest.java | 20 +++++++ .../java/com/javadiscord/jdi/PreTestPrep.java | 36 ------------- .../com/javadiscord/jdi/api/RestAPITest.java | 37 ------------- .../EditCurrentApplicationRequestTest.java | 52 ------------------- .../GetCurrentApplicationRequestTest.java | 38 -------------- .../CreateAutoModerationRuleRequestTest.java | 33 ------------ .../DeleteAutoModerationRuleRequestTest.java | 22 -------- 15 files changed, 214 insertions(+), 225 deletions(-) create mode 100644 src/test/integration/jdi/MockServerInitializer.java create mode 100644 src/test/integration/jdi/api/RestTestHelper.java create mode 100644 src/test/integration/jdi/api/application/EditCurrentApplicationRequestTest.java create mode 100644 src/test/integration/jdi/api/application/GetCurrentApplicationRequestTest.java create mode 100644 src/test/integration/jdi/api/automoderation/CreateAutoModerationRuleRequestTest.java create mode 100644 src/test/integration/jdi/api/automoderation/DeleteAutoModerationRuleRequestTest.java delete mode 100644 src/test/java/com/javadiscord/jdi/PreTestPrep.java delete mode 100644 src/test/java/com/javadiscord/jdi/api/RestAPITest.java delete mode 100644 src/test/java/com/javadiscord/jdi/api/application/EditCurrentApplicationRequestTest.java delete mode 100644 src/test/java/com/javadiscord/jdi/api/application/GetCurrentApplicationRequestTest.java delete mode 100644 src/test/java/com/javadiscord/jdi/api/automoderation/CreateAutoModerationRuleRequestTest.java delete mode 100644 src/test/java/com/javadiscord/jdi/api/automoderation/DeleteAutoModerationRuleRequestTest.java diff --git a/build.gradle b/build.gradle index a0d91f64..5706790c 100644 --- a/build.gradle +++ b/build.gradle @@ -28,9 +28,9 @@ dependencies { implementation 'org.apache.logging.log4j:log4j-api:2.23.1' implementation 'org.apache.logging.log4j:log4j-core:2.23.1' - testImplementation(platform('org.junit:junit-bom:5.10.2')) - testImplementation('org.junit.jupiter:junit-jupiter') - testRuntimeOnly('org.junit.platform:junit-platform-launcher') + testImplementation platform('org.junit:junit-bom:5.10.2') + testImplementation 'org.junit.jupiter:junit-jupiter' + testRuntimeOnly 'org.junit.platform:junit-platform-launcher' testImplementation "io.gatehill.imposter:distro-embedded:3.38.1" testImplementation "io.gatehill.imposter:imposter-server:3.38.1" testImplementation "io.gatehill.imposter:config-dynamic:3.38.1" @@ -82,3 +82,11 @@ test { events "passed", "skipped", "failed" } } + +sourceSets { + test { + java { + srcDirs 'src/test/integration' + } + } +} \ No newline at end of file diff --git a/src/main/java/com/javadiscord/jdi/core/Discord.java b/src/main/java/com/javadiscord/jdi/core/Discord.java index 6450f7bd..40d84ca8 100644 --- a/src/main/java/com/javadiscord/jdi/core/Discord.java +++ b/src/main/java/com/javadiscord/jdi/core/Discord.java @@ -21,7 +21,9 @@ public class Discord { private static final Executor EXECUTOR = Executors.newSingleThreadExecutor(); private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); private static final String WEBSITE = "https://javadiscord.com/"; - private static final String BASE_URL = System.getProperty("DISCORD_BASE_URL") != null ? System.getProperty("DISCORD_BASE_URL") : "https://discord.com/api"; + private static final String BASE_URL = System.getProperty("DISCORD_BASE_URL") != null + ? System.getProperty("DISCORD_BASE_URL") + : "https://discord.com/api"; private final String botToken; private final IdentifyRequest identifyRequest; @@ -92,7 +94,7 @@ public void start() { EXECUTOR.execute(discordRequestDispatcher); } - public void startWithoutWebsocket() { + public void startWithoutGatewayEvents() { EXECUTOR.execute(discordRequestDispatcher); } @@ -115,7 +117,6 @@ public static String getBaseUrl() { return BASE_URL; } - public DiscordRequestDispatcher getDiscordRequestDispatcher() { return discordRequestDispatcher; } diff --git a/src/main/java/com/javadiscord/jdi/internal/api/DiscordRequestDispatcher.java b/src/main/java/com/javadiscord/jdi/internal/api/DiscordRequestDispatcher.java index 9c39b3d7..ef0c7134 100644 --- a/src/main/java/com/javadiscord/jdi/internal/api/DiscordRequestDispatcher.java +++ b/src/main/java/com/javadiscord/jdi/internal/api/DiscordRequestDispatcher.java @@ -10,6 +10,7 @@ import java.util.stream.Stream; import com.javadiscord.jdi.core.Discord; + import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -63,7 +64,7 @@ private void sendRequest(DiscordRequestBuilder discordRequestBuilder) { URI.create( "%s%s%s" .formatted( - Discord.getBaseUrl(), + Discord.getBaseUrl(), discordRequestBuilder.getPath(), discordRequestBuilder .getQueryParameters() diff --git a/src/test/integration/jdi/MockServerInitializer.java b/src/test/integration/jdi/MockServerInitializer.java new file mode 100644 index 00000000..d5c9b88d --- /dev/null +++ b/src/test/integration/jdi/MockServerInitializer.java @@ -0,0 +1,28 @@ +package jdi; + +import java.nio.file.Paths; + +import com.javadiscord.jdi.core.Discord; + +import io.gatehill.imposter.embedded.MockEngine; +import io.gatehill.imposter.openapi.embedded.OpenApiImposterBuilder; + +public class MockServerInitializer { + private static final String OPEN_API_SPEC = "mocks/openapi-spec.json"; + private static final String API_VERSION = "/api/v10"; + private static final String DISCORD_BASE_URL_ENV_VAR = "DISCORD_BASE_URL"; + private static final Discord discord; + + static { + MockEngine imposter = new OpenApiImposterBuilder<>() + .withSpecificationFile(Paths.get(OPEN_API_SPEC)) + .startBlocking(); + System.setProperty(DISCORD_BASE_URL_ENV_VAR, "%s%s".formatted(imposter.getBaseUrl().toString(), API_VERSION)); + discord = new Discord("dummy-bot-token"); + discord.startWithoutGatewayEvents(); + } + + public static Discord getDiscord() { + return discord; + } +} diff --git a/src/test/integration/jdi/api/RestTestHelper.java b/src/test/integration/jdi/api/RestTestHelper.java new file mode 100644 index 00000000..158529fa --- /dev/null +++ b/src/test/integration/jdi/api/RestTestHelper.java @@ -0,0 +1,39 @@ +package jdi.api; + +import static org.junit.jupiter.api.Assertions.*; + +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +import com.javadiscord.jdi.core.Discord; +import com.javadiscord.jdi.internal.api.DiscordRequestDispatcher; +import jdi.MockServerInitializer; +import com.javadiscord.jdi.internal.api.DiscordRequest; +import com.javadiscord.jdi.internal.api.DiscordResponseFuture; + +public class RestTestHelper { + public void sendRequestAndAssert(DiscordRequest request, int expectedStatusCode) throws InterruptedException { + DiscordResponseFuture response = getDiscordRequestDispatcher().queue(request); + + CountDownLatch latch = new CountDownLatch(1); + + response.onSuccess( + (r) -> { + assertEquals(r.status(), expectedStatusCode); + latch.countDown(); + } + ); + + response.onError(err -> fail()); + + assertTrue(latch.await(5, TimeUnit.SECONDS)); + } + + public Discord getDiscord() { + return MockServerInitializer.getDiscord(); + } + + public DiscordRequestDispatcher getDiscordRequestDispatcher() { + return getDiscord().getDiscordRequestDispatcher(); + } +} diff --git a/src/test/integration/jdi/api/application/EditCurrentApplicationRequestTest.java b/src/test/integration/jdi/api/application/EditCurrentApplicationRequestTest.java new file mode 100644 index 00000000..15df56b0 --- /dev/null +++ b/src/test/integration/jdi/api/application/EditCurrentApplicationRequestTest.java @@ -0,0 +1,49 @@ +package jdi.api.application; + +import static org.junit.jupiter.api.Assertions.*; + +import java.util.Map; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +import jdi.MockServerInitializer; +import jdi.api.RestTestHelper; +import com.javadiscord.jdi.internal.api.DiscordRequest; +import com.javadiscord.jdi.internal.api.DiscordResponseFuture; +import com.javadiscord.jdi.internal.api.impl.application.EditCurrentApplicationRequest; + +import org.junit.jupiter.api.Test; + +class EditCurrentApplicationRequestTest extends RestTestHelper { + + @Test + void test() throws InterruptedException { + DiscordRequest request = new EditCurrentApplicationRequest( + "", + "", + "", + new Object(), + Map.of(), + 0, + "", + "", + "", + new String[0] + ); + + DiscordResponseFuture response = getDiscordRequestDispatcher().queue(request); + + CountDownLatch latch = new CountDownLatch(1); + + response.onSuccess( + (r) -> { + assertEquals(r.status(), 200); + latch.countDown(); + } + ); + + response.onError(err -> fail()); + + assertTrue(latch.await(5, TimeUnit.SECONDS)); + } +} diff --git a/src/test/integration/jdi/api/application/GetCurrentApplicationRequestTest.java b/src/test/integration/jdi/api/application/GetCurrentApplicationRequestTest.java new file mode 100644 index 00000000..7222b75f --- /dev/null +++ b/src/test/integration/jdi/api/application/GetCurrentApplicationRequestTest.java @@ -0,0 +1,32 @@ +package jdi.api.application; + +import static org.junit.jupiter.api.Assertions.*; + +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +import jdi.MockServerInitializer; +import jdi.api.RestTestHelper; +import com.javadiscord.jdi.internal.api.DiscordResponseFuture; +import com.javadiscord.jdi.internal.api.impl.application.GetCurrentApplicationRequest; + +import org.junit.jupiter.api.Test; + +class GetCurrentApplicationRequestTest extends RestTestHelper { + + @Test + void test() throws InterruptedException { + DiscordResponseFuture response = getDiscordRequestDispatcher().queue(new GetCurrentApplicationRequest()); + CountDownLatch latch = new CountDownLatch(1); + + response.onSuccess( + (r) -> { + assertEquals(r.status(), 200); + latch.countDown(); + } + ); + + response.onError(err -> fail()); + assertTrue(latch.await(5, TimeUnit.SECONDS)); + } +} diff --git a/src/test/integration/jdi/api/automoderation/CreateAutoModerationRuleRequestTest.java b/src/test/integration/jdi/api/automoderation/CreateAutoModerationRuleRequestTest.java new file mode 100644 index 00000000..0a8cd51a --- /dev/null +++ b/src/test/integration/jdi/api/automoderation/CreateAutoModerationRuleRequestTest.java @@ -0,0 +1,29 @@ +package jdi.api.automoderation; + +import java.util.List; +import java.util.Optional; + +import jdi.api.RestTestHelper; +import com.javadiscord.jdi.internal.api.impl.automoderation.CreateAutoModerationRuleRequest; + +import org.junit.jupiter.api.Test; + +class CreateAutoModerationRuleRequestTest extends RestTestHelper { + + @Test + void test() throws InterruptedException { + sendRequestAndAssert( + new CreateAutoModerationRuleRequest( + 0L, + "", + 0, + 0, + Optional.empty(), + List.of(), + Optional.empty(), + Optional.empty(), + Optional.empty() + ), 200 + ); + } +} diff --git a/src/test/integration/jdi/api/automoderation/DeleteAutoModerationRuleRequestTest.java b/src/test/integration/jdi/api/automoderation/DeleteAutoModerationRuleRequestTest.java new file mode 100644 index 00000000..68d7831e --- /dev/null +++ b/src/test/integration/jdi/api/automoderation/DeleteAutoModerationRuleRequestTest.java @@ -0,0 +1,20 @@ +package jdi.api.automoderation; + +import jdi.api.RestTestHelper; +import com.javadiscord.jdi.internal.api.impl.automoderation.DeleteAutoModerationRuleRequest; + +import org.junit.jupiter.api.Test; + +class DeleteAutoModerationRuleRequestTest extends RestTestHelper { + + @Test + void test() throws InterruptedException { + sendRequestAndAssert( + new DeleteAutoModerationRuleRequest( + 0L, + 0L + ), 204 + ); + + } +} diff --git a/src/test/java/com/javadiscord/jdi/PreTestPrep.java b/src/test/java/com/javadiscord/jdi/PreTestPrep.java deleted file mode 100644 index 749993fa..00000000 --- a/src/test/java/com/javadiscord/jdi/PreTestPrep.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.javadiscord.jdi; - -import com.javadiscord.jdi.core.Discord; -import com.javadiscord.jdi.internal.api.DiscordRequestDispatcher; -import io.gatehill.imposter.embedded.MockEngine; -import io.gatehill.imposter.openapi.embedded.OpenApiImposterBuilder; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.BeforeAllCallback; -import org.junit.jupiter.api.extension.ExtensionContext; - -import java.nio.file.Path; -import java.nio.file.Paths; - -public class PreTestPrep implements BeforeAllCallback, ExtensionContext.Store.CloseableResource { - - public static Discord discord; - public static DiscordRequestDispatcher requestDispatcher; - - @Override - public void beforeAll(ExtensionContext extensionContext) { - MockEngine imposter = new OpenApiImposterBuilder<>() - .withSpecificationFile(Paths.get("mocks/openapi-spec.json")) - .startBlocking(); - System.setProperty("DISCORD_BASE_URL", imposter.getBaseUrl().toString() + "/api/v10"); - System.out.println(System.getProperty("DISCORD_BASE_URL")); - discord = new Discord(""); - discord.startWithoutWebsocket(); - requestDispatcher = discord.getDiscordRequestDispatcher(); - } - - @Override - public void close() { - - } -} diff --git a/src/test/java/com/javadiscord/jdi/api/RestAPITest.java b/src/test/java/com/javadiscord/jdi/api/RestAPITest.java deleted file mode 100644 index 212b40af..00000000 --- a/src/test/java/com/javadiscord/jdi/api/RestAPITest.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.javadiscord.jdi.api; - -import com.javadiscord.jdi.PreTestPrep; -import com.javadiscord.jdi.internal.api.DiscordRequest; -import com.javadiscord.jdi.internal.api.DiscordResponseFuture; -import org.junit.jupiter.api.extension.ExtendWith; - -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; - -import static org.junit.jupiter.api.Assertions.*; - -@ExtendWith(PreTestPrep.class) -public class RestAPITest { - - // this can be changed later to - // return the response or smth when we impl that. - public void testRequest(DiscordRequest request, int expectedStatusCode) throws InterruptedException { - DiscordResponseFuture response = PreTestPrep.requestDispatcher.queue(request); - CountDownLatch latch = new CountDownLatch(1); - - response.onSuccess( - (r) -> { - System.out.printf("Expected status code %s: Got %s%n", expectedStatusCode, r.status()); - assertEquals(r.status(), expectedStatusCode); - latch.countDown(); - } - ); - - response.onError( - (err) -> { - fail(); - } - ); - assertTrue(latch.await(5, TimeUnit.SECONDS)); - } -} diff --git a/src/test/java/com/javadiscord/jdi/api/application/EditCurrentApplicationRequestTest.java b/src/test/java/com/javadiscord/jdi/api/application/EditCurrentApplicationRequestTest.java deleted file mode 100644 index 3096020f..00000000 --- a/src/test/java/com/javadiscord/jdi/api/application/EditCurrentApplicationRequestTest.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.javadiscord.jdi.api.application; - -import com.javadiscord.jdi.PreTestPrep; -import com.javadiscord.jdi.api.RestAPITest; -import com.javadiscord.jdi.internal.api.DiscordRequest; -import com.javadiscord.jdi.internal.api.DiscordResponseFuture; -import com.javadiscord.jdi.internal.api.impl.application.EditCurrentApplicationRequest; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; - -import java.util.Map; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; - -import static org.junit.jupiter.api.Assertions.*; - -class EditCurrentApplicationRequestTest extends RestAPITest { - - @Test - void test() throws InterruptedException { - DiscordRequest request = new EditCurrentApplicationRequest( - "", - "", - "", - new Object(), - Map.of(), - 0, - "", - "", - "", - new String[0] - ); - - DiscordResponseFuture response = PreTestPrep.requestDispatcher.queue(request); - CountDownLatch latch = new CountDownLatch(1); - - response.onSuccess( - (r) -> { - System.out.printf("Expected status code %s: Got %s%n", 200, r.status()); - assertEquals(r.status(), 200); - latch.countDown(); - } - ); - - response.onError( - (err) -> { - fail(); - } - ); - assertTrue(latch.await(5, TimeUnit.SECONDS)); - } -} \ No newline at end of file diff --git a/src/test/java/com/javadiscord/jdi/api/application/GetCurrentApplicationRequestTest.java b/src/test/java/com/javadiscord/jdi/api/application/GetCurrentApplicationRequestTest.java deleted file mode 100644 index 4e3060f3..00000000 --- a/src/test/java/com/javadiscord/jdi/api/application/GetCurrentApplicationRequestTest.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.javadiscord.jdi.api.application; - -import com.javadiscord.jdi.PreTestPrep; -import com.javadiscord.jdi.api.RestAPITest; -import com.javadiscord.jdi.internal.api.DiscordRequest; -import com.javadiscord.jdi.internal.api.DiscordResponseFuture; -import com.javadiscord.jdi.internal.api.impl.application.GetCurrentApplicationRequest; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; - -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; - -import static org.junit.jupiter.api.Assertions.*; - -class GetCurrentApplicationRequestTest extends RestAPITest { - - @Test - void test() throws InterruptedException { - DiscordResponseFuture response = PreTestPrep.requestDispatcher.queue(new GetCurrentApplicationRequest()); - CountDownLatch latch = new CountDownLatch(1); - - response.onSuccess( - (r) -> { - System.out.printf("Expected status code %s: Got %s%n", 200, r.status()); - assertEquals(r.status(), 200); - latch.countDown(); - } - ); - - response.onError( - (err) -> { - fail(); - } - ); - assertTrue(latch.await(5, TimeUnit.SECONDS)); - } -} \ No newline at end of file diff --git a/src/test/java/com/javadiscord/jdi/api/automoderation/CreateAutoModerationRuleRequestTest.java b/src/test/java/com/javadiscord/jdi/api/automoderation/CreateAutoModerationRuleRequestTest.java deleted file mode 100644 index a4ce567e..00000000 --- a/src/test/java/com/javadiscord/jdi/api/automoderation/CreateAutoModerationRuleRequestTest.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.javadiscord.jdi.api.automoderation; - -import com.javadiscord.jdi.PreTestPrep; -import com.javadiscord.jdi.api.RestAPITest; -import com.javadiscord.jdi.internal.api.DiscordResponseFuture; -import com.javadiscord.jdi.internal.api.impl.automoderation.CreateAutoModerationRuleRequest; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; - -import java.util.List; -import java.util.Optional; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; - -import static org.junit.jupiter.api.Assertions.*; - -class CreateAutoModerationRuleRequestTest extends RestAPITest { - - @Test - void test() throws InterruptedException { - testRequest(new CreateAutoModerationRuleRequest( - 0L, - "", - 0, - 0, - Optional.empty(), - List.of(), - Optional.empty(), - Optional.empty(), - Optional.empty() - ), 200); - } -} \ No newline at end of file diff --git a/src/test/java/com/javadiscord/jdi/api/automoderation/DeleteAutoModerationRuleRequestTest.java b/src/test/java/com/javadiscord/jdi/api/automoderation/DeleteAutoModerationRuleRequestTest.java deleted file mode 100644 index 1006c5ed..00000000 --- a/src/test/java/com/javadiscord/jdi/api/automoderation/DeleteAutoModerationRuleRequestTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.javadiscord.jdi.api.automoderation; - -import com.javadiscord.jdi.PreTestPrep; -import com.javadiscord.jdi.api.RestAPITest; -import com.javadiscord.jdi.internal.api.DiscordRequest; -import com.javadiscord.jdi.internal.api.impl.automoderation.DeleteAutoModerationRuleRequest; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; - -import static org.junit.jupiter.api.Assertions.*; - -class DeleteAutoModerationRuleRequestTest extends RestAPITest { - - @Test - void test() throws InterruptedException { - testRequest(new DeleteAutoModerationRuleRequest( - 0L, - 0L - ), 200); - - } -} \ No newline at end of file From 71c8fa4ee4e49ab21d2b314e58fd29bb3d7aa16f Mon Sep 17 00:00:00 2001 From: Suraj Kumar Date: Mon, 22 Apr 2024 15:45:26 +0100 Subject: [PATCH 5/5] Repackaging --- .../api/application/EditCurrentApplicationRequestTest.java | 5 ++--- .../api/application/GetCurrentApplicationRequestTest.java | 5 ++--- .../automoderation/CreateAutoModerationRuleRequestTest.java | 4 ++-- .../automoderation/DeleteAutoModerationRuleRequestTest.java | 4 ++-- .../integration/{jdi => helpers}/MockServerInitializer.java | 2 +- .../integration/{jdi/api => helpers}/RestTestHelper.java | 3 +-- 6 files changed, 10 insertions(+), 13 deletions(-) rename src/test/integration/{jdi => com/jdi/internal}/api/application/EditCurrentApplicationRequestTest.java (92%) rename src/test/integration/{jdi => com/jdi/internal}/api/application/GetCurrentApplicationRequestTest.java (90%) rename src/test/integration/{jdi => com/jdi/internal}/api/automoderation/CreateAutoModerationRuleRequestTest.java (89%) rename src/test/integration/{jdi => com/jdi/internal}/api/automoderation/DeleteAutoModerationRuleRequestTest.java (84%) rename src/test/integration/{jdi => helpers}/MockServerInitializer.java (98%) rename src/test/integration/{jdi/api => helpers}/RestTestHelper.java (95%) diff --git a/src/test/integration/jdi/api/application/EditCurrentApplicationRequestTest.java b/src/test/integration/com/jdi/internal/api/application/EditCurrentApplicationRequestTest.java similarity index 92% rename from src/test/integration/jdi/api/application/EditCurrentApplicationRequestTest.java rename to src/test/integration/com/jdi/internal/api/application/EditCurrentApplicationRequestTest.java index 15df56b0..b3801169 100644 --- a/src/test/integration/jdi/api/application/EditCurrentApplicationRequestTest.java +++ b/src/test/integration/com/jdi/internal/api/application/EditCurrentApplicationRequestTest.java @@ -1,4 +1,4 @@ -package jdi.api.application; +package com.jdi.internal.api.application; import static org.junit.jupiter.api.Assertions.*; @@ -6,8 +6,7 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import jdi.MockServerInitializer; -import jdi.api.RestTestHelper; +import helpers.RestTestHelper; import com.javadiscord.jdi.internal.api.DiscordRequest; import com.javadiscord.jdi.internal.api.DiscordResponseFuture; import com.javadiscord.jdi.internal.api.impl.application.EditCurrentApplicationRequest; diff --git a/src/test/integration/jdi/api/application/GetCurrentApplicationRequestTest.java b/src/test/integration/com/jdi/internal/api/application/GetCurrentApplicationRequestTest.java similarity index 90% rename from src/test/integration/jdi/api/application/GetCurrentApplicationRequestTest.java rename to src/test/integration/com/jdi/internal/api/application/GetCurrentApplicationRequestTest.java index 7222b75f..2c1dcec9 100644 --- a/src/test/integration/jdi/api/application/GetCurrentApplicationRequestTest.java +++ b/src/test/integration/com/jdi/internal/api/application/GetCurrentApplicationRequestTest.java @@ -1,12 +1,11 @@ -package jdi.api.application; +package com.jdi.internal.api.application; import static org.junit.jupiter.api.Assertions.*; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import jdi.MockServerInitializer; -import jdi.api.RestTestHelper; +import helpers.RestTestHelper; import com.javadiscord.jdi.internal.api.DiscordResponseFuture; import com.javadiscord.jdi.internal.api.impl.application.GetCurrentApplicationRequest; diff --git a/src/test/integration/jdi/api/automoderation/CreateAutoModerationRuleRequestTest.java b/src/test/integration/com/jdi/internal/api/automoderation/CreateAutoModerationRuleRequestTest.java similarity index 89% rename from src/test/integration/jdi/api/automoderation/CreateAutoModerationRuleRequestTest.java rename to src/test/integration/com/jdi/internal/api/automoderation/CreateAutoModerationRuleRequestTest.java index 0a8cd51a..673dbe4e 100644 --- a/src/test/integration/jdi/api/automoderation/CreateAutoModerationRuleRequestTest.java +++ b/src/test/integration/com/jdi/internal/api/automoderation/CreateAutoModerationRuleRequestTest.java @@ -1,9 +1,9 @@ -package jdi.api.automoderation; +package com.jdi.internal.api.automoderation; import java.util.List; import java.util.Optional; -import jdi.api.RestTestHelper; +import helpers.RestTestHelper; import com.javadiscord.jdi.internal.api.impl.automoderation.CreateAutoModerationRuleRequest; import org.junit.jupiter.api.Test; diff --git a/src/test/integration/jdi/api/automoderation/DeleteAutoModerationRuleRequestTest.java b/src/test/integration/com/jdi/internal/api/automoderation/DeleteAutoModerationRuleRequestTest.java similarity index 84% rename from src/test/integration/jdi/api/automoderation/DeleteAutoModerationRuleRequestTest.java rename to src/test/integration/com/jdi/internal/api/automoderation/DeleteAutoModerationRuleRequestTest.java index 68d7831e..50228272 100644 --- a/src/test/integration/jdi/api/automoderation/DeleteAutoModerationRuleRequestTest.java +++ b/src/test/integration/com/jdi/internal/api/automoderation/DeleteAutoModerationRuleRequestTest.java @@ -1,6 +1,6 @@ -package jdi.api.automoderation; +package com.jdi.internal.api.automoderation; -import jdi.api.RestTestHelper; +import helpers.RestTestHelper; import com.javadiscord.jdi.internal.api.impl.automoderation.DeleteAutoModerationRuleRequest; import org.junit.jupiter.api.Test; diff --git a/src/test/integration/jdi/MockServerInitializer.java b/src/test/integration/helpers/MockServerInitializer.java similarity index 98% rename from src/test/integration/jdi/MockServerInitializer.java rename to src/test/integration/helpers/MockServerInitializer.java index d5c9b88d..9e4e07b7 100644 --- a/src/test/integration/jdi/MockServerInitializer.java +++ b/src/test/integration/helpers/MockServerInitializer.java @@ -1,4 +1,4 @@ -package jdi; +package helpers; import java.nio.file.Paths; diff --git a/src/test/integration/jdi/api/RestTestHelper.java b/src/test/integration/helpers/RestTestHelper.java similarity index 95% rename from src/test/integration/jdi/api/RestTestHelper.java rename to src/test/integration/helpers/RestTestHelper.java index 158529fa..9c42c289 100644 --- a/src/test/integration/jdi/api/RestTestHelper.java +++ b/src/test/integration/helpers/RestTestHelper.java @@ -1,4 +1,4 @@ -package jdi.api; +package helpers; import static org.junit.jupiter.api.Assertions.*; @@ -7,7 +7,6 @@ import com.javadiscord.jdi.core.Discord; import com.javadiscord.jdi.internal.api.DiscordRequestDispatcher; -import jdi.MockServerInitializer; import com.javadiscord.jdi.internal.api.DiscordRequest; import com.javadiscord.jdi.internal.api.DiscordResponseFuture;