From 01a175cfaa3cfb6cfa65cd9286eb95753428e44a Mon Sep 17 00:00:00 2001 From: huangsimin Date: Tue, 9 Jul 2019 11:43:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=80=E4=B8=AA=E7=AE=80?= =?UTF-8?q?=E5=8D=95=E7=9A=84yaml=E9=85=8D=E7=BD=AE=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E6=B5=8B=E8=AF=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/usergw/impl/http/Http2Dubbo.java | 30 ----------- .../service/usergw/impl/rpc/DemoHello.java | 17 ------- .../ecpark/service/usergw/utils/TestYaml.java | 48 ++++++++++++++++++ .../service/usergw/utils/test-gateway.yaml | 50 +++++++++++++++++++ .../java/resources/application.properties | 13 +++++ 5 files changed, 111 insertions(+), 47 deletions(-) delete mode 100644 usergw-service/src/main/java/cn/ecpark/service/usergw/impl/http/Http2Dubbo.java delete mode 100644 usergw-service/src/main/java/cn/ecpark/service/usergw/impl/rpc/DemoHello.java create mode 100644 usergw-service/src/test/java/cn/ecpark/service/usergw/utils/TestYaml.java create mode 100644 usergw-service/src/test/java/cn/ecpark/service/usergw/utils/test-gateway.yaml create mode 100644 usergw-service/src/test/java/resources/application.properties diff --git a/usergw-service/src/main/java/cn/ecpark/service/usergw/impl/http/Http2Dubbo.java b/usergw-service/src/main/java/cn/ecpark/service/usergw/impl/http/Http2Dubbo.java deleted file mode 100644 index 8241acc..0000000 --- a/usergw-service/src/main/java/cn/ecpark/service/usergw/impl/http/Http2Dubbo.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.ecpark.service.usergw.impl.http; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; - - -/** - * Http2Dubbo - */ -@Controller -@RestController -public class Http2Dubbo { - - - @ResponseBody - public String H2DTest() { - - //Do clever stuff here - return "H2DTest"; - // return new ResponseEntity<>(HttpStatus.OK); - } - - - @RequestMapping("/test/request") - public String fuck() { - return "request"; - } -} \ No newline at end of file diff --git a/usergw-service/src/main/java/cn/ecpark/service/usergw/impl/rpc/DemoHello.java b/usergw-service/src/main/java/cn/ecpark/service/usergw/impl/rpc/DemoHello.java deleted file mode 100644 index eafc119..0000000 --- a/usergw-service/src/main/java/cn/ecpark/service/usergw/impl/rpc/DemoHello.java +++ /dev/null @@ -1,17 +0,0 @@ -package cn.ecpark.service.usergw.impl.rpc; - -import org.apache.dubbo.config.annotation.Service; -import org.springframework.stereotype.Component; - -import cn.ecpark.service.usergw.api.IDemo; - -// @Service(interfaceClass = IDemo.class) -// @Component -public class DemoHello implements IDemo { - - @Override - public String Hello() { - return "Hello"; - } - -} \ No newline at end of file diff --git a/usergw-service/src/test/java/cn/ecpark/service/usergw/utils/TestYaml.java b/usergw-service/src/test/java/cn/ecpark/service/usergw/utils/TestYaml.java new file mode 100644 index 0000000..2504ae9 --- /dev/null +++ b/usergw-service/src/test/java/cn/ecpark/service/usergw/utils/TestYaml.java @@ -0,0 +1,48 @@ +package cn.ecpark.service.usergw.utils; + +import java.io.InputStream; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import org.junit.Assert; +import org.junit.Test; +import org.springframework.boot.test.context.TestComponent; +import org.yaml.snakeyaml.Yaml; + +@TestComponent +public class TestYaml { + @SuppressWarnings("unchecked") + @Test + public void TestLoadYaml() { + Object inputStream = null; + String[] gatewayConfigPathList = { "test-gateway.yml", "test-gateway.yaml", "test-Gateway.yml", + "test-Gateway.yaml" }; + for (String gatewayConfigPath : gatewayConfigPathList) { + inputStream = this.getClass().getResourceAsStream(gatewayConfigPath); + if (inputStream != null) { + break; + } + } + + Assert.assertNotNull(inputStream); + Map configYaml = new Yaml().load((InputStream) inputStream); + Assert.assertNotNull(configYaml); + Object restfulYaml = configYaml.get("restful"); + Object dubboYaml = configYaml.get("dubbo"); + + Assert.assertNotNull(restfulYaml); + Assert.assertNotNull(dubboYaml); + + Assert.assertEquals(restfulYaml.getClass(), LinkedHashMap.class); + + List defaultFilters = ((Map>)restfulYaml).get("default-filters"); + Assert.assertNotNull(defaultFilters); + + Assert.assertEquals(defaultFilters.size(), 1); + Assert.assertEquals(defaultFilters.getClass(), ArrayList.class); + Assert.assertEquals(defaultFilters.get(0), "AddResponseHeader=X-Response-Default-Foo, Default-Bar"); + + } +} \ No newline at end of file diff --git a/usergw-service/src/test/java/cn/ecpark/service/usergw/utils/test-gateway.yaml b/usergw-service/src/test/java/cn/ecpark/service/usergw/utils/test-gateway.yaml new file mode 100644 index 0000000..d5202b9 --- /dev/null +++ b/usergw-service/src/test/java/cn/ecpark/service/usergw/utils/test-gateway.yaml @@ -0,0 +1,50 @@ +restful: + default-filters: + - AddResponseHeader=X-Response-Default-Foo, Default-Bar + routes: + - id: path_route + uri: http://httpbin.org:80/* + order: 9 + predicates: + - Path=/get + - Header=XX, \d+ + + - id: path_route12; + uri: http://httpbin.org:80/* + order: 9 + predicates: + - Path=/get + - Header=XX, \d+ + + - id: path_route13 + uri: http://httpbin.org:80/* + order: 9 + predicates: + - Path=/get + - Header=XX, \d+ + # - id: redirect_to + # uri: http://localhost/test/** + # order: 11 + # filters: + # - RedirectTo=302, http://httpbin.org:80/get + +dubbo: + routes: + - id: test + order: 0 + application: dubbo-exchange + methods: # 如果没填就从 request拿 意味着所有接口都可以使用 + + - name: Say + param-types: + - java.lang.String + - name: Hello + + connections: 4 + group: test + # registry: zookeeper://127.0.0.1:2181 + interface: ocean.demo.api.IExchange + version: 1.0.0 + predicates: + - Path=/dubbo/hello + \ No newline at end of file diff --git a/usergw-service/src/test/java/resources/application.properties b/usergw-service/src/test/java/resources/application.properties new file mode 100644 index 0000000..71b9ee3 --- /dev/null +++ b/usergw-service/src/test/java/resources/application.properties @@ -0,0 +1,13 @@ + +spring.application.name=gateway +dubbo.scan.base-packages=cn.ecpark.service.usergw.impl +dubbo.protocol.name=dubbo +dubbo.protocol.port=20999 +dubbo.registry.address=zookeeper://127.0.0.1:2181 +dubbo.config-center.address=zookeeper://127.0.0.1:2181 +dubbo.metadata-report.address=zookeeper://127.0.0.1:2181 +server.port=8888 + +# logging.level.org.springframework.cloud.gateway=debug +logging.file=logs/log +