From adda4ec7276618053dfffa8a5982df4b8d8123cf Mon Sep 17 00:00:00 2001 From: DarkAtra Date: Wed, 14 Aug 2024 19:51:22 +0200 Subject: [PATCH] fix: allow using configure commands in DMs (for admins) --- .../ConfigurePlayerActivityFeedCommand.kt | 2 +- .../commands/ConfigurePvpKillFeedCommand.kt | 2 +- .../commands/ConfigureStatusMonitorCommand.kt | 2 +- .../botcompanion/BotCompanionClientTest.kt | 23 +++++++++++++++++++ .../persistence/ServerRepositoryTest.kt | 2 ++ 5 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/de/darkatra/vrising/discord/commands/ConfigurePlayerActivityFeedCommand.kt b/src/main/kotlin/de/darkatra/vrising/discord/commands/ConfigurePlayerActivityFeedCommand.kt index f3bfebc..b1c877e 100644 --- a/src/main/kotlin/de/darkatra/vrising/discord/commands/ConfigurePlayerActivityFeedCommand.kt +++ b/src/main/kotlin/de/darkatra/vrising/discord/commands/ConfigurePlayerActivityFeedCommand.kt @@ -37,7 +37,7 @@ class ConfigurePlayerActivityFeedCommand( description = description ) { - dmPermission = false + dmPermission = true disableCommandInGuilds() addServerIdParameter() diff --git a/src/main/kotlin/de/darkatra/vrising/discord/commands/ConfigurePvpKillFeedCommand.kt b/src/main/kotlin/de/darkatra/vrising/discord/commands/ConfigurePvpKillFeedCommand.kt index cf36301..ae67905 100644 --- a/src/main/kotlin/de/darkatra/vrising/discord/commands/ConfigurePvpKillFeedCommand.kt +++ b/src/main/kotlin/de/darkatra/vrising/discord/commands/ConfigurePvpKillFeedCommand.kt @@ -37,7 +37,7 @@ class ConfigurePvpKillFeedCommand( description = description ) { - dmPermission = false + dmPermission = true disableCommandInGuilds() addServerIdParameter() diff --git a/src/main/kotlin/de/darkatra/vrising/discord/commands/ConfigureStatusMonitorCommand.kt b/src/main/kotlin/de/darkatra/vrising/discord/commands/ConfigureStatusMonitorCommand.kt index 6212437..a7e2225 100644 --- a/src/main/kotlin/de/darkatra/vrising/discord/commands/ConfigureStatusMonitorCommand.kt +++ b/src/main/kotlin/de/darkatra/vrising/discord/commands/ConfigureStatusMonitorCommand.kt @@ -41,7 +41,7 @@ class ConfigureStatusMonitorCommand( description = description ) { - dmPermission = false + dmPermission = true disableCommandInGuilds() addServerIdParameter() diff --git a/src/test/kotlin/de/darkatra/vrising/discord/clients/botcompanion/BotCompanionClientTest.kt b/src/test/kotlin/de/darkatra/vrising/discord/clients/botcompanion/BotCompanionClientTest.kt index 30d7be7..81cd188 100644 --- a/src/test/kotlin/de/darkatra/vrising/discord/clients/botcompanion/BotCompanionClientTest.kt +++ b/src/test/kotlin/de/darkatra/vrising/discord/clients/botcompanion/BotCompanionClientTest.kt @@ -25,6 +25,29 @@ class BotCompanionClientTest { } ) + @Test + fun `should handle timeouts correctly`(wireMockRuntimeInfo: WireMockRuntimeInfo) { + + wireMockRuntimeInfo.wireMock.register( + WireMock.get("/v-rising-discord-bot/characters") + .withHeader(HttpHeaders.ACCEPT, equalTo(MediaType.APPLICATION_JSON_VALUE)) + .withHeader(HttpHeaders.USER_AGENT, equalTo("test")) + .willReturn( + WireMock.aResponse() + .withFixedDelay(10_000) + .withStatus(HttpStatus.OK.value()) + ) + ) + + val charactersResult = runBlocking { + botCompanionClient.getCharacters("localhost", wireMockRuntimeInfo.httpPort) + } + assertThat(charactersResult.isFailure).isTrue() + + val exception = charactersResult.exceptionOrNull() + assertThat(exception).hasMessageContaining("Unexpected exception performing") + } + @Test fun `should get characters`(wireMockRuntimeInfo: WireMockRuntimeInfo) { diff --git a/src/test/kotlin/de/darkatra/vrising/discord/persistence/ServerRepositoryTest.kt b/src/test/kotlin/de/darkatra/vrising/discord/persistence/ServerRepositoryTest.kt index 30dbfe8..e4e044d 100644 --- a/src/test/kotlin/de/darkatra/vrising/discord/persistence/ServerRepositoryTest.kt +++ b/src/test/kotlin/de/darkatra/vrising/discord/persistence/ServerRepositoryTest.kt @@ -96,6 +96,8 @@ class ServerRepositoryTest { serverRepository.updateServer(update1) + assertThat(serverRepository.getServer(server.id, server.discordServerId)!!.hostname).isEqualTo("test-1") + val e = assertThrows { serverRepository.updateServer(update2) }