From a608baeed738894433aacfa041e2617f60ce959f Mon Sep 17 00:00:00 2001
From: Vitaly Takmazov
Date: Sat, 4 Apr 2020 01:15:01 +0300
Subject: Initialize all components from configuration
---
.../juick/config/DataSourceAutoConfiguration.java | 49 ++++++++++++++++++++++
.../com/juick/config/SwaggerConfiguration.java | 45 ++++++++++++++++++++
.../juick/config/TestActivityConfiguration.java | 36 ++++++++++++++++
.../configuration/DataSourceAutoConfiguration.java | 49 ----------------------
.../server/configuration/SwaggerConfiguration.java | 45 --------------------
.../configuration/TestActivityConfiguration.java | 36 ----------------
.../java/com/juick/server/tests/ServerTests.java | 10 ++---
7 files changed, 134 insertions(+), 136 deletions(-)
create mode 100644 src/test/java/com/juick/config/DataSourceAutoConfiguration.java
create mode 100644 src/test/java/com/juick/config/SwaggerConfiguration.java
create mode 100644 src/test/java/com/juick/config/TestActivityConfiguration.java
delete mode 100644 src/test/java/com/juick/server/configuration/DataSourceAutoConfiguration.java
delete mode 100644 src/test/java/com/juick/server/configuration/SwaggerConfiguration.java
delete mode 100644 src/test/java/com/juick/server/configuration/TestActivityConfiguration.java
(limited to 'src/test/java/com')
diff --git a/src/test/java/com/juick/config/DataSourceAutoConfiguration.java b/src/test/java/com/juick/config/DataSourceAutoConfiguration.java
new file mode 100644
index 00000000..b30de7fc
--- /dev/null
+++ b/src/test/java/com/juick/config/DataSourceAutoConfiguration.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2008-2019, 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.config;
+
+import ch.vorburger.mariadb4j.springframework.MariaDB4jSpringService;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.boot.jdbc.DataSourceBuilder;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.DependsOn;
+
+import javax.sql.DataSource;
+
+@Configuration
+@ConfigurationProperties("spring.datasource")
+@ConditionalOnProperty(value = "spring.datasource.platform", havingValue = "mysql")
+public class DataSourceAutoConfiguration {
+
+ @Bean
+ public MariaDB4jSpringService mariaDB4j() {
+ return new MariaDB4jSpringService();
+ }
+ @Bean
+ @DependsOn("mariaDB4j")
+ public DataSource dataSource(DataSourceProperties dataSourceProperties) {
+ return DataSourceBuilder.create()
+ .driverClassName(dataSourceProperties.getDriverClassName())
+ .url(dataSourceProperties.getUrl())
+ .username(dataSourceProperties.getUsername())
+ .password(dataSourceProperties.getPassword())
+ .build();
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/com/juick/config/SwaggerConfiguration.java b/src/test/java/com/juick/config/SwaggerConfiguration.java
new file mode 100644
index 00000000..f92ef6c0
--- /dev/null
+++ b/src/test/java/com/juick/config/SwaggerConfiguration.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2008-2019, 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.config;
+
+import com.google.common.base.Predicates;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+import java.util.Collections;
+
+@Configuration
+@EnableSwagger2
+public class SwaggerConfiguration {
+ @Bean
+ public Docket api() {
+ return new Docket(DocumentationType.SWAGGER_2)
+ .host("api.juick.com")
+ .select()
+ .apis(Predicates.not(Predicates.or(RequestHandlerSelectors.basePackage("org.springframework.boot"), RequestHandlerSelectors.basePackage("com.juick.server.www"))))
+ .paths(PathSelectors.any()).build().apiInfo(new ApiInfo("Juick API", "Juick REST API Documentation",
+ "2.0", "https://juick.com/help/tos", null,
+ "AGPLv3", "https://www.gnu.org/licenses/agpl-3.0.html", Collections.emptyList()));
+ }
+}
diff --git a/src/test/java/com/juick/config/TestActivityConfiguration.java b/src/test/java/com/juick/config/TestActivityConfiguration.java
new file mode 100644
index 00000000..94b96bdf
--- /dev/null
+++ b/src/test/java/com/juick/config/TestActivityConfiguration.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2008-2019, 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.config;
+
+import com.juick.KeystoreManager;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.io.Resource;
+
+import java.io.IOException;
+
+@Configuration
+public class TestActivityConfiguration {
+ @Value("classpath:test.p12")
+ Resource keystoreFile;
+ @Bean
+ public KeystoreManager testKeystoreManager() throws IOException {
+ return new KeystoreManager(keystoreFile, "secret");
+ }
+}
diff --git a/src/test/java/com/juick/server/configuration/DataSourceAutoConfiguration.java b/src/test/java/com/juick/server/configuration/DataSourceAutoConfiguration.java
deleted file mode 100644
index bd0a3124..00000000
--- a/src/test/java/com/juick/server/configuration/DataSourceAutoConfiguration.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2008-2019, 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.server.configuration;
-
-import ch.vorburger.mariadb4j.springframework.MariaDB4jSpringService;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.boot.jdbc.DataSourceBuilder;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.DependsOn;
-
-import javax.sql.DataSource;
-
-@Configuration
-@ConfigurationProperties("spring.datasource")
-@ConditionalOnProperty(value = "spring.datasource.platform", havingValue = "mysql")
-public class DataSourceAutoConfiguration {
-
- @Bean
- public MariaDB4jSpringService mariaDB4j() {
- return new MariaDB4jSpringService();
- }
- @Bean
- @DependsOn("mariaDB4j")
- public DataSource dataSource(DataSourceProperties dataSourceProperties) {
- return DataSourceBuilder.create()
- .driverClassName(dataSourceProperties.getDriverClassName())
- .url(dataSourceProperties.getUrl())
- .username(dataSourceProperties.getUsername())
- .password(dataSourceProperties.getPassword())
- .build();
- }
-}
\ No newline at end of file
diff --git a/src/test/java/com/juick/server/configuration/SwaggerConfiguration.java b/src/test/java/com/juick/server/configuration/SwaggerConfiguration.java
deleted file mode 100644
index ef63c69e..00000000
--- a/src/test/java/com/juick/server/configuration/SwaggerConfiguration.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2008-2019, 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.server.configuration;
-
-import com.google.common.base.Predicates;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import springfox.documentation.builders.PathSelectors;
-import springfox.documentation.builders.RequestHandlerSelectors;
-import springfox.documentation.service.ApiInfo;
-import springfox.documentation.spi.DocumentationType;
-import springfox.documentation.spring.web.plugins.Docket;
-import springfox.documentation.swagger2.annotations.EnableSwagger2;
-
-import java.util.Collections;
-
-@Configuration
-@EnableSwagger2
-public class SwaggerConfiguration {
- @Bean
- public Docket api() {
- return new Docket(DocumentationType.SWAGGER_2)
- .host("api.juick.com")
- .select()
- .apis(Predicates.not(Predicates.or(RequestHandlerSelectors.basePackage("org.springframework.boot"), RequestHandlerSelectors.basePackage("com.juick.server.www"))))
- .paths(PathSelectors.any()).build().apiInfo(new ApiInfo("Juick API", "Juick REST API Documentation",
- "2.0", "https://juick.com/help/tos", null,
- "AGPLv3", "https://www.gnu.org/licenses/agpl-3.0.html", Collections.emptyList()));
- }
-}
diff --git a/src/test/java/com/juick/server/configuration/TestActivityConfiguration.java b/src/test/java/com/juick/server/configuration/TestActivityConfiguration.java
deleted file mode 100644
index 7c1aa8bf..00000000
--- a/src/test/java/com/juick/server/configuration/TestActivityConfiguration.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2008-2019, 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.server.configuration;
-
-import com.juick.server.KeystoreManager;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.io.Resource;
-
-import java.io.IOException;
-
-@Configuration
-public class TestActivityConfiguration {
- @Value("classpath:test.p12")
- Resource keystoreFile;
- @Bean
- public KeystoreManager testKeystoreManager() throws IOException {
- return new KeystoreManager(keystoreFile, "secret");
- }
-}
diff --git a/src/test/java/com/juick/server/tests/ServerTests.java b/src/test/java/com/juick/server/tests/ServerTests.java
index 80c8fe4e..51e17ecc 100644
--- a/src/test/java/com/juick/server/tests/ServerTests.java
+++ b/src/test/java/com/juick/server/tests/ServerTests.java
@@ -29,7 +29,9 @@ import com.gargoylesoftware.htmlunit.html.DomElement;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.github.scribejava.apis.AppleClientSecretGenerator;
import com.jayway.jsonpath.JsonPath;
-import com.juick.formatters.PlainTextFormatter;
+import com.juick.*;
+import com.juick.util.*;
+import com.juick.util.formatters.PlainTextFormatter;
import com.juick.model.*;
import com.juick.server.*;
import com.juick.www.api.SystemActivity;
@@ -41,15 +43,11 @@ import com.juick.www.api.activity.model.objects.Note;
import com.juick.www.api.activity.model.objects.Person;
import com.juick.www.api.webfinger.model.Account;
import com.juick.www.api.xnodeinfo2.model.NodeInfo;
-import com.juick.server.util.HttpUtils;
-import com.juick.server.util.ImageUtils;
import com.juick.www.WebApp;
import com.juick.service.*;
import com.juick.service.activities.UpdateEvent;
import com.juick.service.component.SystemEvent;
import com.juick.test.util.MockUtils;
-import com.juick.util.DateFormattersHolder;
-import com.juick.util.MessageUtils;
import com.mitchellbosecke.pebble.PebbleEngine;
import com.mitchellbosecke.pebble.error.PebbleException;
import com.mitchellbosecke.pebble.template.PebbleTemplate;
@@ -1782,7 +1780,7 @@ public class ServerTests {
@Test
public void escapeSqlTests() {
- String sql = String.format("SELECT * FROM table WHERE data='%s'", Utils.encodeSphinx("';-- DROP TABLE table"));
+ String sql = String.format("SELECT * FROM table WHERE data='%s'", WebUtils.encodeSphinx("';-- DROP TABLE table"));
assertThat(sql, is("SELECT * FROM table WHERE data='\\';-- DROP TABLE table\'"));
}
--
cgit v1.2.3