DUBBO-19 增加测试用例

git-svn-id: http://code.alibabatech.com/svn/dubbo/trunk@269 1a56cb94-b969-4eaa-88fa-be21384802f2
This commit is contained in:
william.liangf 2011-11-15 03:41:54 +00:00
parent 15039a8266
commit d8cf940891
2 changed files with 48 additions and 0 deletions

View File

@ -24,6 +24,7 @@ import org.springframework.beans.factory.BeanCreationException;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.alibaba.dubbo.common.URL;
import com.alibaba.dubbo.common.utils.NetUtils;
import com.alibaba.dubbo.config.api.DemoService;
import com.alibaba.dubbo.registry.RegistryService;
import com.alibaba.dubbo.registry.support.SimpleRegistryExporter;
@ -73,11 +74,31 @@ public class ConfigTest {
try {
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(ConfigTest.class.getPackage().getName().replace('.', '/') + "/multi-protocol-error.xml");
ctx.start();
ctx.stop();
ctx.close();
} catch (BeanCreationException e) {
Assert.assertTrue(e.getMessage().contains("Found multi-protocols"));
}
}
@Test
public void testMultiProtocolRegister() {
SimpleRegistryService registryService = new SimpleRegistryService();
Exporter<RegistryService> exporter = SimpleRegistryExporter.export(4547, registryService);
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(ConfigTest.class.getPackage().getName().replace('.', '/') + "/multi-protocol-register.xml");
ctx.start();
try {
List<URL> urls = registryService.getRegistered().get("com.alibaba.dubbo.config.api.DemoService");
Assert.assertNotNull(urls);
Assert.assertEquals(1, urls.size());
Assert.assertEquals("dubbo://" + NetUtils.getLocalHost() + ":20824/com.alibaba.dubbo.config.api.DemoService", urls.get(0).toIdentityString());
} finally {
ctx.stop();
ctx.close();
exporter.unexport();
}
}
@Test
public void testMultiRegistry() {
SimpleRegistryService registryService1 = new SimpleRegistryService();
@ -92,7 +113,10 @@ public class ConfigTest {
List<URL> urls2 = registryService2.getRegistered().get("com.alibaba.dubbo.config.api.DemoService");
Assert.assertNotNull(urls2);
Assert.assertEquals(1, urls2.size());
Assert.assertEquals("dubbo://" + NetUtils.getLocalHost() + ":20880/com.alibaba.dubbo.config.api.DemoService", urls2.get(0).toIdentityString());
} finally {
ctx.stop();
ctx.close();
exporter1.unexport();
exporter2.unexport();
}

View File

@ -0,0 +1,24 @@
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd
">
<!-- 当前应用信息配置 -->
<dubbo:application name="demo-provider" />
<!-- 连接注册中心配置 -->
<dubbo:registry address="127.0.0.1:4547" />
<!-- 暴露服务协议配置 -->
<dubbo:protocol name="dubbo" port="20824" />
<dubbo:protocol name="rmi" port="10924" register="false" />
<!-- 暴露服务配置 -->
<dubbo:service interface="com.alibaba.dubbo.config.api.DemoService" ref="demoService" protocol="dubbo,rmi" />
<bean id="demoService" class="com.alibaba.dubbo.config.provider.impl.DemoServiceImpl" />
</beans>