diff options
author | Vitaly Takmazov | 2018-02-18 01:07:19 +0300 |
---|---|---|
committer | Vitaly Takmazov | 2018-02-18 01:07:19 +0300 |
commit | 69e7a6af07742a075716fa9c30087c68170f6dc6 (patch) | |
tree | b76672c35b036a0b006dce096ec817e03e4c4b44 /juick-rss/src/test/java/com/juick | |
parent | bfab7023d8e635de6189e0f2bea6dad2c8ddd7b6 (diff) |
server: merge rss
Diffstat (limited to 'juick-rss/src/test/java/com/juick')
-rw-r--r-- | juick-rss/src/test/java/com/juick/rss/tests/RSSTests.java | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/juick-rss/src/test/java/com/juick/rss/tests/RSSTests.java b/juick-rss/src/test/java/com/juick/rss/tests/RSSTests.java deleted file mode 100644 index 7c356771..00000000 --- a/juick-rss/src/test/java/com/juick/rss/tests/RSSTests.java +++ /dev/null @@ -1,165 +0,0 @@ -/* - * Copyright (C) 2008-2017, Juick - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -package com.juick.rss.tests; - -import com.juick.Message; -import com.juick.Tag; -import com.juick.User; -import com.juick.rss.configuration.RssAppConfiguration; -import com.juick.rss.configuration.RssMvcConfiguration; -import com.juick.service.MessagesService; -import com.juick.service.TagService; -import com.juick.service.UserService; -import org.apache.commons.text.RandomStringGenerator; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mockito; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; -import org.springframework.context.annotation.Primary; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; -import org.springframework.test.web.servlet.MockMvc; -import org.springframework.test.web.servlet.setup.MockMvcBuilders; -import org.springframework.web.context.WebApplicationContext; - -import javax.inject.Inject; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import static org.mockito.Mockito.when; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; - -/** - * Created by vitalyster on 13.12.2016. - */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration -@WebAppConfiguration -public class RSSTests { - @Configuration - @Import(value = {RssMvcConfiguration.class, RssAppConfiguration.class}) - static class Config { - @Bean - @Primary - MessagesService messagesService() { - return Mockito.mock(MessagesService.class); - } - - @Bean - @Primary - UserService userService() { - return Mockito.mock(UserService.class); - } - - @Bean - @Primary - TagService tagService() { - return Mockito.mock(TagService.class); - } - } - - private MockMvc mockMvc; - @Inject - private WebApplicationContext webApplicationContext; - - @Inject - private MessagesService messagesService; - @Inject - private UserService userService; - @Inject - private TagService tagService; - - private User ugnich, freefd; - String ugnichName, ugnichPassword, freefdName, freefdPassword; - - final static RandomStringGenerator generator = new RandomStringGenerator.Builder().withinRange('a', 'z').build(); - - private static Message getMessage(final User user, final String messageText) { - Message msg = new Message(); - - msg.setMid(1); - msg.setUser(user); - msg.setText(messageText == null ? generator.generate(24) : messageText); - msg.setTags(Collections.singletonList(new Tag(generator.generate(4)))); - - return msg; - } - - private static User getUser(final int uid, final String name, final String password) { - User user = new User(); - - user.setName(name); - user.setUid(uid); - user.setCredentials(password); - user.setBanned(false); - - return user; - } - - @Before - public void setUp() { - mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext) - .dispatchOptions(true) - .build(); - ugnichName = "ugnich"; - ugnichPassword = "MyPassw0rd!"; - freefdName = "freefd"; - freefdPassword = "MyPassw0rd!"; - - ugnich = getUser(1, ugnichName, ugnichPassword); - freefd = getUser(2, freefdName, freefdPassword); - - List<String> users = new ArrayList<>(2); - users.add(ugnichName); - users.add(freefdName); - - when(userService.getUsersByName(users)) - .thenReturn(Arrays.asList(ugnich, freefd)); - when(userService.getUserByName(ugnichName)) - .thenReturn(ugnich); - when(userService.getFullyUserByName(ugnichName)) - .thenReturn(ugnich); - when(userService.getUserByName(null)) - .thenReturn(new User()); - } - - @Test - public void lastMessagesTest() throws Exception { - String msgText = "Привет, я - Угнич"; - - Message msg = getMessage(ugnich, msgText); - - when(messagesService.getMyFeed(1, 0, false)) - .thenReturn(Collections.singletonList(1)); - when(messagesService.getMessages(Collections.singletonList(1))) - .thenReturn(Collections.singletonList(msg)); - - mockMvc.perform( - get("/")) - .andExpect(status().isOk()) - .andExpect(content().contentType("application/rss+xml")) - .andExpect(xpath("/rss/channel/description").string("The latest messages at Juick")); - } -} |