This is an automated email from the ASF dual-hosted git repository. liubao pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
commit 4cc3834b0bc2e38493740022c61b1f420a10d737 Author: liubao <[email protected]> AuthorDate: Tue May 26 21:20:38 2020 +0800 [SCB-1935]reorganize test case --- .../servicecomb/demo/registry/Application.java | 26 ++--------- .../registry/MultiRegistriesServerTestCase.java | 48 ++++++++++++++++++++ ...Application.java => ServiceCenterTestCase.java} | 51 ++++++++++------------ .../servicecomb/demo/CategorizedTestCase.java | 4 ++ .../demo/CategorizedTestCaseRunner.java | 8 +++- 5 files changed, 84 insertions(+), 53 deletions(-) diff --git a/demo/demo-multi-registries/demo-multi-registries-client/src/main/java/org/apache/servicecomb/demo/registry/Application.java b/demo/demo-multi-registries/demo-multi-registries-client/src/main/java/org/apache/servicecomb/demo/registry/Application.java index 2ef836c..ffe3756 100644 --- a/demo/demo-multi-registries/demo-multi-registries-client/src/main/java/org/apache/servicecomb/demo/registry/Application.java +++ b/demo/demo-multi-registries/demo-multi-registries-client/src/main/java/org/apache/servicecomb/demo/registry/Application.java @@ -17,25 +17,18 @@ package org.apache.servicecomb.demo.registry; -import java.util.List; -import java.util.Map; - +import org.apache.servicecomb.demo.CategorizedTestCaseRunner; import org.apache.servicecomb.demo.TestMgr; -import org.apache.servicecomb.provider.pojo.RpcReference; -import org.apache.servicecomb.provider.springmvc.reference.RestTemplateBuilder; import org.apache.servicecomb.springboot2.starter.EnableServiceComb; import org.springframework.boot.WebApplicationType; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.stereotype.Component; -import org.springframework.web.client.RestTemplate; @SpringBootApplication @EnableServiceComb @Component public class Application { - @RpcReference(microserviceName = "thirdParty-service-center", schemaId = "ServiceCenterEndpoint") - static IServiceCenterEndpoint serviceCenterEndpoint; public static void main(final String[] args) throws Exception { new SpringApplicationBuilder().sources(Application.class).web(WebApplicationType.SERVLET).build().run(args); @@ -43,22 +36,9 @@ public class Application { runTest(); } - public static void runTest() { - RestTemplate template = RestTemplateBuilder.create(); - - // invoke demo-multi-registries-server - TestMgr.check("2", template - .getForObject("cse://demo-multi-registries-server/register/url/prefix/getName?name=2", - String.class)); + public static void runTest() throws Exception { + CategorizedTestCaseRunner.runCategorizedTestCase("demo-multi-registries-server"); - // invoke service-center(3rd-parties) - @SuppressWarnings("unchecked") - Map<String, List<?>> result = (Map<String, List<?>>) serviceCenterEndpoint.getInstances("demo-multi-registries", - "demo-multi-registries-server", - "true", - "0.0.2", - "default"); - TestMgr.check(result.get("instances").size(), 1); TestMgr.summary(); if (!TestMgr.errors().isEmpty()) { throw new IllegalStateException("tests failed"); diff --git a/demo/demo-multi-registries/demo-multi-registries-client/src/main/java/org/apache/servicecomb/demo/registry/MultiRegistriesServerTestCase.java b/demo/demo-multi-registries/demo-multi-registries-client/src/main/java/org/apache/servicecomb/demo/registry/MultiRegistriesServerTestCase.java new file mode 100644 index 0000000..d09babf --- /dev/null +++ b/demo/demo-multi-registries/demo-multi-registries-client/src/main/java/org/apache/servicecomb/demo/registry/MultiRegistriesServerTestCase.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.servicecomb.demo.registry; + +import org.apache.servicecomb.demo.CategorizedTestCase; +import org.apache.servicecomb.demo.TestMgr; +import org.apache.servicecomb.provider.springmvc.reference.RestTemplateBuilder; +import org.springframework.stereotype.Component; +import org.springframework.web.client.RestTemplate; + +@Component +public class MultiRegistriesServerTestCase implements CategorizedTestCase { + RestTemplate template = RestTemplateBuilder.create(); + + @Override + public void testRestTransport() throws Exception { + + // invoke demo-multi-registries-server + TestMgr.check("2", template + .getForObject("cse://demo-multi-registries-server/register/url/prefix/getName?name=2", + String.class)); + } + + @Override + public void testHighwayTransport() throws Exception { + + } + + @Override + public void testAllTransport() throws Exception { + + } +} diff --git a/demo/demo-multi-registries/demo-multi-registries-client/src/main/java/org/apache/servicecomb/demo/registry/Application.java b/demo/demo-multi-registries/demo-multi-registries-client/src/main/java/org/apache/servicecomb/demo/registry/ServiceCenterTestCase.java similarity index 55% copy from demo/demo-multi-registries/demo-multi-registries-client/src/main/java/org/apache/servicecomb/demo/registry/Application.java copy to demo/demo-multi-registries/demo-multi-registries-client/src/main/java/org/apache/servicecomb/demo/registry/ServiceCenterTestCase.java index 2ef836c..c84bdc2 100644 --- a/demo/demo-multi-registries/demo-multi-registries-client/src/main/java/org/apache/servicecomb/demo/registry/Application.java +++ b/demo/demo-multi-registries/demo-multi-registries-client/src/main/java/org/apache/servicecomb/demo/registry/ServiceCenterTestCase.java @@ -20,48 +20,41 @@ package org.apache.servicecomb.demo.registry; import java.util.List; import java.util.Map; +import org.apache.servicecomb.demo.CategorizedTestCase; import org.apache.servicecomb.demo.TestMgr; import org.apache.servicecomb.provider.pojo.RpcReference; -import org.apache.servicecomb.provider.springmvc.reference.RestTemplateBuilder; -import org.apache.servicecomb.springboot2.starter.EnableServiceComb; -import org.springframework.boot.WebApplicationType; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.stereotype.Component; -import org.springframework.web.client.RestTemplate; -@SpringBootApplication -@EnableServiceComb @Component -public class Application { +public class ServiceCenterTestCase implements CategorizedTestCase { @RpcReference(microserviceName = "thirdParty-service-center", schemaId = "ServiceCenterEndpoint") - static IServiceCenterEndpoint serviceCenterEndpoint; - - public static void main(final String[] args) throws Exception { - new SpringApplicationBuilder().sources(Application.class).web(WebApplicationType.SERVLET).build().run(args); - - runTest(); - } - - public static void runTest() { - RestTemplate template = RestTemplateBuilder.create(); - - // invoke demo-multi-registries-server - TestMgr.check("2", template - .getForObject("cse://demo-multi-registries-server/register/url/prefix/getName?name=2", - String.class)); + IServiceCenterEndpoint serviceCenterEndpoint; + @Override + public void testRestTransport() throws Exception { // invoke service-center(3rd-parties) @SuppressWarnings("unchecked") - Map<String, List<?>> result = (Map<String, List<?>>) serviceCenterEndpoint.getInstances("demo-multi-registries", + Map<String, List<?>> result = (Map<String, List<?>>) serviceCenterEndpoint.getInstances( + "demo-multi-registries", "demo-multi-registries-server", "true", "0.0.2", "default"); TestMgr.check(result.get("instances").size(), 1); - TestMgr.summary(); - if (!TestMgr.errors().isEmpty()) { - throw new IllegalStateException("tests failed"); - } + } + + @Override + public void testHighwayTransport() throws Exception { + + } + + @Override + public void testAllTransport() throws Exception { + + } + + @Override + public String getMicroserviceName() { + return "thirdParty-service-center"; } } diff --git a/demo/demo-schema/src/main/java/org/apache/servicecomb/demo/CategorizedTestCase.java b/demo/demo-schema/src/main/java/org/apache/servicecomb/demo/CategorizedTestCase.java index 51c733a..dd144ed 100644 --- a/demo/demo-schema/src/main/java/org/apache/servicecomb/demo/CategorizedTestCase.java +++ b/demo/demo-schema/src/main/java/org/apache/servicecomb/demo/CategorizedTestCase.java @@ -32,4 +32,8 @@ public interface CategorizedTestCase { * test case which successful in both REST and HIGHWAY transport */ void testAllTransport() throws Exception; + + default String getMicroserviceName() { + return null; + } } diff --git a/demo/demo-schema/src/main/java/org/apache/servicecomb/demo/CategorizedTestCaseRunner.java b/demo/demo-schema/src/main/java/org/apache/servicecomb/demo/CategorizedTestCaseRunner.java index ee508cd..20424df 100644 --- a/demo/demo-schema/src/main/java/org/apache/servicecomb/demo/CategorizedTestCaseRunner.java +++ b/demo/demo-schema/src/main/java/org/apache/servicecomb/demo/CategorizedTestCaseRunner.java @@ -26,8 +26,14 @@ public class CategorizedTestCaseRunner { public static void runCategorizedTestCase(String microserviceName) throws Exception { Map<String, CategorizedTestCase> tests = BeanUtils.getContext().getBeansOfType(CategorizedTestCase.class); for (String transport : DemoConst.transports) { - changeTransport(microserviceName, transport); for (CategorizedTestCase testCase : tests.values()) { + + if (testCase.getMicroserviceName() != null) { + changeTransport(testCase.getMicroserviceName(), transport); + } else { + changeTransport(microserviceName, transport); + } + testCase.testAllTransport(); if ("rest".equals(transport)) { testCase.testRestTransport();
