blob: d5ae6c00d53641f794230b436392e4a809db824d [file] [log] [blame]
/*
* Copyright 1999-2011 Alibaba Group.
*
* Licensed 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 com.alibaba.dubbo.registry;
/**
* @author ding.lid
*/
public class RegistryTestSupport {
/*public static <T> void assertEqualsIgnoreOrde(Collection<T> expected, Collection<T> actual) {
Set<T> expectedSet;
if (expected instanceof Set) {
expectedSet = (Set<T>) expected;
} else {
expectedSet = new HashSet<T>(expected);
}
Set<T> actualSet;
if (actual instanceof Set) {
actualSet = (Set<T>) actual;
} else {
actualSet = new HashSet<T>(actual);
}
Assert.assertEquals(expectedSet, actualSet);
}
public static final String member_service_name = "com.alibaba.morgan.MemberService";
public static final Map<String, String> member_urls1;
static {
Map<String, String> m = new HashMap<String, String>();
m.put("remote://10.20.130.230:9090/memberService", "version=1.0.0");
member_urls1 = Collections.unmodifiableMap(m);
}
public static final Map<String, String> member_urls2;
static {
Map<String, String> m = new HashMap<String, String>();
m.put("remote://11.11.11.11:9090/memberService", "version=1.0.0");
m.put("remote://22.22.22.22:9090/memberService", "version=1.0.0");
m.put("remote://33.33.33.33:9090/memberService", "version=1.0.0");
member_urls2 = Collections.unmodifiableMap(m);
}
public static final Map<String, String> member_urls3;
static {
Map<String, String> m = new HashMap<String, String>();
m.put("remote://44.44.44.44:9090/memberService", "version=1.0.0");
member_urls3 = Collections.unmodifiableMap(m);
}
public static final String xxx_service_name = "com.alibaba.xxx.XxxService";
public static final Map<String, String> xxx_urls1;
static {
Map<String, String> m = new HashMap<String, String>();
m.put("remote://11.11.11.11:9090/xxxService", "version=1.0.0");
m.put("remote://22.22.22.22:9090/xxxService", "version=1.0.0");
xxx_urls1 = Collections.unmodifiableMap(m);
}
public static void registerCheck(AbstractRegistry registry) {
{
List<URL> registeredList = registry
.getRegistered("com.alibaba.morgan.MemberService");
assertEquals(0, registeredList.size());
Map<String, Map<String, String>> registeredMap = registry.getRegistered();
assertEquals(0, registeredMap.size());
}
{
for (Map.Entry<String, String> entry : member_urls1.entrySet()) {
registry.register(member_service_name, entry.getKey(), entry.getValue());
}
Map<String, String> registered = registry.getRegistered(member_service_name);
assertEquals(1, registered.size());
assertNotSame(member_urls1, registered);
assertEquals(member_urls1, registered);
Map<String, Map<String, String>> registeredMap = registry.getRegistered();
assertEquals(1, registeredMap.size());
assertTrue(registeredMap.containsKey(member_service_name));
registered = registeredMap.get(member_service_name);
assertEquals(1, registered.size());
assertNotSame(member_urls1, registered);
assertEquals(member_urls1, registered);
}
{
registry.register(member_service_name, member_urls2);
Map<String, String> registered = registry.getRegistered(member_service_name);
final Map<String, String> urls = new HashMap<String, String>();
urls.putAll(member_urls1);
urls.putAll(member_urls2);
assertEquals(urls, registered);
Map<String, Map<String, String>> registeredMap = registry.getRegistered();
assertEquals(1, registeredMap.size());
assertTrue(registeredMap.containsKey(member_service_name));
registered = registeredMap.get(member_service_name);
assertEquals(urls, registered);
}
{
Map<String, Map<String, String>> services = new HashMap<String, Map<String, String>>();
services.put(member_service_name, member_urls3);
services.put(xxx_service_name, xxx_urls1);
registry.register(services);
final Map<String, String> urls = new HashMap<String, String>();
urls.putAll(member_urls1);
urls.putAll(member_urls2);
urls.putAll(member_urls3);
{
Map<String, String> registered = registry.getRegistered(member_service_name);
assertEquals(urls, registered);
registered = registry.getRegistered(xxx_service_name);
assertEquals(xxx_urls1, registered);
}
{
Map<String, Map<String, String>> registeredMap = registry.getRegistered();
assertEquals(2, registeredMap.size());
assertTrue(registeredMap.containsKey(member_service_name));
assertTrue(registeredMap.containsKey(xxx_service_name));
Map<String, String> registered = registeredMap.get(member_service_name);
assertEquals(urls, registered);
registered = registeredMap.get(xxx_service_name);
assertEquals(xxx_urls1, registered);
}
}
}
public static void subscribeCheck(AbstractRegistry registry, NotificationListener mockNotifyListener) {
String subscribed = registry.getSubscribed("com.alibaba.morgan.MemberService");
assertNull(subscribed);
Map<String, String> subscribedMap = registry.getSubscribed();
assertEquals(0, subscribedMap.size());
// query允许为null
registry.subscribe("com.alibaba.xxx.XxxService", (String) null, mockNotifyListener);
subscribed = registry.getSubscribed("com.alibaba.xxx.XxxService");
assertEquals("", subscribed);
subscribedMap = registry.getSubscribed();
assertEquals(1, subscribedMap.size());
assertTrue(subscribedMap.containsKey("com.alibaba.xxx.XxxService"));
assertEquals("", subscribedMap.get("com.alibaba.xxx.XxxService"));
registry.subscribe("com.alibaba.empty.EmptyService", "", mockNotifyListener);
// query允许为空
subscribed = registry.getSubscribed("com.alibaba.empty.EmptyService");
assertEquals("", subscribed);
subscribedMap = registry.getSubscribed();
assertEquals(2, subscribedMap.size());
assertTrue(subscribedMap.containsKey("com.alibaba.empty.EmptyService"));
assertEquals("", subscribedMap.get("com.alibaba.empty.EmptyService"));
// 多项值的Query
registry.subscribe("com.alibaba.morgan.MemberService", "dog=bad,cat=god",
mockNotifyListener);
subscribed = registry.getSubscribed("com.alibaba.morgan.MemberService");
assertEquals("dog=bad,cat=god", subscribed);
subscribedMap = registry.getSubscribed();
assertEquals(3, subscribedMap.size());
String s = subscribedMap.get("com.alibaba.morgan.MemberService");
assertEquals("dog=bad,cat=god", s);
registry.subscribe("com.alibaba.complex.ComplexService",
"version=1.0.0&application=kylin&methods=findPerson,findVAccount",
mockNotifyListener);
subscribedMap = registry.getSubscribed();
assertEquals(4, subscribedMap.size());
String q = subscribedMap.get("com.alibaba.complex.ComplexService");
assertEquals("version=1.0.0&application=kylin&methods=findPerson,findVAccount", q);
}*/
public void testDummy() {
}
}