aboutsummaryrefslogtreecommitdiff
path: root/juick-server-jdbc/src/test/java
diff options
context:
space:
mode:
Diffstat (limited to 'juick-server-jdbc/src/test/java')
-rw-r--r--juick-server-jdbc/src/test/java/com/juick/configuration/MockDataConfiguration.java47
-rw-r--r--juick-server-jdbc/src/test/java/com/juick/configuration/RepositoryConfiguration.java65
-rw-r--r--juick-server-jdbc/src/test/java/com/juick/service/MessageServiceTest.java23
-rw-r--r--juick-server-jdbc/src/test/java/com/juick/tests/util/MockUtils.java34
4 files changed, 169 insertions, 0 deletions
diff --git a/juick-server-jdbc/src/test/java/com/juick/configuration/MockDataConfiguration.java b/juick-server-jdbc/src/test/java/com/juick/configuration/MockDataConfiguration.java
new file mode 100644
index 000000000..bd2f3f501
--- /dev/null
+++ b/juick-server-jdbc/src/test/java/com/juick/configuration/MockDataConfiguration.java
@@ -0,0 +1,47 @@
+package com.juick.configuration;
+
+import com.juick.service.*;
+import org.mockito.Mockito;
+import org.springframework.context.annotation.Bean;
+
+/**
+ * Created by vitalyster on 12.01.2017.
+ */
+public class MockDataConfiguration {
+ @Bean
+ MessagesService messagesService() {
+ return Mockito.mock(MessagesService.class);
+ }
+ @Bean
+ UserService userService() {
+ return Mockito.mock(UserService.class);
+ }
+ @Bean
+ TagService tagService() {
+ return Mockito.mock(TagService.class);
+ }
+ @Bean
+ PushQueriesService pushQueriesService() {
+ return Mockito.mock(PushQueriesService.class);
+ }
+ @Bean
+ SubscriptionService subscriptionService() {
+ return Mockito.mock(SubscriptionService.class);
+ }
+ @Bean
+ PMQueriesService pmQueriesService() {
+ return Mockito.mock(PMQueriesService.class);
+ }
+ @Bean
+ TelegramService telegramService() {
+ return Mockito.mock(TelegramService.class);
+ }
+ @Bean
+ CrosspostService crosspostService() {
+ return Mockito.mock(CrosspostService.class);
+ }
+ @Bean
+ EmailService emailService() {
+ return Mockito.mock(EmailService.class);
+ }
+}
diff --git a/juick-server-jdbc/src/test/java/com/juick/configuration/RepositoryConfiguration.java b/juick-server-jdbc/src/test/java/com/juick/configuration/RepositoryConfiguration.java
new file mode 100644
index 000000000..4a74349f5
--- /dev/null
+++ b/juick-server-jdbc/src/test/java/com/juick/configuration/RepositoryConfiguration.java
@@ -0,0 +1,65 @@
+package com.juick.configuration;
+
+import ch.vorburger.exec.ManagedProcessException;
+import ch.vorburger.mariadb4j.DB;
+import com.juick.service.search.SearchService;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.datasource.DriverManagerDataSource;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * Created by aalexeev on 11/25/16.
+ */
+@Configuration
+@ComponentScan(basePackages = "com.juick.service")
+public class RepositoryConfiguration {
+
+ @Bean(destroyMethod = "stop")
+ DB db() throws ManagedProcessException {
+ DB db = DB.newEmbeddedDB(33306);
+
+ db.start();
+ db.createDB("juick");
+ db.source("schema.sql");
+
+ return db;
+ }
+
+ @Bean
+ public DriverManagerDataSource dataSource() {
+ DriverManagerDataSource dataSource = new DriverManagerDataSource();
+ dataSource.setDriverClassName("net.sf.log4jdbc.DriverSpy");
+ dataSource.setUrl("jdbc:log4jdbc:mysql://localhost:33306/juick?autoReconnect=true&user=root");
+
+ return dataSource;
+ }
+
+ @Bean
+ public JdbcTemplate jdbcTemplate() {
+ return new JdbcTemplate(dataSource());
+ }
+
+ @Bean
+ public SearchService emptySearchService() {
+ return new SearchService() {
+ @Override
+ public void setMaxResult(int maxResult) {
+ }
+
+ @Override
+ public List<Integer> searchInAllMessages(String searchString, int messageIdBefore) {
+ return Collections.emptyList();
+ }
+
+ @Override
+ public List<Integer> searchByStringAndUser(String searchString, int userId, int messageIdBefore) {
+ return Collections.emptyList();
+ }
+ };
+ }
+}
diff --git a/juick-server-jdbc/src/test/java/com/juick/service/MessageServiceTest.java b/juick-server-jdbc/src/test/java/com/juick/service/MessageServiceTest.java
new file mode 100644
index 000000000..5f2c2b054
--- /dev/null
+++ b/juick-server-jdbc/src/test/java/com/juick/service/MessageServiceTest.java
@@ -0,0 +1,23 @@
+package com.juick.service;
+
+import com.juick.configuration.RepositoryConfiguration;
+import org.junit.Test;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
+
+import javax.inject.Inject;
+
+/**
+ * Created by aalexeev on 11/25/16.
+ */
+@ContextConfiguration(classes = RepositoryConfiguration.class)
+public class MessageServiceTest extends AbstractJUnit4SpringContextTests {
+ @Inject
+ private MessagesService messagesService;
+
+
+ @Test
+ public void getMyFeed() {
+ messagesService.getMyFeed(1, 1000000);
+ }
+}
diff --git a/juick-server-jdbc/src/test/java/com/juick/tests/util/MockUtils.java b/juick-server-jdbc/src/test/java/com/juick/tests/util/MockUtils.java
new file mode 100644
index 000000000..5344dd239
--- /dev/null
+++ b/juick-server-jdbc/src/test/java/com/juick/tests/util/MockUtils.java
@@ -0,0 +1,34 @@
+package com.juick.tests.util;
+
+import com.juick.Message;
+import com.juick.User;
+import org.apache.commons.text.RandomStringGenerator;
+
+import java.util.Date;
+
+/**
+ * Created by vitalyster on 12.01.2017.
+ */
+public class MockUtils {
+ final static RandomStringGenerator generator = new RandomStringGenerator.Builder().withinRange('a', 'z').build();
+ public static Message mockMessage(Integer mid, final User user, final String messageText) {
+ Message msg = new Message();
+
+ msg.setMid(mid);
+ msg.setUser(user);
+ msg.setText(messageText == null ? generator.generate(24) : messageText);
+ msg.setDate(new Date());
+ return msg;
+ }
+
+ public static User mockUser(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;
+ }
+}