diff --git a/readme.md b/readme.md index 2788a2f..56fcacf 100644 --- a/readme.md +++ b/readme.md @@ -66,3 +66,26 @@ mvn versions:set -DnewVersion=dev-snapshot # 正式版本,版本号加一 mvn versions:set -DnewVersion=2.0.0 ``` + +## 代码扫描 + +配置maven脚本 \bin\mvn.cmd,添加一行命令 `set JAVA_HOME="C:\Ext\zulu17"` + +```shell +## 添加jdk17目录 +set JAVA_HOME="C:\Ext\zulu17" + +set ERROR_CODE=0 + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%"=="" goto OkJHome +for %%i in (java.exe) do set "JAVACMD=%%~$PATH:i" +goto checkJCmd +``` + +执行 scanner.cmd脚本 + +```shell +## C:\Ext\mvn17\bin\mvn.cmd 修改maven脚本路径 +call C:\Ext\mvn17\bin\mvn.cmd clean package verify sonar:sonar -Dsonar.projectKey=scfs-api-sdk -Dsonar.projectName=scfs-api-sdk -Dsonar.host.url=http://10.129.135.192:7100 -Dsonar.login=sqp_90e5fb014f985e2c458e46b9239926cfbbd4fffe +``` \ No newline at end of file diff --git a/scanner.cmd b/scanner.cmd new file mode 100644 index 0000000..7b5c7b6 --- /dev/null +++ b/scanner.cmd @@ -0,0 +1 @@ +call C:\Ext\mvn17\bin\mvn.cmd clean package verify sonar:sonar -Dsonar.projectKey=scfs-api-sdk -Dsonar.projectName=scfs-api-sdk -Dsonar.host.url=http://10.129.135.192:7100 -Dsonar.login=sqp_90e5fb014f985e2c458e46b9239926cfbbd4fffe \ No newline at end of file diff --git a/scanner.sh b/scanner.sh deleted file mode 100644 index ac154dd..0000000 --- a/scanner.sh +++ /dev/null @@ -1 +0,0 @@ -mvn clean test verify sonar:sonar -Dsonar.projectKey=scfs-api-sdk -Dsonar.projectName=scfs-api-sdk -Dsonar.host.url=http://10.129.135.192:7100 -Dsonar.login=sqp_90e5fb014f985e2c458e46b9239926cfbbd4fffe \ No newline at end of file diff --git a/scfs-api-core/pom.xml b/scfs-api-core/pom.xml index 70c8f30..b20c346 100644 --- a/scfs-api-core/pom.xml +++ b/scfs-api-core/pom.xml @@ -32,18 +32,5 @@ httpclient5 5.2.3 - - - ch.qos.logback - logback-classic - 1.2.12 - test - - - ch.qos.logback - logback-core - 1.2.12 - test - diff --git a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/AbstractApiClient.java b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/AbstractApiClient.java index aa8b32f..70bcfd7 100644 --- a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/AbstractApiClient.java +++ b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/AbstractApiClient.java @@ -33,7 +33,7 @@ public abstract class AbstractApiClient implements ApiClient { this.privacy = profile.getPrivacy(); this.signature = profile.getSignature(); this.validator = new DefaultValidator(profile); - this.httpLogger = new HttpLogger(profile.getHttpProfile() == null ? LogLevel.basic : profile.getHttpProfile().logLevel()); + this.httpLogger = new HttpLogger(profile.getHttpProfile() == null ? LogLevel.BASIC : profile.getHttpProfile().logLevel()); } @Override diff --git a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/DefaultHttpProfile.java b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/DefaultHttpProfile.java index 41f4bf8..2de13e9 100644 --- a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/DefaultHttpProfile.java +++ b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/DefaultHttpProfile.java @@ -82,7 +82,7 @@ public class DefaultHttpProfile implements HttpProfile { // 请求代理 private Proxy proxy; // 是否启用日志打印 - private LogLevel logLevel = LogLevel.basic; + private LogLevel logLevel = LogLevel.BASIC; // 是否启用压缩 private boolean compressionEnabled = false; diff --git a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/HttpLogger.java b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/HttpLogger.java index 301b245..dbf32cc 100644 --- a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/HttpLogger.java +++ b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/HttpLogger.java @@ -17,7 +17,7 @@ import static com.czcb.scfs.api.core.http.LogLevel.isFull; public class HttpLogger { private final Logger logger = LoggerFactory.getLogger(getClass()); private final LogLevel logLevel; - private final boolean logPrefix = false; + private static final boolean LOG_PREFIX = false; public HttpLogger(LogLevel logLevel) { this.logLevel = logLevel; @@ -90,7 +90,7 @@ public class HttpLogger { } private String logPrefix(HttpRequest request) { - if (logPrefix) { + if (LOG_PREFIX) { return String.format("[%s] ", request.getId()); } diff --git a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/HttpStatus.java b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/HttpStatus.java index 4f13427..e95f47e 100644 --- a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/HttpStatus.java +++ b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/HttpStatus.java @@ -617,18 +617,6 @@ public enum HttpStatus { return this.value; } - /** - * Return the {@code Series} enum constant for the supplied {@code HttpStatus}. - * - * @param status a standard HTTP status enum constant - * @return the {@code Series} enum constant for the supplied {@code HttpStatus} - * @deprecated as of 5.3, in favor of invoking {@link HttpStatus#series()} directly - */ - @Deprecated - public static Series valueOf(HttpStatus status) { - return status.series; - } - /** * Return the {@code Series} enum constant for the supplied status code. * diff --git a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/LogLevel.java b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/LogLevel.java index da1e494..fb2b778 100644 --- a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/LogLevel.java +++ b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/http/LogLevel.java @@ -3,9 +3,9 @@ package com.czcb.scfs.api.core.http; import java.util.Objects; public enum LogLevel { - basic, full; + BASIC, FULL; public static boolean isFull(LogLevel logLevel) { - return Objects.equals(full, logLevel); + return Objects.equals(FULL, logLevel); } } diff --git a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/util/Compression.java b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/util/Compression.java index 9dfd610..0ab5336 100644 --- a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/util/Compression.java +++ b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/util/Compression.java @@ -11,6 +11,9 @@ import java.util.zip.ZipOutputStream; * 压缩文件 */ public final class Compression { + private static final String ZIP_ERROR_TEXT = "待压缩数据不能为空"; + private static final String ZIP_EXCEPTION_TEXT_FMT = "压缩文件异常: %s"; + private Compression() { } @@ -19,7 +22,7 @@ public final class Compression { */ public static byte[] zip(byte[] data, String filename) { if (data == null || data.length == 0) { - throw new IllegalArgumentException("待压缩数据不能为空"); + throw new IllegalArgumentException(ZIP_ERROR_TEXT); } try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); @@ -31,7 +34,7 @@ public final class Compression { zipOutputStream.closeEntry(); return byteArrayOutputStream.toByteArray(); } catch (Exception ex) { - throw new ZipException(String.format("压缩文件异常: %s", filename)); + throw new ZipException(String.format(ZIP_EXCEPTION_TEXT_FMT, filename)); } } @@ -40,7 +43,7 @@ public final class Compression { */ public static byte[] unzip(byte[] data) { if (data == null || data.length == 0) { - throw new IllegalArgumentException("待压缩数据不能为空"); + throw new IllegalArgumentException(ZIP_ERROR_TEXT); } try (ZipInputStream zipInputStream = new ZipInputStream(new ByteArrayInputStream(data)); @@ -66,7 +69,7 @@ public final class Compression { */ public static String zipAndEncode(byte[] data, String fileName) { if (data == null || data.length == 0) { - throw new IllegalArgumentException("待压缩数据不能为空"); + throw new IllegalArgumentException(ZIP_ERROR_TEXT); } return Base64.encodeStr(zip(data, fileName)); @@ -100,7 +103,7 @@ public final class Compression { return zipAndEncode(data, filename); } catch (IOException e) { - throw new ZipException(String.format("压缩文件异常: %s", filename)); + throw new ZipException(String.format(ZIP_EXCEPTION_TEXT_FMT, filename)); } } @@ -113,7 +116,7 @@ public final class Compression { try (FileInputStream inputStream = new FileInputStream(tmpFile)) { return zipAndEncodeFromStream(inputStream, tmpFile.getName()); } catch (IOException e) { - throw new ZipException(String.format("压缩文件异常: %s", filepath), e); + throw new ZipException(String.format(ZIP_EXCEPTION_TEXT_FMT, filepath), e); } } diff --git a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/cipher/AbstractSignerTest.java b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/cipher/AbstractSignerTest.java index 2b9773f..2811df9 100644 --- a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/cipher/AbstractSignerTest.java +++ b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/cipher/AbstractSignerTest.java @@ -5,8 +5,6 @@ import com.czcb.scfs.api.core.http.client.TestVerifier; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; -import java.security.PrivateKey; -import java.security.Provider; import java.security.cert.X509Certificate; import java.util.ArrayList; import java.util.List; @@ -35,18 +33,4 @@ class AbstractSignerTest { Assertions.assertThrows(UnsupportedOperationException.class, () -> signer.sign(message)); } - private static class TestSigner extends AbstractSigner { - - /** - * @param privateKey API私钥 - */ - public TestSigner(PrivateKey privateKey, Provider provider) { - super("SHA256withRSA", "SHA256withRSA", privateKey, provider, ""); - } - - public TestSigner(PrivateKey privateKey) { - // 错误的签名算法 - super("SHA256withRSA1", "SHA256withRSA1", privateKey, null, ""); - } - } } \ No newline at end of file diff --git a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/cipher/DefaultValidatorTest.java b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/cipher/DefaultValidatorTest.java index d6ecbb6..31afea7 100644 --- a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/cipher/DefaultValidatorTest.java +++ b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/cipher/DefaultValidatorTest.java @@ -46,7 +46,7 @@ class DefaultValidatorTest { .build(), new DefaultHttpProfile.Builder() .online(false) - .logLevel(LogLevel.basic) + .logLevel(LogLevel.BASIC) .compressionEnabled(false) .host("http://127.0.0.1:8888") .build() @@ -73,7 +73,7 @@ class DefaultValidatorTest { .build(), new DefaultHttpProfile.Builder() .online(false) - .logLevel(LogLevel.basic) + .logLevel(LogLevel.BASIC) .compressionEnabled(false) .host("http://127.0.0.1:8888") .build() @@ -96,9 +96,7 @@ class DefaultValidatorTest { .statusCode(200) .build(); - Assertions.assertDoesNotThrow(() -> { - defaultValidator.isInvalidHttpCode(response); - }); + Assertions.assertDoesNotThrow(() -> defaultValidator.isInvalidHttpCode(response)); } @Test diff --git a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/cipher/TestSigner.java b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/cipher/TestSigner.java new file mode 100644 index 0000000..c00046a --- /dev/null +++ b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/cipher/TestSigner.java @@ -0,0 +1,19 @@ +package com.czcb.scfs.api.core.cipher; + +import java.security.PrivateKey; +import java.security.Provider; + +public class TestSigner extends AbstractSigner { + + /** + * @param privateKey API私钥 + */ + public TestSigner(PrivateKey privateKey, Provider provider) { + super("SHA256withRSA", "SHA256withRSA", privateKey, provider, ""); + } + + public TestSigner(PrivateKey privateKey) { + // 错误的签名算法 + super("SHA256withRSA1", "SHA256withRSA1", privateKey, null, ""); + } +} diff --git a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/exception/DecryptExceptionTest.java b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/exception/DecryptExceptionTest.java index 4875864..ac1e617 100644 --- a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/exception/DecryptExceptionTest.java +++ b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/exception/DecryptExceptionTest.java @@ -6,8 +6,9 @@ import org.junit.jupiter.api.Test; class DecryptExceptionTest { @Test void test() { + ValidationException validationException = new ValidationException(); Exception e = Assertions.assertThrows(DecryptException.class, () -> { - throw new DecryptException("error", new ValidationException()); + throw new DecryptException("error", validationException); }); Assertions.assertEquals("error", e.getMessage()); diff --git a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/exception/ZipExceptionTest.java b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/exception/ZipExceptionTest.java index 3ce24c1..c8e15e2 100644 --- a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/exception/ZipExceptionTest.java +++ b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/exception/ZipExceptionTest.java @@ -15,13 +15,14 @@ class ZipExceptionTest { throw new ZipException("error"); }).getMessage()); + ValidationException validationException = new ValidationException(); Exception e = Assertions.assertThrows(ZipException.class, () -> { - throw new ZipException("error", new ValidationException()); + throw new ZipException("error", validationException); }); Assertions.assertInstanceOf(ValidationException.class, e.getCause()); e = Assertions.assertThrows(ZipException.class, () -> { - throw new ZipException(new ValidationException()); + throw new ZipException(validationException); }); Assertions.assertInstanceOf(ValidationException.class, e.getCause()); } diff --git a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/ApiClientBuilderTest.java b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/ApiClientBuilderTest.java index b5d4b66..aec43c7 100644 --- a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/ApiClientBuilderTest.java +++ b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/ApiClientBuilderTest.java @@ -40,7 +40,7 @@ class ApiClientBuilderTest { .build(), new DefaultHttpProfile.Builder() .online(false) - .logLevel(LogLevel.basic) + .logLevel(LogLevel.BASIC) .compressionEnabled(false) .host("http://127.0.0.1:8888") .build() @@ -142,7 +142,7 @@ class ApiClientBuilderTest { .port("1000") .build()) .online(false) - .logLevel(LogLevel.basic) + .logLevel(LogLevel.BASIC) .compressionEnabled(false) .host("http://127.0.0.1:8888") .build() diff --git a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/DefaultHttpProfileTest.java b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/DefaultHttpProfileTest.java index e51a473..948fb5c 100644 --- a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/DefaultHttpProfileTest.java +++ b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/DefaultHttpProfileTest.java @@ -16,7 +16,7 @@ class DefaultHttpProfileTest { .headers(data) .compressionEnabled(true) .online(true) - .logLevel(LogLevel.basic) + .logLevel(LogLevel.BASIC) .host("http://10.133.129.74:8761/") .build(); @@ -26,7 +26,7 @@ class DefaultHttpProfileTest { Assertions.assertTrue(httpProfile.compressionEnabled()); Assertions.assertTrue(httpProfile.online()); - Assertions.assertEquals(LogLevel.basic, httpProfile.logLevel()); + Assertions.assertEquals(LogLevel.BASIC, httpProfile.logLevel()); } @Test diff --git a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/HttpLoggerTest.java b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/HttpLoggerTest.java index 39d0d9f..b76bd96 100644 --- a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/HttpLoggerTest.java +++ b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/HttpLoggerTest.java @@ -15,7 +15,7 @@ class HttpLoggerTest { .body("123") .statusCode(200) .build(); - HttpLogger httpLogger = new HttpLogger(LogLevel.basic); + HttpLogger httpLogger = new HttpLogger(LogLevel.BASIC); Assertions.assertEquals("OK", httpLogger.httpReasonPhrase(response)); } } \ No newline at end of file diff --git a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/HttpStatusTest.java b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/HttpStatusTest.java index 1d26408..b2dc742 100644 --- a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/HttpStatusTest.java +++ b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/HttpStatusTest.java @@ -16,12 +16,6 @@ class HttpStatusTest { Assertions.assertEquals(101, status.value()); } - @Test - void series() { - HttpStatus.Series series = HttpStatus.Series.valueOf(HttpStatus.ACCEPTED); - Assertions.assertEquals(HttpStatus.Series.SUCCESSFUL, series); - } - @Test void getReasonPhrase() { HttpStatus status = HttpStatus.valueOf(101); @@ -72,9 +66,7 @@ class HttpStatusTest { HttpStatus.Series series = HttpStatus.Series.valueOf(300); Assertions.assertNotNull(series); - Assertions.assertThrows(IllegalArgumentException.class, () -> { - HttpStatus.Series.valueOf(0); - }); + Assertions.assertThrows(IllegalArgumentException.class, () -> HttpStatus.Series.valueOf(0)); } @Test @@ -97,8 +89,6 @@ class HttpStatusTest { Assertions.assertNotNull(status); Assertions.assertEquals("OK", status.getReasonPhrase()); - Assertions.assertThrows(IllegalArgumentException.class, () -> { - HttpStatus.valueOf(0); - }); + Assertions.assertThrows(IllegalArgumentException.class, () -> HttpStatus.valueOf(0)); } } \ No newline at end of file diff --git a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientProxyTest.java b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientProxyTest.java index 493c87d..6745b31 100644 --- a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientProxyTest.java +++ b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientProxyTest.java @@ -53,7 +53,7 @@ class ApacheHttpclientProxyTest { .appNo("100000") .build(), new DefaultHttpProfile.Builder() .online(false) - .logLevel(LogLevel.basic) + .logLevel(LogLevel.BASIC) .compressionEnabled(false) .host("http://127.0.0.1:8888") .build() diff --git a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientTest.java b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientTest.java index 1164869..58a7b3a 100644 --- a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientTest.java +++ b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientTest.java @@ -58,7 +58,7 @@ class ApacheHttpclientTest { .appNo("100000") .build(), new DefaultHttpProfile.Builder() .online(false) - .logLevel(LogLevel.basic) + .logLevel(LogLevel.BASIC) .compressionEnabled(compressionEnabled) .host("http://127.0.0.1:8888") .build() diff --git a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientTestProxyTest.java b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientTestProxyTest.java index 614832d..a3b15bd 100644 --- a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientTestProxyTest.java +++ b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientTestProxyTest.java @@ -53,7 +53,7 @@ class ApacheHttpclientTestProxyTest { .appNo("100000") .build(), new DefaultHttpProfile.Builder() .online(false) - .logLevel(LogLevel.basic) + .logLevel(LogLevel.BASIC) .compressionEnabled(false) .host("http://127.0.0.1:8888") .build() diff --git a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientV2Test.java b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientV2Test.java index 4cfe9c4..d0c5a56 100644 --- a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientV2Test.java +++ b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientV2Test.java @@ -54,7 +54,7 @@ class ApacheHttpclientV2Test { .appNo("100000") .build(), new DefaultHttpProfile.Builder() .online(false) - .logLevel(LogLevel.basic) + .logLevel(LogLevel.BASIC) .compressionEnabled(false) .host("http://127.0.0.1:8888") .build() diff --git a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientV3Test.java b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientV3Test.java index 2e5251e..f1df51a 100644 --- a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientV3Test.java +++ b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientV3Test.java @@ -54,7 +54,7 @@ class ApacheHttpclientV3Test { .appNo("100000") .build(), new DefaultHttpProfile.Builder() .online(false) - .logLevel(LogLevel.basic) + .logLevel(LogLevel.BASIC) .compressionEnabled(false) .host("http://127.0.0.1:8888") .build() diff --git a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientValidTest.java b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientValidTest.java index 70f854f..379c32f 100644 --- a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientValidTest.java +++ b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientValidTest.java @@ -53,7 +53,7 @@ class ApacheHttpclientValidTest { .appNo("100000") .build(), new DefaultHttpProfile.Builder() .online(false) - .logLevel(LogLevel.basic) + .logLevel(LogLevel.BASIC) .compressionEnabled(false) .host("http://127.0.0.1:8888") .build() diff --git a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/util/CompressionTest.java b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/util/CompressionTest.java index 9bb7f47..8d0b343 100644 --- a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/util/CompressionTest.java +++ b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/util/CompressionTest.java @@ -14,25 +14,16 @@ import java.nio.file.Files; class CompressionTest { @Test void zip() { - Assertions.assertThrows(IllegalArgumentException.class, () -> { - Compression.zip(null, null); - }); + Assertions.assertThrows(IllegalArgumentException.class, () -> Compression.zip(null, null)); - Assertions.assertThrows(IllegalArgumentException.class, () -> { - Compression.zip(new byte[0], null); - }); + Assertions.assertThrows(IllegalArgumentException.class, () -> Compression.zip(new byte[0], null)); - Assertions.assertThrows(ZipException.class, () -> { - Compression.zip("test".getBytes(StandardCharsets.UTF_8), null); - }); + byte[] bytes = "test".getBytes(StandardCharsets.UTF_8); + Assertions.assertThrows(ZipException.class, () -> Compression.zip(bytes, null)); - Assertions.assertThrows(IllegalArgumentException.class, () -> { - Compression.unzip(null); - }); + Assertions.assertThrows(IllegalArgumentException.class, () -> Compression.unzip(null)); - Assertions.assertThrows(IllegalArgumentException.class, () -> { - Compression.unzip(new byte[0]); - }); + Assertions.assertThrows(IllegalArgumentException.class, () -> Compression.unzip(new byte[0])); String text = "l1231344"; String filename = "a.txt"; @@ -45,13 +36,9 @@ class CompressionTest { @Test void decode() { - Assertions.assertThrows(IllegalArgumentException.class, () -> { - Compression.zipAndEncode(null, null); - }); + Assertions.assertThrows(IllegalArgumentException.class, () -> Compression.zipAndEncode(null, null)); - Assertions.assertThrows(IllegalArgumentException.class, () -> { - Compression.zipAndEncode(new byte[]{}, null); - }); + Assertions.assertThrows(IllegalArgumentException.class, () -> Compression.zipAndEncode(new byte[]{}, null)); String text = "l1231344"; String filename = "a.txt"; @@ -64,13 +51,9 @@ class CompressionTest { @Test void decodeStream() { - Assertions.assertThrows(IllegalArgumentException.class, () -> { - Compression.decodeAndUnzip(null); - }); + Assertions.assertThrows(IllegalArgumentException.class, () -> Compression.decodeAndUnzip(null)); - Assertions.assertThrows(IllegalArgumentException.class, () -> { - Compression.decodeAndUnzip(""); - }); + Assertions.assertThrows(IllegalArgumentException.class, () -> Compression.decodeAndUnzip("")); String text = "l1231344"; String filename = "a.txt"; @@ -83,17 +66,11 @@ class CompressionTest { @Test void decodeFile() throws IOException { - Assertions.assertThrows(IllegalArgumentException.class, () -> { - Compression.zipAndEncodeFromFile(""); - }); + Assertions.assertThrows(IllegalArgumentException.class, () -> Compression.zipAndEncodeFromFile("")); - Assertions.assertThrows(IllegalArgumentException.class, () -> { - Compression.zipAndEncodeFromFile((String) null); - }); + Assertions.assertThrows(IllegalArgumentException.class, () -> Compression.zipAndEncodeFromFile((String) null)); - Assertions.assertThrows(IllegalArgumentException.class, () -> { - Compression.zipAndEncodeFromFile((File) null); - }); + Assertions.assertThrows(IllegalArgumentException.class, () -> Compression.zipAndEncodeFromFile((File) null)); String text = "l1231344"; File file = Files.createTempFile("decodeFile-", "").toFile(); @@ -106,7 +83,7 @@ class CompressionTest { String unzipText = new String(Compression.decodeAndUnzip(data), StandardCharsets.UTF_8); Assertions.assertEquals(text, unzipText); } finally { - file.delete(); + Assertions.assertTrue(file.delete()); } } } \ No newline at end of file diff --git a/scfs-api-service-cat/pom.xml b/scfs-api-service-cat/pom.xml index 418495d..77447f9 100644 --- a/scfs-api-service-cat/pom.xml +++ b/scfs-api-service-cat/pom.xml @@ -18,6 +18,7 @@ org.springframework.boot spring-boot-autoconfigure + 2.7.16 diff --git a/scfs-api-service-cat/src/main/java/com/czcb/scfs/service/cat/configuration/ScfsApiServiceCatAutoConfiguration.java b/scfs-api-service-cat/src/main/java/com/czcb/scfs/service/cat/configuration/ScfsApiServiceCatAutoConfiguration.java index f924da3..5dc27ed 100644 --- a/scfs-api-service-cat/src/main/java/com/czcb/scfs/service/cat/configuration/ScfsApiServiceCatAutoConfiguration.java +++ b/scfs-api-service-cat/src/main/java/com/czcb/scfs/service/cat/configuration/ScfsApiServiceCatAutoConfiguration.java @@ -8,24 +8,19 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; -import javax.annotation.Resource; - @Configuration @ComponentScan("com.czcb.scfs.service.cat") public class ScfsApiServiceCatAutoConfiguration { - @Resource - private ApiClient apiClient; - @Bean @ConditionalOnMissingBean - public ProjectService projectService() { + public ProjectService projectService(ApiClient apiClient) { return new ProjectService(apiClient); } @Bean @ConditionalOnMissingBean - public OrderService orderService() { + public OrderService orderService(ApiClient apiClient) { return new OrderService(apiClient); } } diff --git a/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/KeyText.java b/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/KeyText.java new file mode 100644 index 0000000..c36724c --- /dev/null +++ b/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/KeyText.java @@ -0,0 +1,68 @@ +package com.czcb.scfs.service.cat.configuration; + +import com.czcb.scfs.api.core.util.PemFile; + +import java.security.PrivateKey; +import java.security.cert.X509Certificate; + +/** + * @author wangwei + * @date 2024/2/20 + */ +public final class KeyText { + + + // 失效的 + public static final String PRIVATE_RSA_INVALID = "-----BEGIN PRIVATE KEY-----\n" + + "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCfHOgnUYbFi780EX9xQTdWPvCy\n" + + "BhaEnU5Y2p1bW4dHoumgEtjQOkLlRe3Ug1lu6TfhuE9YOQ9+V+Dsnzt7MXIRI7KlOuwpfwXn3e/M\n" + + "YP5ZtDBUiuSGNNVSP39wgb6aYXhvFY/Lm9gaO8Q4rauzK94Clw4sH3a7J6ST50xHss8VjSVFUkcP\n" + + "hpH+OJBTUrXWiccZCn01XDz0vmq6J3AujM55WBEmoz2r9iiVdCjZsgB4veQIpCKuMvJsEXVgRzUL\n" + + "UnaqdX+7BTDBs30kCGyyBarR+wXLAKNQ1nENFs1IGM99I+O8UsD6CvUnt2t7l3B8/qIlOSfds8x+\n" + + "BoUxQwhmUaMjAgMBAAECggEAQ+meKz4QdJvnse0wBKKN4Hl/2bRggxzzVliFJnvEG27tIb45nXLo\n" + + "n5x/3R9tGjpf+C9namP8eXQ/1C9Iv5XEto0SkJS8PR/y4NspIYZaueX/ZO5diOzfCjqBBf/S32jv\n" + + "8xX0aLbtf5D3+SsjaJe2LEvWKD4Luuk6RUjJlaa73dnSuGFSuvYV8MvFdHtfU8L8ZRoqZwmM9QTg\n" + + "+Gpix4z6Hy/Mmi1xRl0EhIITq+mV9wR9Ock/0o12nvsNDyDSyrrt3niXTTkVCbct+t4UFwtnrZyH\n" + + "dwl1OQ+WleTkUQY+wNgpq4jLjwGowXnqXlKff3tvXEt+3tpdOS8i+kXYwIrvIQKBgQDVnldDo2iq\n" + + "TwLcZjXbreHskn/4hvWYUPqucEZ93jmyYNKUKPlXkVnc+kXnS0uuM5JZpi/7+FDkTqwHK83ET4/n\n" + + "kTC9zM+K7KyIBbljclPjzXYJAW7nwD8A/vKx6CWi++f4buYc+lttsTprdAZ4/kWPTnvNJSjhSTAR\n" + + "SQ32HxkiIQKBgQC+rjujW31WN4d2j48+K0B+7bIQON+VtmBZ48u2ZIQOi4PdoBvHv8HqQyhJlR+6\n" + + "z49k5WczSqAXdG2+nIgs8fpjj0lc7YiMIYs0VsLodOToH9J2MfXjWi+A4Y2vbfcjfUuCWhKSZs6B\n" + + "eMLNe1LPIBDmlT3A1X83qkCpvAYYQWAkwwKBgFVtslZRZk0dtfYwRf+phT1XxSe9yT/1uprCOd6i\n" + + "XY6RnAU2cajsbvSpfgUmnoh3BWMmy+/HeYokUDW59ds5OkKQVN7CpolXZxQqvd4gXZ4vj7HASfsS\n" + + "bd/XFXXCcjLA7R70MsCJ+sBebQ+F4gTHI0hRSb9bygJ2g2uWPKgd/a4hAoGABCtZIHxKpEz4iE4h\n" + + "SrG1alEWOKaVtPdU6gJCHQ3bmVnRm1H56Yc23UF0qw84r2QEdadSd1ulXn3sPGO90oXD/NNQPljv\n" + + "SGkfWxiekGil7LFtb6ot/zeknEPSTkiwQ7VkpkgD6fGXiFs0nzuYFvFTjUcsH4BLlNMDMPLsizE6\n" + + "wfMCgYANvw4Lq1cVfHAl3f6IZlpWHPFEEJbPcBLu9+qtUlZjleCaWA8WXuiBxkqaIkeVi3JMst34\n" + + "adfIfBsAk4FeyLpkiTYNjOckZvXFXYKA3a05l/RJ5rsnnI9GRh+3Gk3V+87OU7HwMU6jNZmQiPIO\n" + + "/jerEvZ9A5tbuzKkfJj2F0ZXfw==\n" + + "-----END PRIVATE KEY-----"; + + // 失效的证书 823CF3E310F2E2ED1AF85506E74A95DC4301006FDEF2FD019953FAF4DE12A8BF + public static final String CERTIFICATE_RSA_INVALID = "-----BEGIN CERTIFICATE-----\n" + + "MIIDeTCCAmGgAwIBAgIhAII88+MQ8uLtGvhVBudKldxDAQBv3vL9AZlT+vTeEqi/MA0GCSqGSIb3\n" + + "DQEBCwUAMIGNMQswCQYDVQQGEwJDTjESMBAGA1UECAwJ5rWZ5rGf55yBMRIwEAYDVQQHDAnmna3l\n" + + "t57luIIxITAfBgNVBAoMGOa1meaxn+eooOW3nuWVhuS4mumTtuihjDEYMBYGA1UECwwP5pWw5a2X\n" + + "6YeR6J6N6YOoMRkwFwYDVQQDDBBzY2ZzLmN6Y2IuY29tLmNuMB4XDTIzMDYxODA5MDczMVoXDTI0\n" + + "MDYxODA5MDczMVowUjELMAkGA1UEBhMCQ04xEjAQBgNVBAgMCea1meaxn+ecgTESMBAGA1UEBwwJ\n" + + "5p2t5bee5biCMRswGQYDVQQKDBLnqKDlt57llYbkuJrpk7booYwwggEiMA0GCSqGSIb3DQEBAQUA\n" + + "A4IBDwAwggEKAoIBAQCfHOgnUYbFi780EX9xQTdWPvCyBhaEnU5Y2p1bW4dHoumgEtjQOkLlRe3U\n" + + "g1lu6TfhuE9YOQ9+V+Dsnzt7MXIRI7KlOuwpfwXn3e/MYP5ZtDBUiuSGNNVSP39wgb6aYXhvFY/L\n" + + "m9gaO8Q4rauzK94Clw4sH3a7J6ST50xHss8VjSVFUkcPhpH+OJBTUrXWiccZCn01XDz0vmq6J3Au\n" + + "jM55WBEmoz2r9iiVdCjZsgB4veQIpCKuMvJsEXVgRzULUnaqdX+7BTDBs30kCGyyBarR+wXLAKNQ\n" + + "1nENFs1IGM99I+O8UsD6CvUnt2t7l3B8/qIlOSfds8x+BoUxQwhmUaMjAgMBAAEwDQYJKoZIhvcN\n" + + "AQELBQADggEBACRCHOYH8ncOiYjMm3As7OFdnVDuGByMoZsDucqwrs0mJZVdp3OMgvGhC9zkzdZX\n" + + "sJFKQeIRp/13cD1SKxtwfU7w4J+/FWpWPEG9Jf2bLqurYivu0tTa1xe5SDL4unNaj/o7BA0vaKJe\n" + + "gagyULAilNCGBCfy59BSR/GQbgAC6pdl3soMx/s1c9BcZVplbq12/rmStGce6h3QqNjwpRMowbVW\n" + + "XswXhr08AUevF7UriDjHkCsa6MqQ5x+ShV9qO1f2LDYBQRnM2Ty44EV5eUbHyKOJAYF+WqT6IRiA\n" + + "2sMZrKRTHaNZB4j0Vc87HuxDtTNh/EEXU2sO31WZHs3ymAChbC4=\n" + + "-----END CERTIFICATE-----"; + + public static PrivateKey loadPrivateKeyInvalid() { + return PemFile.loadPrivateKeyFromString(PRIVATE_RSA_INVALID); + } + + public static X509Certificate loadCertificateInvalid() { + return PemFile.loadX509FromString(CERTIFICATE_RSA_INVALID); + } +} diff --git a/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/ScfsApiServiceCatAutoConfigurationTest.java b/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/ScfsApiServiceCatAutoConfigurationTest.java index 5993cae..471220c 100644 --- a/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/ScfsApiServiceCatAutoConfigurationTest.java +++ b/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/ScfsApiServiceCatAutoConfigurationTest.java @@ -1,5 +1,59 @@ package com.czcb.scfs.service.cat.configuration; -class ScfsApiServiceCatAutoConfigurationTest { +import com.czcb.scfs.api.core.ApiClient; +import com.czcb.scfs.api.core.DefaultChannel; +import com.czcb.scfs.api.core.Profile; +import com.czcb.scfs.api.core.cipher.*; +import com.czcb.scfs.api.core.http.DefaultHttpProfile; +import com.czcb.scfs.api.core.http.LogLevel; +import com.czcb.scfs.api.core.http.client.ApacheHttpclient; +import org.apache.hc.client5.http.impl.classic.HttpClients; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import java.security.PrivateKey; +import java.security.cert.X509Certificate; +import java.util.ArrayList; +import java.util.List; + +class ScfsApiServiceCatAutoConfigurationTest { + private Profile profile() { + PrivateKey privateKey = KeyText.loadPrivateKeyInvalid(); + X509Certificate certificate = KeyText.loadCertificateInvalid(); + List list = new ArrayList<>(); + list.add(certificate); + CertificateProvider certificateProvider = new LocalCertificateProvider(list); + Privacy privacy = new TestPrivacy(privateKey, certificateProvider); + Signature signature = new DefaultSignature(certificateProvider, + new TestSigner(privateKey, "823CF3E310F2E2ED1AF85506E74A95DC4301006FDEF2FD019953FAF4DE12A8BF"), + new TestVerifier(certificateProvider)); + + return new TestProfile( + privacy, signature, new DefaultChannel.Builder() + .channelNo("0000") + .appNo("100000") + .build(), new DefaultHttpProfile.Builder() + .online(false) + .logLevel(LogLevel.BASIC) + .compressionEnabled(false) + .host("http://127.0.0.1:8888") + .build() + ); + } + + protected ApiClient apiClient() { + return new ApacheHttpclient(HttpClients.custom().build(), profile()); + } + + @Test + void projectService() { + ScfsApiServiceCatAutoConfiguration configuration = new ScfsApiServiceCatAutoConfiguration(); + Assertions.assertNotNull(configuration.projectService(apiClient())); + } + + @Test + void orderService() { + ScfsApiServiceCatAutoConfiguration configuration = new ScfsApiServiceCatAutoConfiguration(); + Assertions.assertNotNull(configuration.orderService(apiClient())); + } } \ No newline at end of file diff --git a/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/TestPrivacy.java b/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/TestPrivacy.java new file mode 100644 index 0000000..4c16dc2 --- /dev/null +++ b/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/TestPrivacy.java @@ -0,0 +1,35 @@ +package com.czcb.scfs.service.cat.configuration; + +import com.czcb.scfs.api.core.cipher.*; + +import java.security.PrivateKey; + +public class TestPrivacy implements Privacy { + // 对称加密/解密器 + private final SecretCipher secretCipher; + // 非对称加密器 + private final PrivacyEncryptor privacyEncryptor; + // 非对称解密器 + private final PrivacyDecryptor privacyDecryptor; + + public TestPrivacy(PrivateKey privateKey, CertificateProvider certificateProvider) { + this.secretCipher = new TestSecretCipher(); + this.privacyEncryptor = new TestPrivacyEncryptor(certificateProvider.getAvailableCertificate().getPublicKey()); + this.privacyDecryptor = new TestPrivacyDecryptor(privateKey); + } + + @Override + public SecretCipher getSecretCipher() { + return secretCipher; + } + + @Override + public PrivacyEncryptor getEncryptor() { + return privacyEncryptor; + } + + @Override + public PrivacyDecryptor getDecryptor() { + return privacyDecryptor; + } +} diff --git a/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/TestPrivacyDecryptor.java b/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/TestPrivacyDecryptor.java new file mode 100644 index 0000000..4b60d33 --- /dev/null +++ b/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/TestPrivacyDecryptor.java @@ -0,0 +1,16 @@ +package com.czcb.scfs.service.cat.configuration; + +import com.czcb.scfs.api.core.cipher.AbstractPrivacyDecryptor; + +import java.security.PrivateKey; + +public class TestPrivacyDecryptor extends AbstractPrivacyDecryptor { + /** + * 构造敏感信息解密的抽象类 + * + * @param privateKey 加密使用的私钥 + */ + public TestPrivacyDecryptor(PrivateKey privateKey) { + super("RSA/ECB/OAEPWithSHA-1AndMGF1Padding", privateKey, null); + } +} diff --git a/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/TestPrivacyEncryptor.java b/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/TestPrivacyEncryptor.java new file mode 100644 index 0000000..86530bd --- /dev/null +++ b/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/TestPrivacyEncryptor.java @@ -0,0 +1,16 @@ +package com.czcb.scfs.service.cat.configuration; + +import com.czcb.scfs.api.core.cipher.AbstractPrivacyEncryptor; + +import java.security.PublicKey; + +public class TestPrivacyEncryptor extends AbstractPrivacyEncryptor { + /** + * 构造敏感信息加密的抽象类 + * + * @param publicKey 加密使用的公钥 + */ + public TestPrivacyEncryptor(PublicKey publicKey) { + super("RSA/ECB/OAEPWithSHA-1AndMGF1Padding", publicKey, null, ""); + } +} diff --git a/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/TestProfile.java b/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/TestProfile.java new file mode 100644 index 0000000..abdb43f --- /dev/null +++ b/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/TestProfile.java @@ -0,0 +1,13 @@ +package com.czcb.scfs.service.cat.configuration; + +import com.czcb.scfs.api.core.AbstractProfile; +import com.czcb.scfs.api.core.Channel; +import com.czcb.scfs.api.core.cipher.Privacy; +import com.czcb.scfs.api.core.cipher.Signature; +import com.czcb.scfs.api.core.http.HttpProfile; + +public class TestProfile extends AbstractProfile { + public TestProfile(Privacy privacy, Signature signature, Channel channel, HttpProfile httpProfile) { + super(privacy, signature, channel, httpProfile); + } +} diff --git a/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/TestSecretCipher.java b/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/TestSecretCipher.java new file mode 100644 index 0000000..1ad8833 --- /dev/null +++ b/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/TestSecretCipher.java @@ -0,0 +1,10 @@ +package com.czcb.scfs.service.cat.configuration; + +import com.czcb.scfs.api.core.cipher.AbstractSecretCipher; + +public class TestSecretCipher extends AbstractSecretCipher { + + protected TestSecretCipher() { + super("AES", "AES/GCM/NoPadding", null, 128); + } +} diff --git a/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/TestSigner.java b/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/TestSigner.java new file mode 100644 index 0000000..7298831 --- /dev/null +++ b/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/TestSigner.java @@ -0,0 +1,19 @@ +package com.czcb.scfs.service.cat.configuration; + +import com.czcb.scfs.api.core.cipher.AbstractSigner; + +import java.security.PrivateKey; + +/** + * @author wangwei + * @since 2.0.0 + */ +public class TestSigner extends AbstractSigner { + + /** + * @param privateKey API私钥 + */ + public TestSigner(PrivateKey privateKey, String certificateSerialNumber) { + super("SHA256withRSA", "SHA256withRSA", privateKey, null, certificateSerialNumber); + } +} diff --git a/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/TestVerifier.java b/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/TestVerifier.java new file mode 100644 index 0000000..f9539ed --- /dev/null +++ b/scfs-api-service-cat/src/test/java/com/czcb/scfs/service/cat/configuration/TestVerifier.java @@ -0,0 +1,17 @@ +package com.czcb.scfs.service.cat.configuration; + +import com.czcb.scfs.api.core.cipher.AbstractVerifier; +import com.czcb.scfs.api.core.cipher.CertificateProvider; + +/** + * @author wangwei + * @since 2.0.0 + */ +public class TestVerifier extends AbstractVerifier { + /** + * @param certificateProvider 验签使用的证书管理器,非空 + */ + public TestVerifier(CertificateProvider certificateProvider) { + super("SHA256withRSA", certificateProvider, null); + } +} diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/communal/model/FiveCascadeQueryResponse.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/communal/model/FiveCascadeQueryResponse.java index 7f6fb49..f5cdbc7 100644 --- a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/communal/model/FiveCascadeQueryResponse.java +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/v2/communal/model/FiveCascadeQueryResponse.java @@ -48,11 +48,11 @@ public class FiveCascadeQueryResponse implements ApiResponse { * 下级区划代码信息 */ @SerializedName("zoning_code_children_list") - private List zoningCodeChildrenList; + private List zoningCodeChildrenList; @Data @Accessors(chain = true) - public static class zoning_code_children implements Serializable { + public static class ZoningCodeChildren implements Serializable { /** * 省码 diff --git a/scfs-api-service/src/test/java/com/czcb/scfs/api/service/MockResponse.java b/scfs-api-service/src/test/java/com/czcb/scfs/api/service/MockResponse.java index eb58af1..109f4af 100644 --- a/scfs-api-service/src/test/java/com/czcb/scfs/api/service/MockResponse.java +++ b/scfs-api-service/src/test/java/com/czcb/scfs/api/service/MockResponse.java @@ -53,7 +53,7 @@ public class MockResponse { .appNo("100000") .build(), new DefaultHttpProfile.Builder() .online(false) - .logLevel(LogLevel.basic) + .logLevel(LogLevel.BASIC) .compressionEnabled(false) .host("http://127.0.0.1:8888") .build() diff --git a/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v1/account/AccountServiceTest.java b/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v1/account/AccountServiceTest.java deleted file mode 100644 index d880a9e..0000000 --- a/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v1/account/AccountServiceTest.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.czcb.scfs.api.service.v1.account; - -import com.czcb.scfs.api.core.util.Json; -import com.czcb.scfs.api.service.v1.account.model.OpenAccAllCompanyRequest; -import com.czcb.scfs.api.service.v1.account.model.OpenAccAllPersonRequest.FileList; -import org.junit.jupiter.api.Test; - -import java.util.ArrayList; - -class AccountServiceTest { - - @Test - void openAccAllCompany() { - OpenAccAllCompanyRequest request = new OpenAccAllCompanyRequest(); - request.setChannelNo(""); - request.setAppNo(""); - request.setSerialNo(""); - request.setAccountName(""); - request.setAccountClass(""); - request.setAccountProperty(""); - request.setIdType(""); - request.setIdNo(""); - request.setIdStartDate(""); - request.setIdEndDate(""); - request.setSignNo(""); - request.setSignName(""); - request.setIdAddress(""); - request.setMobile(""); - request.setOrgcodes(""); - request.setRatcodes(""); - request.setZsopscope(""); - request.setPrimaryAccount(""); - request.setBankNo(""); - request.setBankName(""); - request.setIndustry(""); - request.setTradeNo(""); - request.setVerifyCode(""); - request.setCompanyIdType(""); - request.setCompanyIdNo(""); - request.setCompanyIdName(""); - request.setCompanyOpto(""); - request.setControllerIdType(""); - request.setControllerIdNo(""); - request.setControllerIdName(""); - request.setControllerOpto(""); - request.setLeaderIdType(""); - request.setLeaderIdNo(""); - request.setLeaderIdName(""); - request.setLeaderMobile(""); - request.setLeaderOpto(""); - request.setOperatorIdType(""); - request.setOperatorIdNo(""); - request.setOperatorIdName(""); - request.setOperatorMobile(""); - request.setOperatorOpto(""); - request.setBeneName(""); - request.setBeneSex(""); - request.setBeneNationality(""); - request.setBeneIsShareholider(""); - request.setBeneRatio(""); - request.setBeneAddr(""); - request.setBeneIdType(""); - request.setBeneIdNo(""); - request.setBeneOpto(""); - request.setBeneOwner(""); - request.setFileList(new ArrayList()); - request.setOpenLongitude(""); - request.setOpenDimensions(""); - request.setOpenIp(""); - request.setOpenDate(""); - request.setOpenTradeTime(""); - Json.toJson(request); - - } -} \ No newline at end of file diff --git a/scfs-api-spring-boot-starter/src/main/java/com/czcb/scfs/spring/boot/starter/ScfsApiGatewayProperties.java b/scfs-api-spring-boot-starter/src/main/java/com/czcb/scfs/spring/boot/starter/ScfsApiGatewayProperties.java index e3d0ae8..e95e46a 100644 --- a/scfs-api-spring-boot-starter/src/main/java/com/czcb/scfs/spring/boot/starter/ScfsApiGatewayProperties.java +++ b/scfs-api-spring-boot-starter/src/main/java/com/czcb/scfs/spring/boot/starter/ScfsApiGatewayProperties.java @@ -86,7 +86,7 @@ public class ScfsApiGatewayProperties { /** * 请求日志打印级别 默认 basic */ - private LogLevel logLevel = LogLevel.basic; + private LogLevel logLevel = LogLevel.BASIC; /** * 请求压缩 默认 false */ diff --git a/scfs-api-spring-boot-starter/src/test/java/com/czcb/scfs/spring/boot/starter/RsaConfigurationTest.java b/scfs-api-spring-boot-starter/src/test/java/com/czcb/scfs/spring/boot/starter/RsaConfigurationTest.java index a35c960..ecc0f63 100644 --- a/scfs-api-spring-boot-starter/src/test/java/com/czcb/scfs/spring/boot/starter/RsaConfigurationTest.java +++ b/scfs-api-spring-boot-starter/src/test/java/com/czcb/scfs/spring/boot/starter/RsaConfigurationTest.java @@ -40,7 +40,7 @@ class RsaConfigurationTest { connPool.setSocketTimeout(100); httpclient.setConnPool(connPool); httpclient.setCompressionEnabled(false); - httpclient.setLogLevel(LogLevel.basic); + httpclient.setLogLevel(LogLevel.BASIC); properties.setHttpclient(httpclient); ScfsApiGatewayProperties.Channel channel = new ScfsApiGatewayProperties.Channel(); diff --git a/scfs-api-spring-boot-starter/src/test/java/com/czcb/scfs/spring/boot/starter/ScfsApiGatewayPropertiesTest.java b/scfs-api-spring-boot-starter/src/test/java/com/czcb/scfs/spring/boot/starter/ScfsApiGatewayPropertiesTest.java index a5ec113..6733058 100644 --- a/scfs-api-spring-boot-starter/src/test/java/com/czcb/scfs/spring/boot/starter/ScfsApiGatewayPropertiesTest.java +++ b/scfs-api-spring-boot-starter/src/test/java/com/czcb/scfs/spring/boot/starter/ScfsApiGatewayPropertiesTest.java @@ -66,15 +66,15 @@ class ScfsApiGatewayPropertiesTest { httpclient.setConnPool(connPool); httpclient.setCompressionEnabled(false); - httpclient.setLogLevel(LogLevel.full); + httpclient.setLogLevel(LogLevel.FULL); ScfsApiGatewayProperties properties = new ScfsApiGatewayProperties(); properties.setHttpclient(httpclient); Assertions.assertNotNull(properties.getHttpclient()); Assertions.assertFalse(properties.getHttpclient().getCompressionEnabled()); - Assertions.assertEquals(LogLevel.full, properties.getHttpclient().getLogLevel()); + Assertions.assertEquals(LogLevel.FULL, properties.getHttpclient().getLogLevel()); - assertThatJson("{\"logLevel\":\"full\",\"compressionEnabled\":false," + + assertThatJson("{\"logLevel\":\"FULL\",\"compressionEnabled\":false," + "\"connPool\":{\"maxRequests\":100,\"maxRequestPerHost\":100,\"connectTimeout\":100,\"socketTimeout\":100}," + "\"proxy\":{\"enabled\":true,\"host\":\"128.0.0.1\",\"port\":\"1000\",\"username\":\"name\",\"password\":\"123456\",\"scheme\":\"https\"}," + "\"headers\":{\"aa\":\"123456\"}}") diff --git a/scfs-api-spring-boot-starter/src/test/java/com/czcb/scfs/spring/boot/starter/ScfsAutoConfigurationTest.java b/scfs-api-spring-boot-starter/src/test/java/com/czcb/scfs/spring/boot/starter/ScfsAutoConfigurationTest.java index dec8e94..bc6b67b 100644 --- a/scfs-api-spring-boot-starter/src/test/java/com/czcb/scfs/spring/boot/starter/ScfsAutoConfigurationTest.java +++ b/scfs-api-spring-boot-starter/src/test/java/com/czcb/scfs/spring/boot/starter/ScfsAutoConfigurationTest.java @@ -42,7 +42,7 @@ class ScfsAutoConfigurationTest { connPool.setSocketTimeout(100); httpclient.setConnPool(connPool); httpclient.setCompressionEnabled(false); - httpclient.setLogLevel(LogLevel.basic); + httpclient.setLogLevel(LogLevel.BASIC); properties.setHttpclient(httpclient); ScfsApiGatewayProperties.Channel channel = new ScfsApiGatewayProperties.Channel(); diff --git a/scfs-api-spring-boot-starter/src/test/java/com/czcb/scfs/spring/boot/starter/SmConfigurationTest.java b/scfs-api-spring-boot-starter/src/test/java/com/czcb/scfs/spring/boot/starter/SmConfigurationTest.java index ba16c1d..dd6d894 100644 --- a/scfs-api-spring-boot-starter/src/test/java/com/czcb/scfs/spring/boot/starter/SmConfigurationTest.java +++ b/scfs-api-spring-boot-starter/src/test/java/com/czcb/scfs/spring/boot/starter/SmConfigurationTest.java @@ -43,7 +43,7 @@ class SmConfigurationTest { connPool.setSocketTimeout(100); httpclient.setConnPool(connPool); httpclient.setCompressionEnabled(false); - httpclient.setLogLevel(LogLevel.basic); + httpclient.setLogLevel(LogLevel.BASIC); properties.setHttpclient(httpclient); ScfsApiGatewayProperties.Channel channel = new ScfsApiGatewayProperties.Channel();