Skip to content

Commit

Permalink
issues apache#2177
Browse files Browse the repository at this point in the history
  • Loading branch information
zhinieing committed Aug 13, 2018
1 parent 1c16f78 commit 000177c
Showing 1 changed file with 94 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
*/
package org.apache.dubbo.registry.support;

import org.apache.dubbo.common.Constants;
import org.apache.dubbo.common.URL;
import org.apache.dubbo.common.utils.NetUtils;
import org.apache.dubbo.registry.NotifyListener;
Expand Down Expand Up @@ -195,4 +196,97 @@ public void notify2Test() {
abstractRegistry.notify(testUrl, listener, urls);
Assert.assertTrue(notifySuccess);
}


@Test
public void filterEmptyTest() {
// check parameters
try {
AbstractRegistry.filterEmpty(null, null);
Assert.fail();
} catch (Exception e) {
Assert.assertTrue(e instanceof NullPointerException);
}

// check parameters
List<URL> urls = new ArrayList<>();
try {
AbstractRegistry.filterEmpty(null, urls);
Assert.fail();
} catch (Exception e) {
Assert.assertTrue(e instanceof NullPointerException);
}

// check if the output is generated by a fixed way
urls.add(testUrl.setProtocol(Constants.EMPTY_PROTOCOL));
Assert.assertEquals(AbstractRegistry.filterEmpty(testUrl, null), urls);

List<URL> testUrls = new ArrayList<>();
Assert.assertEquals(AbstractRegistry.filterEmpty(testUrl, testUrls), urls);

// check if the output equals the input urls
testUrls.add(testUrl);
Assert.assertEquals(AbstractRegistry.filterEmpty(testUrl, testUrls), testUrls);

}


public void doSaveProperties() {
abstractRegistry.doSaveProperties(0);
}

public void getCacheUrls() {

}

@Test
public void lookupTest(){
// loop up before registry
try {
abstractRegistry.lookup(null);
Assert.fail();
} catch (Exception e) {
Assert.assertTrue(e instanceof NullPointerException);
}
List<URL> urlList1 = abstractRegistry.lookup(testUrl);
Assert.assertFalse(urlList1.contains(testUrl));
// loop up after registry
List<URL> urls = new ArrayList<>();
urls.add(testUrl);
abstractRegistry.notify(urls);
List<URL> urlList2 = abstractRegistry.lookup(testUrl);
Assert.assertTrue(urlList2.contains(testUrl));

}

@Test
public void destroyTest(){
abstractRegistry.register(testUrl);
abstractRegistry.subscribe(testUrl, listener);
Assert.assertEquals(1,abstractRegistry.getRegistered().size());
Assert.assertEquals(1,abstractRegistry.getSubscribed().get(testUrl).size());
// delete listener and register
abstractRegistry.destroy();
Assert.assertEquals(0,abstractRegistry.getRegistered().size());
Assert.assertEquals(0,abstractRegistry.getSubscribed().get(testUrl).size());
}

@Test
public void allTest(){
// test all methods
List<URL> urls = new ArrayList<>();
urls.add(testUrl);
// register, subscribe, notify, unsubscribe, unregister
abstractRegistry.register(testUrl);
Assert.assertTrue(abstractRegistry.getRegistered().contains(testUrl));
abstractRegistry.subscribe(testUrl,listener);
Assert.assertTrue(abstractRegistry.getSubscribed().containsKey(testUrl));
Assert.assertFalse(notifySuccess);
abstractRegistry.notify(urls);
Assert.assertTrue(notifySuccess);
abstractRegistry.unsubscribe(testUrl,listener);
Assert.assertFalse(abstractRegistry.getSubscribed().containsKey(listener));
abstractRegistry.unregister(testUrl);
Assert.assertFalse(abstractRegistry.getRegistered().contains(testUrl));
}
}

0 comments on commit 000177c

Please sign in to comment.