From e8971c84ff78d719b0fea06c8c8f0ad2cdcf08c7 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Mon, 24 Jul 2017 11:38:45 +0300 Subject: move MockUtils to juick-core --- juick-api/build.gradle | 1 + .../java/com/juick/api/tests/MessagesTests.java | 2 +- juick-core/build.gradle | 16 ++++++- juick-core/src/test/java/com/juick/UserTest.java | 36 +++++++++++++++ .../test/java/com/juick/test/util/MockUtils.java | 51 ++++++++++++++++++++++ juick-server-core/build.gradle | 12 +---- .../main/java/com/juick/tests/util/MockUtils.java | 51 ---------------------- juick-www/build.gradle | 1 + .../src/test/java/com/juick/www/WebAppTests.java | 2 +- 9 files changed, 106 insertions(+), 66 deletions(-) create mode 100644 juick-core/src/test/java/com/juick/UserTest.java create mode 100644 juick-core/src/test/java/com/juick/test/util/MockUtils.java delete mode 100644 juick-server-web/src/main/java/com/juick/tests/util/MockUtils.java diff --git a/juick-api/build.gradle b/juick-api/build.gradle index 1deff970..66377e39 100644 --- a/juick-api/build.gradle +++ b/juick-api/build.gradle @@ -18,6 +18,7 @@ dependencies { compile 'org.apache.commons:commons-email:1.4' compile 'org.imgscalr:imgscalr-lib:4.2' + testCompile project(path: ':juick-core', configuration: 'testArtifacts') testCompile project(path: ':juick-server-web', configuration: 'testArtifacts') testCompile project(path: ':juick-server-jdbc', configuration: 'testArtifacts') diff --git a/juick-api/src/test/java/com/juick/api/tests/MessagesTests.java b/juick-api/src/test/java/com/juick/api/tests/MessagesTests.java index 8bb73143..6840d453 100644 --- a/juick-api/src/test/java/com/juick/api/tests/MessagesTests.java +++ b/juick-api/src/test/java/com/juick/api/tests/MessagesTests.java @@ -31,7 +31,7 @@ import com.juick.server.helpers.TagStats; import com.juick.service.MessagesService; import com.juick.service.TagService; import com.juick.service.UserService; -import com.juick.tests.util.MockUtils; +import com.juick.test.util.MockUtils; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/juick-core/build.gradle b/juick-core/build.gradle index c75bc320..ae44f28c 100644 --- a/juick-core/build.gradle +++ b/juick-core/build.gradle @@ -2,13 +2,14 @@ apply plugin: 'java' dependencies { compile "com.fasterxml.jackson.core:jackson-annotations:${rootProject.jacksonVersion}" - compile "org.slf4j:slf4j-api:${rootProject.slf4jVersion}" - compile 'org.apache.httpcomponents:httpclient:4.5.3' compile 'org.apache.commons:commons-lang3:3.6' compile 'org.apache.commons:commons-collections4:4.1' + compile "org.apache.commons:commons-text:1.1" compile 'commons-io:commons-io:2.5' compile 'org.ocpsoft.prettytime:prettytime:4.0.1.Final' + testCompile "com.fasterxml.jackson.core:jackson-core:${rootProject.jacksonVersion}" + testCompile "com.fasterxml.jackson.core:jackson-databind:${rootProject.jacksonVersion}" testCompile "junit:junit:${rootProject.junitVersion}" testCompile "org.hamcrest:hamcrest-all:${rootProject.hamcrestVersion}" } @@ -18,3 +19,14 @@ compileJava.options.encoding = 'UTF-8' configurations { all*.exclude module: 'commons-logging' } + +configurations { + testArtifacts.extendsFrom testRuntime +} +task testJar(type: Jar) { + classifier "test" + from sourceSets.test.output +} +artifacts { + testArtifacts testJar +} diff --git a/juick-core/src/test/java/com/juick/UserTest.java b/juick-core/src/test/java/com/juick/UserTest.java new file mode 100644 index 00000000..13331426 --- /dev/null +++ b/juick-core/src/test/java/com/juick/UserTest.java @@ -0,0 +1,36 @@ +/* + * 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 . + */ + +package com.juick; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.juick.test.util.MockUtils; +import org.junit.Assert; +import org.junit.Test; + +import java.io.IOException; + +public class UserTest { + @Test + public void userEqualityTest() throws IOException { + User ugnich = MockUtils.mockUser(1, "ugnich", "secret"); + String jsonUser = "{\"uid\" : 1, \"uname\": \"ugnich\"}"; + ObjectMapper jsonMapper = new ObjectMapper(); + User jsonUgnich = jsonMapper.readValue(jsonUser, User.class); + Assert.assertEquals(ugnich, jsonUgnich); + } +} diff --git a/juick-core/src/test/java/com/juick/test/util/MockUtils.java b/juick-core/src/test/java/com/juick/test/util/MockUtils.java new file mode 100644 index 00000000..72204cfe --- /dev/null +++ b/juick-core/src/test/java/com/juick/test/util/MockUtils.java @@ -0,0 +1,51 @@ +/* + * 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 . + */ + +package com.juick.test.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; + } +} diff --git a/juick-server-core/build.gradle b/juick-server-core/build.gradle index 5dda25db..d231ab40 100644 --- a/juick-server-core/build.gradle +++ b/juick-server-core/build.gradle @@ -6,6 +6,7 @@ sourceCompatibility = 1.8 dependencies { compile project(':juick-core') + compile "org.slf4j:slf4j-api:${rootProject.slf4jVersion}" compile "com.fasterxml.jackson.core:jackson-core:${rootProject.jacksonVersion}" compile "com.fasterxml.jackson.core:jackson-databind:${rootProject.jacksonVersion}" compile "com.fasterxml.jackson.core:jackson-annotations:${rootProject.jacksonVersion}" @@ -26,14 +27,3 @@ compileJava.options.encoding = 'UTF-8' configurations { all*.exclude module: 'commons-logging' } - -configurations { - testArtifacts.extendsFrom testRuntime -} -task testJar(type: Jar) { - classifier "test" - from sourceSets.test.output -} -artifacts { - testArtifacts testJar -} diff --git a/juick-server-web/src/main/java/com/juick/tests/util/MockUtils.java b/juick-server-web/src/main/java/com/juick/tests/util/MockUtils.java deleted file mode 100644 index 9ce20638..00000000 --- a/juick-server-web/src/main/java/com/juick/tests/util/MockUtils.java +++ /dev/null @@ -1,51 +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 . - */ - -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; - } -} diff --git a/juick-www/build.gradle b/juick-www/build.gradle index 1e274bc0..7d1398aa 100644 --- a/juick-www/build.gradle +++ b/juick-www/build.gradle @@ -25,6 +25,7 @@ dependencies { compile 'com.sun.mail:javax.mail:1.6.0' compile 'com.mitchellbosecke:pebble-spring4:2.4.0' + testCompile project(path: ':juick-core', configuration: 'testArtifacts') testCompile project(path: ':juick-server-web', configuration: 'testArtifacts') testCompile project(path: ':juick-server-jdbc', configuration: 'testArtifacts') // htmlunit 2.25 isn't compatible with spring-test 4.3.6 diff --git a/juick-www/src/test/java/com/juick/www/WebAppTests.java b/juick-www/src/test/java/com/juick/www/WebAppTests.java index 2bc48eb5..6aa55165 100644 --- a/juick-www/src/test/java/com/juick/www/WebAppTests.java +++ b/juick-www/src/test/java/com/juick/www/WebAppTests.java @@ -26,7 +26,7 @@ import com.juick.configuration.MockDataConfiguration; import com.juick.server.configuration.BaseWebConfiguration; import com.juick.service.MessagesService; import com.juick.service.UserService; -import com.juick.tests.util.MockUtils; +import com.juick.test.util.MockUtils; import com.juick.www.configuration.SapeConfiguration; import com.juick.www.configuration.WwwAppConfiguration; import com.juick.www.configuration.WwwServletConfiguration; -- cgit v1.2.3