From 56367d5e07fa6faabb1bafe3fbf64cc39a83ae2c Mon Sep 17 00:00:00 2001 From: "Xiong, Pin" Date: Tue, 8 Jun 2021 04:20:01 -0500 Subject: [PATCH] feat: Add testcase for DubboService#parameters to verify issue#3072 (#8001) --- .../ServiceClassPostProcessorTest.java | 23 ++++++++++++++++--- .../provider/DefaultHelloService.java | 2 +- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/beans/factory/annotation/ServiceClassPostProcessorTest.java b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/beans/factory/annotation/ServiceClassPostProcessorTest.java index 2d343c661a9..478eb3befa5 100644 --- a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/beans/factory/annotation/ServiceClassPostProcessorTest.java +++ b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/beans/factory/annotation/ServiceClassPostProcessorTest.java @@ -16,6 +16,7 @@ */ package org.apache.dubbo.config.spring.beans.factory.annotation; +import org.apache.dubbo.config.annotation.DubboService; import org.apache.dubbo.config.bootstrap.DubboBootstrap; import org.apache.dubbo.config.spring.ServiceBean; import org.apache.dubbo.config.spring.api.HelloService; @@ -117,11 +118,27 @@ public void testMethodAnnotation() { * Lazy-init for Dubbo Service */ @Test - public void testLazyInitDubboService(){ + public void testLazyInitDubboService() { /** * The class {@link org.apache.dubbo.config.spring.context.annotation.provider.DefaultLazyInitHelloService} has Lazy annotation * */ - BeanDefinition beanDefinition=beanFactory.getBeanDefinition("defaultLazyInitHelloService"); - Assertions.assertEquals(beanDefinition.isLazyInit(),true); + BeanDefinition beanDefinition = beanFactory.getBeanDefinition("defaultLazyInitHelloService"); + Assertions.assertEquals(beanDefinition.isLazyInit(), true); + } + + /** + * Test if the {@link DubboService#parameters()} works well + * see issue: https://github.com/apache/dubbo/issues/3072 + */ + @Test + public void testDubboServiceParameter() { + /** + * get the {@link ServiceBean} of {@link org.apache.dubbo.config.spring.context.annotation.provider.DefaultHelloService} + * */ + ServiceBean serviceBean = beanFactory.getBean("ServiceBean:org.apache.dubbo.config.spring.api.HelloService", ServiceBean.class); + Assertions.assertNotNull(serviceBean); + Assertions.assertNotNull(serviceBean.getParameters()); + Assertions.assertTrue(serviceBean.getParameters().size() == 1); + Assertions.assertEquals(serviceBean.toUrl().getParameter("sayHello.timeout"), "3000"); } } diff --git a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/context/annotation/provider/DefaultHelloService.java b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/context/annotation/provider/DefaultHelloService.java index 0384baf06f5..0b0bc6c4f63 100644 --- a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/context/annotation/provider/DefaultHelloService.java +++ b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/context/annotation/provider/DefaultHelloService.java @@ -28,7 +28,7 @@ * @since TODO */ @Service -@DubboService +@DubboService(parameters = {"sayHello.timeout", "3000"}) public class DefaultHelloService implements HelloService { @Override