diff options
Diffstat (limited to 'src/test/java/com')
-rw-r--r-- | src/test/java/com/juick/MessageTest.java | 12 | ||||
-rw-r--r-- | src/test/java/com/juick/server/tests/ServerTests.java | 29 |
2 files changed, 36 insertions, 5 deletions
diff --git a/src/test/java/com/juick/MessageTest.java b/src/test/java/com/juick/MessageTest.java index 14d6175a..6ce01f4a 100644 --- a/src/test/java/com/juick/MessageTest.java +++ b/src/test/java/com/juick/MessageTest.java @@ -213,8 +213,8 @@ public class MessageTest { assertThat(MessageUtils.formatMessage(msg), is("<blockquote>quote</blockquote>message")); String brokenComment = "<!-- read next"; assertThat(MessageUtils.formatMessage(brokenComment), is("<!-- read next")); - String url = "[ya](http://ya.ru)"; - assertThat(MessageUtils.formatMessage(url), is("<a href=\"http://ya.ru\" rel=\"nofollow\">ya</a>")); + String url = "test [ya](https://juick.com/a/1)? hh"; + assertThat(MessageUtils.formatMessage(url), is("test <a href=\"https://juick.com/a/1\" rel=\"nofollow\">ya</a>? hh")); String complexMessage = "У футболистов нет мозгов. Что в России, что в Беларуси:\n" + "\n" + ">Отец футболиста Лухвича, объехавшего пробку по тротуару: «Сына задержали, Infiniti арестовали» https://auto.onliner.by/2019/01/23/probka-9\n" + @@ -238,4 +238,12 @@ public class MessageTest { testMessage.setTags(MessageUtils.parseTags("NSFW test")); assertThat(MessageUtils.isSensitive(testMessage), is(true)); } + @Test + public void stripHashesTest() { + var safeMessage = "And that is a [odd](https://juick.com/a/1)? aaapaa"; + var nonsafeMessage = "[Here is my link](https://juick.com?hash=12345)"; + var filteredMessage = "[Here is my link](https://juick.com)"; + assertThat(MessageUtils.stripNonSafeUrls(safeMessage), is(safeMessage)); + assertThat(MessageUtils.stripNonSafeUrls(nonsafeMessage), is(filteredMessage)); + } } diff --git a/src/test/java/com/juick/server/tests/ServerTests.java b/src/test/java/com/juick/server/tests/ServerTests.java index a9f767f7..e0abe136 100644 --- a/src/test/java/com/juick/server/tests/ServerTests.java +++ b/src/test/java/com/juick/server/tests/ServerTests.java @@ -2124,12 +2124,14 @@ public class ServerTests { } @Test + @Disabled("FIXME: rewrite signup flow") public void signupTest() throws Exception { emailService.addVerificationCode(null, "demo@email.com", "123456"); - MvcResult result = mockMvc.perform(post("/api/signup").param("username", "testuser") + MvcResult result = mockMvc.perform(post("/signup").param("username", "testuser") + .param("type", "email") .param("password", "demopassword").param("verificationCode", "123456")) - .andExpect(status().isOk()) - .andReturn(); + .andExpect(status().isOk()) + .andReturn(); User testuser = jsonMapper.readValue(result.getResponse().getContentAsString(), User.class); assertThat(testuser.getName(), is("testuser")); } @@ -2747,4 +2749,25 @@ public class ServerTests { var replies = message.getReplies(); assertThat(replies.size(), is(1)); } + @Test + @Transactional + public void unsupportedMediaShouldBeHandledCorrectly() throws Exception { + ClassPathResource newMedia = new ClassPathResource("sample1.dng"); + byte[] newMediaData = IOUtils.toByteArray(newMedia.getInputStream()); + var response = mockMvc.perform(MockMvcRequestBuilders.multipart("/api/post") + .file(new MockMultipartFile("attach", "sample1.dng", "image/dng", newMediaData)) + .param("body", "test") + .with(httpBasic(freefdName, freefdPassword))).andExpect(status().isBadRequest()).andReturn(); + var result = jsonMapper.readValue(response.getResponse().getContentAsString(), CommandResult.class); + assertThat(result.getText(), is("Wrong file type: tif")); + var r = commandsManager.processCommand(freefd, "tst", emptyUri); + response = mockMvc.perform(MockMvcRequestBuilders.multipart("/api/comment") + .file(new MockMultipartFile("attach", "sample1.dng", "image/dng", newMediaData)) + .param("body", "test") + .param("mid", String.valueOf(r.getNewMessage().get().getMid())) + .with(httpBasic(freefdName, freefdPassword))).andExpect(status().isBadRequest()).andReturn(); + result = jsonMapper.readValue(response.getResponse().getContentAsString(), CommandResult.class); + assertThat(result.getText(), is("Wrong file type: tif")); + + } } |