diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ad7d17cf..795c541d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -14,7 +14,7 @@ junit = "org.junit.jupiter:junit-jupiter:5.13.2" junit-platform = "org.junit.platform:junit-platform-launcher:1.13.2" logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logback" } logback-core = { module = "ch.qos.logback:logback-core", version.ref = "logback" } -mockwebserver = "com.squareup.okhttp3:mockwebserver3-junit5:5.0.0-alpha.16" +mockwebserver = "com.squareup.okhttp3:mockwebserver3-junit5:5.0.0-alpha.17" okio = "com.squareup.okio:okio:3.14.0" scrimage-core = { module = "com.sksamuel.scrimage:scrimage-core", version.ref = "scrimage" } scrimage-formats-extra = { module = "com.sksamuel.scrimage:scrimage-formats-extra", version.ref = "scrimage" } diff --git a/src/test/java/com/github/stickerifier/stickerify/bot/StickerifyTest.java b/src/test/java/com/github/stickerifier/stickerify/bot/StickerifyTest.java index 287e69a4..12f018e3 100644 --- a/src/test/java/com/github/stickerifier/stickerify/bot/StickerifyTest.java +++ b/src/test/java/com/github/stickerifier/stickerify/bot/StickerifyTest.java @@ -5,29 +5,23 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.containsString; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; import com.github.stickerifier.stickerify.junit.ClearTempFiles; import com.github.stickerifier.stickerify.telegram.Answer; import com.pengrad.telegrambot.TelegramBot; import mockwebserver3.MockWebServer; import mockwebserver3.RecordedRequest; -import mockwebserver3.junit5.internal.MockWebServerExtension; -import org.junit.jupiter.api.BeforeEach; +import mockwebserver3.junit5.StartStop; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; import java.net.URLEncoder; @ClearTempFiles -@ExtendWith(MockWebServerExtension.class) class StickerifyTest { - private MockWebServer server; - - @BeforeEach - void setup() { - server = new MockWebServer(); - } + @StartStop + private final MockWebServer server = new MockWebServer(); @Test void startMessage() throws Exception { @@ -36,10 +30,10 @@ void startMessage() throws Exception { startBot(); var getUpdates = server.takeRequest(); - assertEquals("/api/token/getUpdates", getUpdates.getPath()); + assertEquals("/api/token/getUpdates", getUpdates.getTarget()); var sendMessage = server.takeRequest(); - assertEquals("/api/token/sendMessage", sendMessage.getPath()); + assertEquals("/api/token/sendMessage", sendMessage.getTarget()); assertResponseContainsMessage(sendMessage, Answer.HELP); } @@ -55,7 +49,8 @@ private void startBot() { private static void assertResponseContainsMessage(RecordedRequest request, Answer answer) { var message = URLEncoder.encode(answer.getText(), UTF_8); - assertThat(request.getBody().readUtf8(), containsString(message)); + assertNotNull(request.getBody()); + assertThat(request.getBody().utf8(), containsString(message)); } @Test @@ -65,10 +60,10 @@ void helpMessage() throws Exception { startBot(); var getUpdates = server.takeRequest(); - assertEquals("/api/token/getUpdates", getUpdates.getPath()); + assertEquals("/api/token/getUpdates", getUpdates.getTarget()); var sendMessage = server.takeRequest(); - assertEquals("/api/token/sendMessage", sendMessage.getPath()); + assertEquals("/api/token/sendMessage", sendMessage.getTarget()); assertResponseContainsMessage(sendMessage, Answer.HELP); } @@ -79,10 +74,10 @@ void privacyMessage() throws Exception { startBot(); var getUpdates = server.takeRequest(); - assertEquals("/api/token/getUpdates", getUpdates.getPath()); + assertEquals("/api/token/getUpdates", getUpdates.getTarget()); var sendMessage = server.takeRequest(); - assertEquals("/api/token/sendMessage", sendMessage.getPath()); + assertEquals("/api/token/sendMessage", sendMessage.getTarget()); assertResponseContainsMessage(sendMessage, Answer.PRIVACY_POLICY); } @@ -93,10 +88,10 @@ void fileNotSupported() throws Exception { startBot(); var getUpdates = server.takeRequest(); - assertEquals("/api/token/getUpdates", getUpdates.getPath()); + assertEquals("/api/token/getUpdates", getUpdates.getTarget()); var sendMessage = server.takeRequest(); - assertEquals("/api/token/sendMessage", sendMessage.getPath()); + assertEquals("/api/token/sendMessage", sendMessage.getTarget()); assertResponseContainsMessage(sendMessage, Answer.ERROR); } @@ -107,10 +102,10 @@ void fileTooBig() throws Exception { startBot(); var getUpdates = server.takeRequest(); - assertEquals("/api/token/getUpdates", getUpdates.getPath()); + assertEquals("/api/token/getUpdates", getUpdates.getTarget()); var sendMessage = server.takeRequest(); - assertEquals("/api/token/sendMessage", sendMessage.getPath()); + assertEquals("/api/token/sendMessage", sendMessage.getTarget()); assertResponseContainsMessage(sendMessage, Answer.FILE_TOO_LARGE); } @@ -123,17 +118,18 @@ void fileAlreadyValid() throws Exception { startBot(); var getUpdates = server.takeRequest(); - assertEquals("/api/token/getUpdates", getUpdates.getPath()); + assertEquals("/api/token/getUpdates", getUpdates.getTarget()); var getFile = server.takeRequest(); - assertEquals("/api/token/getFile", getFile.getPath()); - assertEquals("file_id=animated_sticker.tgs", getFile.getBody().readUtf8()); + assertEquals("/api/token/getFile", getFile.getTarget()); + assertNotNull(getFile.getBody()); + assertEquals("file_id=animated_sticker.tgs", getFile.getBody().utf8()); var download = server.takeRequest(); - assertEquals("/files/token/animated_sticker.tgs", download.getPath()); + assertEquals("/files/token/animated_sticker.tgs", download.getTarget()); var sendMessage = server.takeRequest(); - assertEquals("/api/token/sendMessage", sendMessage.getPath()); + assertEquals("/api/token/sendMessage", sendMessage.getTarget()); assertResponseContainsMessage(sendMessage, Answer.FILE_ALREADY_VALID); } @@ -146,18 +142,20 @@ void convertedPng() throws Exception { startBot(); var getUpdates = server.takeRequest(); - assertEquals("/api/token/getUpdates", getUpdates.getPath()); + assertEquals("/api/token/getUpdates", getUpdates.getTarget()); var getFile = server.takeRequest(); - assertEquals("/api/token/getFile", getFile.getPath()); - assertEquals("file_id=big.png", getFile.getBody().readUtf8()); + assertEquals("/api/token/getFile", getFile.getTarget()); + assertNotNull(getFile.getBody()); + assertEquals("file_id=big.png", getFile.getBody().utf8()); var download = server.takeRequest(); - assertEquals("/files/token/big.png", download.getPath()); + assertEquals("/files/token/big.png", download.getTarget()); var sendDocument = server.takeRequest(); - assertEquals("/api/token/sendDocument", sendDocument.getPath()); - assertThat(sendDocument.getBody().readUtf8(), containsString(Answer.FILE_READY.getText())); + assertEquals("/api/token/sendDocument", sendDocument.getTarget()); + assertNotNull(sendDocument.getBody()); + assertThat(sendDocument.getBody().utf8(), containsString(Answer.FILE_READY.getText())); } @Test @@ -169,18 +167,20 @@ void convertedWebp() throws Exception { startBot(); var getUpdates = server.takeRequest(); - assertEquals("/api/token/getUpdates", getUpdates.getPath()); + assertEquals("/api/token/getUpdates", getUpdates.getTarget()); var getFile = server.takeRequest(); - assertEquals("/api/token/getFile", getFile.getPath()); - assertEquals("file_id=static.webp", getFile.getBody().readUtf8()); + assertEquals("/api/token/getFile", getFile.getTarget()); + assertNotNull(getFile.getBody()); + assertEquals("file_id=static.webp", getFile.getBody().utf8()); var download = server.takeRequest(); - assertEquals("/files/token/static.webp", download.getPath()); + assertEquals("/files/token/static.webp", download.getTarget()); var sendDocument = server.takeRequest(); - assertEquals("/api/token/sendDocument", sendDocument.getPath()); - assertThat(sendDocument.getBody().readUtf8(), containsString(Answer.FILE_READY.getText())); + assertEquals("/api/token/sendDocument", sendDocument.getTarget()); + assertNotNull(sendDocument.getBody()); + assertThat(sendDocument.getBody().utf8(), containsString(Answer.FILE_READY.getText())); } @Test @@ -192,18 +192,20 @@ void convertedMov() throws Exception { startBot(); var getUpdates = server.takeRequest(); - assertEquals("/api/token/getUpdates", getUpdates.getPath()); + assertEquals("/api/token/getUpdates", getUpdates.getTarget()); var getFile = server.takeRequest(); - assertEquals("/api/token/getFile", getFile.getPath()); - assertEquals("file_id=long.mov", getFile.getBody().readUtf8()); + assertEquals("/api/token/getFile", getFile.getTarget()); + assertNotNull(getFile.getBody()); + assertEquals("file_id=long.mov", getFile.getBody().utf8()); var download = server.takeRequest(); - assertEquals("/files/token/long.mov", download.getPath()); + assertEquals("/files/token/long.mov", download.getTarget()); var sendDocument = server.takeRequest(); - assertEquals("/api/token/sendDocument", sendDocument.getPath()); - assertThat(sendDocument.getBody().readUtf8(), containsString(Answer.FILE_READY.getText())); + assertEquals("/api/token/sendDocument", sendDocument.getTarget()); + assertNotNull(sendDocument.getBody()); + assertThat(sendDocument.getBody().utf8(), containsString(Answer.FILE_READY.getText())); } @Test @@ -215,18 +217,20 @@ void convertedWebm() throws Exception { startBot(); var getUpdates = server.takeRequest(); - assertEquals("/api/token/getUpdates", getUpdates.getPath()); + assertEquals("/api/token/getUpdates", getUpdates.getTarget()); var getFile = server.takeRequest(); - assertEquals("/api/token/getFile", getFile.getPath()); - assertEquals("file_id=short_low_fps.webm", getFile.getBody().readUtf8()); + assertEquals("/api/token/getFile", getFile.getTarget()); + assertNotNull(getFile.getBody()); + assertEquals("file_id=short_low_fps.webm", getFile.getBody().utf8()); var download = server.takeRequest(); - assertEquals("/files/token/short_low_fps.webm", download.getPath()); + assertEquals("/files/token/short_low_fps.webm", download.getTarget()); var sendDocument = server.takeRequest(); - assertEquals("/api/token/sendDocument", sendDocument.getPath()); - assertThat(sendDocument.getBody().readUtf8(), containsString(Answer.FILE_READY.getText())); + assertEquals("/api/token/sendDocument", sendDocument.getTarget()); + assertNotNull(sendDocument.getBody()); + assertThat(sendDocument.getBody().utf8(), containsString(Answer.FILE_READY.getText())); } @Test @@ -238,18 +242,20 @@ void convertedGif() throws Exception { startBot(); var getUpdates = server.takeRequest(); - assertEquals("/api/token/getUpdates", getUpdates.getPath()); + assertEquals("/api/token/getUpdates", getUpdates.getTarget()); var getFile = server.takeRequest(); - assertEquals("/api/token/getFile", getFile.getPath()); - assertEquals("file_id=valid.gif", getFile.getBody().readUtf8()); + assertEquals("/api/token/getFile", getFile.getTarget()); + assertNotNull(getFile.getBody()); + assertEquals("file_id=valid.gif", getFile.getBody().utf8()); var download = server.takeRequest(); - assertEquals("/files/token/valid.gif", download.getPath()); + assertEquals("/files/token/valid.gif", download.getTarget()); var sendDocument = server.takeRequest(); - assertEquals("/api/token/sendDocument", sendDocument.getPath()); - assertThat(sendDocument.getBody().readUtf8(), containsString(Answer.FILE_READY.getText())); + assertEquals("/api/token/sendDocument", sendDocument.getTarget()); + assertNotNull(sendDocument.getBody()); + assertThat(sendDocument.getBody().utf8(), containsString(Answer.FILE_READY.getText())); } @Test @@ -261,17 +267,18 @@ void documentNotSupported() throws Exception { startBot(); var getUpdates = server.takeRequest(); - assertEquals("/api/token/getUpdates", getUpdates.getPath()); + assertEquals("/api/token/getUpdates", getUpdates.getTarget()); var getFile = server.takeRequest(); - assertEquals("/api/token/getFile", getFile.getPath()); - assertEquals("file_id=document.txt", getFile.getBody().readUtf8()); + assertEquals("/api/token/getFile", getFile.getTarget()); + assertNotNull(getFile.getBody()); + assertEquals("file_id=document.txt", getFile.getBody().utf8()); var download = server.takeRequest(); - assertEquals("/files/token/document.txt", download.getPath()); + assertEquals("/files/token/document.txt", download.getTarget()); var sendMessage = server.takeRequest(); - assertEquals("/api/token/sendMessage", sendMessage.getPath()); + assertEquals("/api/token/sendMessage", sendMessage.getTarget()); assertResponseContainsMessage(sendMessage, Answer.ERROR); } @@ -284,17 +291,18 @@ void corruptedVideo() throws Exception { startBot(); var getUpdates = server.takeRequest(); - assertEquals("/api/token/getUpdates", getUpdates.getPath()); + assertEquals("/api/token/getUpdates", getUpdates.getTarget()); var getFile = server.takeRequest(); - assertEquals("/api/token/getFile", getFile.getPath()); - assertEquals("file_id=corrupted.mp4", getFile.getBody().readUtf8()); + assertEquals("/api/token/getFile", getFile.getTarget()); + assertNotNull(getFile.getBody()); + assertEquals("file_id=corrupted.mp4", getFile.getBody().utf8()); var download = server.takeRequest(); - assertEquals("/files/token/corrupted.mp4", download.getPath()); + assertEquals("/files/token/corrupted.mp4", download.getTarget()); var sendMessage = server.takeRequest(); - assertEquals("/api/token/sendMessage", sendMessage.getPath()); + assertEquals("/api/token/sendMessage", sendMessage.getTarget()); assertResponseContainsMessage(sendMessage, Answer.CORRUPTED); } }