You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by sh...@apache.org on 2022/05/22 15:42:00 UTC
[servicecomb-java-chassis] branch master updated: [SCB-2527] migrate common-protobuf module to junit5 (#2994)
This is an automated email from the ASF dual-hosted git repository.
shoothzj pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
The following commit(s) were added to refs/heads/master by this push:
new ca9f0855c [SCB-2527] migrate common-protobuf module to junit5 (#2994)
ca9f0855c is described below
commit ca9f0855c3bb1159ecef75a58e259286a4b58492
Author: TingTing Wang <19...@qq.com>
AuthorDate: Sun May 22 23:41:56 2022 +0800
[SCB-2527] migrate common-protobuf module to junit5 (#2994)
---
.../definition/TestResponseRootDeserializer.java | 37 +++++-------
.../converter/TestProtoToStringGenerator.java | 4 +-
.../internal/converter/TestSchemaMetaCodec.java | 70 +++++++++++-----------
.../converter/TestSchemaMetaCodecRestTemplate.java | 67 ++++++++++-----------
.../converter/TestSwaggerToProtoGenerator.java | 19 +++---
5 files changed, 93 insertions(+), 104 deletions(-)
diff --git a/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/definition/TestResponseRootDeserializer.java b/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/definition/TestResponseRootDeserializer.java
index 8165736b2..bf8a98f5c 100644
--- a/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/definition/TestResponseRootDeserializer.java
+++ b/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/definition/TestResponseRootDeserializer.java
@@ -23,11 +23,11 @@ import java.util.Map;
import org.apache.servicecomb.foundation.protobuf.internal.ProtoConst;
import org.junit.jupiter.api.Assertions;
-import org.junit.Test;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.type.SimpleType;
import com.fasterxml.jackson.databind.type.TypeFactory;
+import org.junit.jupiter.api.Test;
class Model {
@@ -38,34 +38,25 @@ public class TestResponseRootDeserializer {
@Test
public void testNeedConvert() {
Assertions.assertEquals(SimpleType.constructUnsafe(Object.class), ProtoConst.OBJECT_TYPE);
- Assertions.assertEquals(false,
- ResponseRootDeserializer.needConvert(1, TypeFactory.defaultInstance().constructType(int.class)));
- Assertions.assertEquals(false,
- ResponseRootDeserializer.needConvert(1, TypeFactory.defaultInstance().constructType(Integer.class)));
- Assertions.assertEquals(false,
- ResponseRootDeserializer
- .needConvert(Integer.valueOf(1), TypeFactory.defaultInstance().constructType(int.class)));
- Assertions.assertEquals(false,
- ResponseRootDeserializer
- .needConvert(Integer.valueOf(1), TypeFactory.defaultInstance().constructType(Integer.class)));
- Assertions.assertEquals(true,
- ResponseRootDeserializer
+ Assertions.assertFalse(ResponseRootDeserializer.needConvert(1, TypeFactory.defaultInstance().constructType(int.class)));
+ Assertions.assertFalse(ResponseRootDeserializer.needConvert(1, TypeFactory.defaultInstance().constructType(Integer.class)));
+ Assertions.assertFalse(ResponseRootDeserializer
+ .needConvert(1, TypeFactory.defaultInstance().constructType(int.class)));
+ Assertions.assertFalse(ResponseRootDeserializer
+ .needConvert(1, TypeFactory.defaultInstance().constructType(Integer.class)));
+ Assertions.assertTrue(ResponseRootDeserializer
.needConvert(new HashMap<>(), TypeFactory.defaultInstance().constructType(Model.class)));
- Assertions.assertEquals(false,
- ResponseRootDeserializer
+ Assertions.assertFalse(ResponseRootDeserializer
.needConvert(new Model(), TypeFactory.defaultInstance().constructType(Model.class)));
- Assertions.assertEquals(false,
- ResponseRootDeserializer
+ Assertions.assertFalse(ResponseRootDeserializer
.needConvert(new Model(), TypeFactory.defaultInstance().constructType(Object.class)));
List<Model> modelList = new ArrayList<>();
- List<Map> modemaplList = new ArrayList<>();
- Assertions.assertEquals(true,
- ResponseRootDeserializer
- .needConvert(modemaplList, TypeFactory.defaultInstance().constructType(new TypeReference<List<Model>>() {
+ List<Map> modelMapList = new ArrayList<>();
+ Assertions.assertTrue(ResponseRootDeserializer
+ .needConvert(modelMapList, TypeFactory.defaultInstance().constructType(new TypeReference<List<Model>>() {
})));
// This case should be false, however it is not exists in real applications, for simpler, take it true.
- Assertions.assertEquals(true,
- ResponseRootDeserializer
+ Assertions.assertTrue(ResponseRootDeserializer
.needConvert(modelList, TypeFactory.defaultInstance().constructType(new TypeReference<List<Model>>() {
})));
}
diff --git a/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestProtoToStringGenerator.java b/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestProtoToStringGenerator.java
index a5faec8e2..d3ed28720 100644
--- a/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestProtoToStringGenerator.java
+++ b/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestProtoToStringGenerator.java
@@ -18,12 +18,12 @@ package org.apache.servicecomb.codec.protobuf.internal.converter;
import org.apache.servicecomb.foundation.protobuf.internal.parser.ProtoParser;
import org.junit.jupiter.api.Assertions;
-import org.junit.Test;
import io.protostuff.compiler.model.Proto;
+import org.junit.jupiter.api.Test;
public class TestProtoToStringGenerator {
- static String content = "syntax = \"proto3\";\n"
+ static final String content = "syntax = \"proto3\";\n"
+ "import \"google/protobuf/any.proto\";\n"
+ "package org.apache.servicecomb.foundation.protobuf.internal.model;\n"
+ "\n"
diff --git a/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestSchemaMetaCodec.java b/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestSchemaMetaCodec.java
index 97b60f57a..aa66b9f27 100644
--- a/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestSchemaMetaCodec.java
+++ b/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestSchemaMetaCodec.java
@@ -35,10 +35,13 @@ import org.apache.servicecomb.codec.protobuf.definition.ResponseRootSerializer;
import org.apache.servicecomb.codec.protobuf.internal.converter.model.ProtoSchema;
import org.apache.servicecomb.codec.protobuf.internal.converter.model.ProtoSchemaPojo;
import org.apache.servicecomb.core.Invocation;
+import org.apache.servicecomb.core.SCBEngine;
import org.apache.servicecomb.core.definition.InvocationRuntimeType;
import org.apache.servicecomb.core.definition.MicroserviceMeta;
+import org.apache.servicecomb.core.definition.MicroserviceVersionsMeta;
import org.apache.servicecomb.core.definition.OperationMeta;
import org.apache.servicecomb.core.definition.SchemaMeta;
+import org.apache.servicecomb.core.executor.ExecutorManager;
import org.apache.servicecomb.foundation.protobuf.internal.ProtoConst;
import org.apache.servicecomb.foundation.test.scaffolding.model.Color;
import org.apache.servicecomb.foundation.test.scaffolding.model.Empty;
@@ -52,50 +55,47 @@ import org.apache.servicecomb.swagger.generator.pojo.PojoSwaggerGenerator;
import org.apache.servicecomb.swagger.generator.springmvc.SpringmvcSwaggerGenerator;
import org.apache.servicecomb.swagger.invocation.InvocationType;
import org.junit.jupiter.api.Assertions;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import com.fasterxml.jackson.databind.type.TypeFactory;
import io.swagger.models.Swagger;
-import mockit.Expectations;
-import mockit.Injectable;
/**
* SchemaMetaCodec test cases. This test cases covers POJO invoker and producer.
*/
@SuppressWarnings({"rawtypes", "unchecked"})
public class TestSchemaMetaCodec {
- @Injectable
- private MicroserviceMeta providerMicroserviceMeta;
-
- @Injectable
- private MicroserviceMeta consumerMicroserviceMeta;
private SchemaMeta providerSchemaMeta;
private SchemaMeta consumerSchemaMeta;
- @Before
+ @BeforeEach
public void setUp() {
ProtobufManager.clear();
}
private void mockSchemaMeta(String schemaId, AbstractSwaggerGenerator swaggerGenerator, Object producerInstance)
throws Exception {
- new Expectations() {
- {
- providerMicroserviceMeta.getMicroserviceName();
- result = "test";
- providerMicroserviceMeta.getExtData(ProtobufManager.EXT_ID);
- result = null;
- consumerMicroserviceMeta.getMicroserviceName();
- result = "test";
- consumerMicroserviceMeta.getExtData(ProtobufManager.EXT_ID);
- result = null;
- }
- };
+ MicroserviceVersionsMeta microserviceVersionsMeta = Mockito.mock(MicroserviceVersionsMeta.class);
+ ExecutorManager executorManager = Mockito.mock(ExecutorManager.class);
+ SCBEngine scbEngine = Mockito.mock(SCBEngine.class);
+ Mockito.when(scbEngine.getExecutorManager()).thenReturn(executorManager);
+
+ MicroserviceMeta providerMicroserviceMeta = Mockito.mock(MicroserviceMeta.class);
+ Mockito.when(providerMicroserviceMeta.getScbEngine()).thenReturn(scbEngine);
+ Mockito.when(providerMicroserviceMeta.getMicroserviceVersionsMeta()).thenReturn(microserviceVersionsMeta);
+ Mockito.when(providerMicroserviceMeta.getMicroserviceName()).thenReturn("test");
+ Mockito.when(providerMicroserviceMeta.getExtData(ProtobufManager.EXT_ID)).thenReturn(null);
+
+ MicroserviceMeta consumerMicroserviceMeta = Mockito.mock(MicroserviceMeta.class);
+ Mockito.when(consumerMicroserviceMeta.getScbEngine()).thenReturn(scbEngine);
+ Mockito.when(consumerMicroserviceMeta.getMicroserviceVersionsMeta()).thenReturn(microserviceVersionsMeta);
+ Mockito.when(consumerMicroserviceMeta.getMicroserviceName()).thenReturn("test");
+ Mockito.when(consumerMicroserviceMeta.getExtData(ProtobufManager.EXT_ID)).thenReturn(null);
Swagger swagger = swaggerGenerator.generate();
SwaggerEnvironment swaggerEnvironment = new SwaggerEnvironment();
@@ -212,7 +212,7 @@ public class TestSchemaMetaCodec {
.deserialize(values, TypeFactory.defaultInstance().constructType(User.class));
Assertions.assertEquals(user.name, decodedUser.name);
// proto buffer encode and decode empty list to be null
- Assertions.assertEquals(null, decodedUser.friends);
+ Assertions.assertNull(decodedUser.friends);
}
@Test
@@ -285,7 +285,7 @@ public class TestSchemaMetaCodec {
decodedUser = (Map<String, User>) responseDeserializer.deserialize(values, ProtoConst.MAP_TYPE);
Assertions.assertEquals(user.name, decodedUser.get("test").name);
// proto buffer encode and decode empty list to be null
- Assertions.assertEquals(null, decodedUser.get("test").friends);
+ Assertions.assertNull(decodedUser.get("test").friends);
}
@Test
@@ -363,7 +363,7 @@ public class TestSchemaMetaCodec {
Assertions.assertEquals(color.ordinal(), decodedArgs.get("color"));
Assertions.assertEquals(date.getTime(), decodedArgs.get("date"));
Assertions.assertEquals(localDate.getLong(ChronoField.EPOCH_DAY), decodedArgs.get("localDate"));
- Assertions.assertEquals(true, ((Map) decodedArgs.get("empty")).isEmpty());
+ Assertions.assertTrue(((Map) decodedArgs.get("empty")).isEmpty());
} else {
Assertions.assertArrayEquals(iArray, (int[]) decodedArgs.get("iArray"));
Assertions.assertEquals(color, decodedArgs.get("color"));
@@ -387,16 +387,16 @@ public class TestSchemaMetaCodec {
args.put("empty", null);
values = requestSerializer.serialize(args);
decodedArgs = requestDeserializer.deserialize(values);
- Assertions.assertEquals(null, decodedArgs.get("boolValue"));
- Assertions.assertEquals(null, decodedArgs.get("iValue"));
- Assertions.assertEquals(null, decodedArgs.get("lValue"));
- Assertions.assertEquals(null, decodedArgs.get("fValue"));
- Assertions.assertEquals(null, decodedArgs.get("dValue"));
- Assertions.assertEquals(null, decodedArgs.get("iArray"));
- Assertions.assertEquals(null, decodedArgs.get("color"));
- Assertions.assertEquals(null, decodedArgs.get("localDate"));
- Assertions.assertEquals(null, decodedArgs.get("date"));
- Assertions.assertEquals(null, decodedArgs.get("empty"));
+ Assertions.assertNull(decodedArgs.get("boolValue"));
+ Assertions.assertNull(decodedArgs.get("iValue"));
+ Assertions.assertNull(decodedArgs.get("lValue"));
+ Assertions.assertNull(decodedArgs.get("fValue"));
+ Assertions.assertNull(decodedArgs.get("dValue"));
+ Assertions.assertNull(decodedArgs.get("iArray"));
+ Assertions.assertNull(decodedArgs.get("color"));
+ Assertions.assertNull(decodedArgs.get("localDate"));
+ Assertions.assertNull(decodedArgs.get("date"));
+ Assertions.assertNull(decodedArgs.get("empty"));
// response message
ResponseRootSerializer responseSerializer = providerOperationProtobuf.findResponseRootSerializer(200);
diff --git a/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestSchemaMetaCodecRestTemplate.java b/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestSchemaMetaCodecRestTemplate.java
index 9b3e5c07b..774d61ab2 100644
--- a/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestSchemaMetaCodecRestTemplate.java
+++ b/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestSchemaMetaCodecRestTemplate.java
@@ -32,10 +32,13 @@ import org.apache.servicecomb.codec.protobuf.definition.ResponseRootDeserializer
import org.apache.servicecomb.codec.protobuf.definition.ResponseRootSerializer;
import org.apache.servicecomb.codec.protobuf.internal.converter.model.ProtoSchema;
import org.apache.servicecomb.core.Invocation;
+import org.apache.servicecomb.core.SCBEngine;
import org.apache.servicecomb.core.definition.InvocationRuntimeType;
import org.apache.servicecomb.core.definition.MicroserviceMeta;
+import org.apache.servicecomb.core.definition.MicroserviceVersionsMeta;
import org.apache.servicecomb.core.definition.OperationMeta;
import org.apache.servicecomb.core.definition.SchemaMeta;
+import org.apache.servicecomb.core.executor.ExecutorManager;
import org.apache.servicecomb.foundation.test.scaffolding.model.Color;
import org.apache.servicecomb.foundation.test.scaffolding.model.Empty;
import org.apache.servicecomb.foundation.test.scaffolding.model.User;
@@ -45,46 +48,42 @@ import org.apache.servicecomb.swagger.engine.SwaggerProducerOperation;
import org.apache.servicecomb.swagger.generator.springmvc.SpringmvcSwaggerGenerator;
import org.apache.servicecomb.swagger.invocation.InvocationType;
import org.junit.jupiter.api.Assertions;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import com.fasterxml.jackson.databind.type.TypeFactory;
-
import io.swagger.models.Swagger;
-import mockit.Expectations;
-import mockit.Injectable;
/**
* SchemaMetaCodec test cases. This test cases covers RestTemplate invoker and producer.
*/
public class TestSchemaMetaCodecRestTemplate {
- @Injectable
- private MicroserviceMeta providerMicroserviceMeta;
-
- @Injectable
- private MicroserviceMeta consumerMicroserviceMeta;
private SchemaMeta providerSchemaMeta;
private SchemaMeta consumerSchemaMeta;
- @Before
+ @BeforeEach
public void setUp() {
ProtobufManager.clear();
+ MicroserviceVersionsMeta microserviceVersionsMeta = Mockito.mock(MicroserviceVersionsMeta.class);
+ ExecutorManager executorManager = Mockito.mock(ExecutorManager.class);
+ SCBEngine scbEngine = Mockito.mock(SCBEngine.class);
+ Mockito.when(scbEngine.getExecutorManager()).thenReturn(executorManager);
+
+ MicroserviceMeta providerMicroserviceMeta = Mockito.mock(MicroserviceMeta.class);
+ Mockito.when(providerMicroserviceMeta.getScbEngine()).thenReturn(scbEngine);
+ Mockito.when(providerMicroserviceMeta.getMicroserviceVersionsMeta()).thenReturn(microserviceVersionsMeta);
+ Mockito.when(providerMicroserviceMeta.getMicroserviceName()).thenReturn("test");
+ Mockito.when(providerMicroserviceMeta.getExtData(ProtobufManager.EXT_ID)).thenReturn(null);
+
+ MicroserviceMeta consumerMicroserviceMeta = Mockito.mock(MicroserviceMeta.class);
+ Mockito.when(consumerMicroserviceMeta.getScbEngine()).thenReturn(scbEngine);
+ Mockito.when(consumerMicroserviceMeta.getMicroserviceVersionsMeta()).thenReturn(microserviceVersionsMeta);
+ Mockito.when(consumerMicroserviceMeta.getMicroserviceName()).thenReturn("test");
+ Mockito.when(consumerMicroserviceMeta.getExtData(ProtobufManager.EXT_ID)).thenReturn(null);
- new Expectations() {
- {
- providerMicroserviceMeta.getMicroserviceName();
- result = "test";
- providerMicroserviceMeta.getExtData(ProtobufManager.EXT_ID);
- result = null;
- consumerMicroserviceMeta.getMicroserviceName();
- result = "test";
- consumerMicroserviceMeta.getExtData(ProtobufManager.EXT_ID);
- result = null;
- }
- };
SpringmvcSwaggerGenerator swaggerGenerator = new SpringmvcSwaggerGenerator(ProtoSchema.class);
Swagger swagger = swaggerGenerator.generate();
SwaggerEnvironment swaggerEnvironment = new SwaggerEnvironment();
@@ -175,7 +174,7 @@ public class TestSchemaMetaCodecRestTemplate {
.deserialize(values, TypeFactory.defaultInstance().constructType(User.class));
Assertions.assertEquals(user.name, decodedUser.name);
// proto buffer encode and decode empty list to be null
- Assertions.assertEquals(null, decodedUser.friends);
+ Assertions.assertNull(decodedUser.friends);
}
@Test
@@ -244,16 +243,16 @@ public class TestSchemaMetaCodecRestTemplate {
args.put("empty", null);
values = requestSerializer.serialize(args);
decodedArgs = requestDeserializer.deserialize(values);
- Assertions.assertEquals(null, decodedArgs.get("boolValue"));
- Assertions.assertEquals(null, decodedArgs.get("iValue"));
- Assertions.assertEquals(null, decodedArgs.get("lValue"));
- Assertions.assertEquals(null, decodedArgs.get("fValue"));
- Assertions.assertEquals(null, decodedArgs.get("dValue"));
- Assertions.assertEquals(null, decodedArgs.get("iArray"));
- Assertions.assertEquals(null, decodedArgs.get("color"));
- Assertions.assertEquals(null, decodedArgs.get("localDate"));
- Assertions.assertEquals(null, decodedArgs.get("date"));
- Assertions.assertEquals(null, decodedArgs.get("empty"));
+ Assertions.assertNull(decodedArgs.get("boolValue"));
+ Assertions.assertNull(decodedArgs.get("iValue"));
+ Assertions.assertNull(decodedArgs.get("lValue"));
+ Assertions.assertNull(decodedArgs.get("fValue"));
+ Assertions.assertNull(decodedArgs.get("dValue"));
+ Assertions.assertNull(decodedArgs.get("iArray"));
+ Assertions.assertNull(decodedArgs.get("color"));
+ Assertions.assertNull(decodedArgs.get("localDate"));
+ Assertions.assertNull(decodedArgs.get("date"));
+ Assertions.assertNull(decodedArgs.get("empty"));
// response message
ResponseRootSerializer responseSerializer = providerOperationProtobuf.findResponseRootSerializer(200);
diff --git a/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestSwaggerToProtoGenerator.java b/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestSwaggerToProtoGenerator.java
index e2600ed0c..4110cc011 100644
--- a/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestSwaggerToProtoGenerator.java
+++ b/common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/internal/converter/TestSwaggerToProtoGenerator.java
@@ -16,18 +16,17 @@
*/
package org.apache.servicecomb.codec.protobuf.internal.converter;
-import java.io.IOException;
-import java.net.URL;
-import java.nio.charset.StandardCharsets;
-
+import io.protostuff.compiler.model.Proto;
+import io.swagger.models.Swagger;
import org.apache.commons.io.IOUtils;
import org.apache.servicecomb.codec.protobuf.internal.converter.model.ProtoSchema;
import org.apache.servicecomb.swagger.generator.springmvc.SpringmvcSwaggerGenerator;
import org.junit.jupiter.api.Assertions;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-import io.protostuff.compiler.model.Proto;
-import io.swagger.models.Swagger;
+import java.io.IOException;
+import java.net.URL;
+import java.nio.charset.StandardCharsets;
public class TestSwaggerToProtoGenerator {
@Test
@@ -54,8 +53,8 @@ public class TestSwaggerToProtoGenerator {
Assertions.assertEquals("hello.my_service", SwaggerToProtoGenerator.escapePackageName("hello.my-service"));
Assertions.assertEquals("hello.test.test", SwaggerToProtoGenerator.escapePackageName("hello.test.test"));
Assertions.assertEquals("hello_my.test.test", SwaggerToProtoGenerator.escapePackageName("hello:my.test.test"));
- Assertions.assertEquals(false, SwaggerToProtoGenerator.isValidEnum("hello.test.test"));
- Assertions.assertEquals(false, SwaggerToProtoGenerator.isValidEnum("hello.my-service"));
- Assertions.assertEquals(true, SwaggerToProtoGenerator.isValidEnum("My_ENum"));
+ Assertions.assertFalse(SwaggerToProtoGenerator.isValidEnum("hello.test.test"));
+ Assertions.assertFalse(SwaggerToProtoGenerator.isValidEnum("hello.my-service"));
+ Assertions.assertTrue(SwaggerToProtoGenerator.isValidEnum("My_ENum"));
}
}