Repository: incubator-gossip
Updated Branches:
  refs/heads/master 17551c881 -> bcd10510e


http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/51998219/src/test/java/org/apache/gossip/manager/GossipManagerBuilderTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/gossip/manager/GossipManagerBuilderTest.java 
b/src/test/java/org/apache/gossip/manager/GossipManagerBuilderTest.java
new file mode 100644
index 0000000..8842643
--- /dev/null
+++ b/src/test/java/org/apache/gossip/manager/GossipManagerBuilderTest.java
@@ -0,0 +1,121 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 org.apache.gossip.manager;
+
+import com.codahale.metrics.MetricRegistry;
+import org.apache.gossip.Member;
+import org.apache.gossip.GossipSettings;
+import org.apache.gossip.LocalMember;
+import org.apache.gossip.manager.handlers.DefaultMessageInvoker;
+import org.apache.gossip.manager.handlers.MessageInvoker;
+import org.apache.gossip.manager.handlers.ResponseHandler;
+import org.apache.gossip.manager.handlers.SimpleMessageInvoker;
+import org.junit.Assert;
+import org.junit.jupiter.api.Test;
+import org.junit.platform.runner.JUnitPlatform;
+import org.junit.runner.RunWith;
+
+import javax.xml.ws.Response;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.expectThrows;
+
+@RunWith(JUnitPlatform.class)
+public class GossipManagerBuilderTest {
+
+  @Test
+  public void idShouldNotBeNull() {
+    expectThrows(IllegalArgumentException.class,() -> {
+        GossipManagerBuilder.newBuilder().cluster("aCluster").build();
+    });
+  }
+
+  @Test
+  public void clusterShouldNotBeNull() {
+      expectThrows(IllegalArgumentException.class,() -> {
+          GossipManagerBuilder.newBuilder().id("id").build();
+      });
+  }
+
+  @Test
+  public void settingsShouldNotBeNull() {
+      expectThrows(IllegalArgumentException.class,() -> {
+          
GossipManagerBuilder.newBuilder().id("id").cluster("aCluster").build();
+      });
+  }
+  
+  @Test
+  public void createMembersListIfNull() throws URISyntaxException {
+    GossipManager gossipManager = GossipManagerBuilder.newBuilder()
+        .id("id")
+        .cluster("aCluster")
+        .uri(new URI("udp://localhost:2000"))
+        .gossipSettings(new GossipSettings())
+        .gossipMembers(null).registry(new MetricRegistry()).build();
+    assertNotNull(gossipManager.getLiveMembers());
+  }
+
+  @Test
+  public void createDefaultMessageInvokerIfNull() throws URISyntaxException {
+    GossipManager gossipManager = GossipManagerBuilder.newBuilder()
+        .id("id")
+        .cluster("aCluster")
+        .uri(new URI("udp://localhost:2000"))
+        .gossipSettings(new GossipSettings())
+        .messageInvoker(null).registry(new MetricRegistry()).build();
+    assertNotNull(gossipManager.getMessageInvoker());
+    Assert.assertEquals(gossipManager.getMessageInvoker().getClass(), new 
DefaultMessageInvoker().getClass());
+  }
+
+  @Test
+  public void testMessageInvokerKeeping() throws URISyntaxException {
+    MessageInvoker mi = new SimpleMessageInvoker(Response.class, new 
ResponseHandler());
+    GossipManager gossipManager = GossipManagerBuilder.newBuilder()
+        .id("id")
+        .cluster("aCluster")
+        .uri(new URI("udp://localhost:2000"))
+        .gossipSettings(new GossipSettings())
+        .messageInvoker(mi).registry(new MetricRegistry()).build();
+    assertNotNull(gossipManager.getMessageInvoker());
+    Assert.assertEquals(gossipManager.getMessageInvoker(), mi);
+  }
+
+  @Test
+  public void useMemberListIfProvided() throws URISyntaxException {
+    LocalMember member = new LocalMember(
+            "aCluster", new URI("udp://localhost:2000"), "aGossipMember",
+            System.nanoTime(), new HashMap<String, String>(), 1000, 1, 
"exponential");
+    List<Member> memberList = new ArrayList<>();
+    memberList.add(member);
+    GossipManager gossipManager = GossipManagerBuilder.newBuilder()
+        .id("id")
+        .cluster("aCluster")
+        .gossipSettings(new GossipSettings())
+        .uri(new URI("udp://localhost:8000"))
+        .gossipMembers(memberList).registry(new MetricRegistry()).build();
+    assertEquals(1, gossipManager.getDeadMembers().size());
+    assertEquals(member.getId(), 
gossipManager.getDeadMembers().get(0).getId());
+  }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/51998219/src/test/java/org/apache/gossip/manager/RandomGossipManagerBuilderTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/gossip/manager/RandomGossipManagerBuilderTest.java 
b/src/test/java/org/apache/gossip/manager/RandomGossipManagerBuilderTest.java
deleted file mode 100644
index 2d04087..0000000
--- 
a/src/test/java/org/apache/gossip/manager/RandomGossipManagerBuilderTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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 org.apache.gossip.manager;
-
-import com.codahale.metrics.MetricRegistry;
-import org.apache.gossip.GossipMember;
-import org.apache.gossip.GossipSettings;
-import org.apache.gossip.LocalGossipMember;
-import org.apache.gossip.manager.handlers.DefaultMessageInvoker;
-import org.apache.gossip.manager.handlers.MessageInvoker;
-import org.apache.gossip.manager.handlers.ResponseHandler;
-import org.apache.gossip.manager.handlers.SimpleMessageInvoker;
-import org.apache.gossip.manager.random.RandomGossipManager;
-import org.junit.Assert;
-import org.junit.jupiter.api.Test;
-import org.junit.platform.runner.JUnitPlatform;
-import org.junit.runner.RunWith;
-
-import javax.xml.ws.Response;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.expectThrows;
-
-@RunWith(JUnitPlatform.class)
-public class RandomGossipManagerBuilderTest {
-
-  @Test
-  public void idShouldNotBeNull() {
-    expectThrows(IllegalArgumentException.class,() -> {
-        RandomGossipManager.newBuilder().cluster("aCluster").build();
-    });
-  }
-
-  @Test
-  public void clusterShouldNotBeNull() {
-      expectThrows(IllegalArgumentException.class,() -> {
-          RandomGossipManager.newBuilder().withId("id").build();
-      });
-  }
-
-  @Test
-  public void settingsShouldNotBeNull() {
-      expectThrows(IllegalArgumentException.class,() -> {
-          
RandomGossipManager.newBuilder().withId("id").cluster("aCluster").build();
-      });
-  }
-  
-  @Test
-  public void createMembersListIfNull() throws URISyntaxException {
-    RandomGossipManager gossipManager = RandomGossipManager.newBuilder()
-        .withId("id")
-        .cluster("aCluster")
-        .uri(new URI("udp://localhost:2000"))
-        .settings(new GossipSettings())
-        .gossipMembers(null).registry(new MetricRegistry()).build();
-    assertNotNull(gossipManager.getLiveMembers());
-  }
-
-  @Test
-  public void createDefaultMessageInvokerIfNull() throws URISyntaxException {
-    RandomGossipManager gossipManager = RandomGossipManager.newBuilder()
-        .withId("id")
-        .cluster("aCluster")
-        .uri(new URI("udp://localhost:2000"))
-        .settings(new GossipSettings())
-        .messageInvoker(null).registry(new MetricRegistry()).build();
-    assertNotNull(gossipManager.getMessageInvoker());
-    Assert.assertEquals(gossipManager.getMessageInvoker().getClass(), new 
DefaultMessageInvoker().getClass());
-  }
-
-  @Test
-  public void testMessageInvokerKeeping() throws URISyntaxException {
-    MessageInvoker mi = new SimpleMessageInvoker(Response.class, new 
ResponseHandler());
-    RandomGossipManager gossipManager = RandomGossipManager.newBuilder()
-        .withId("id")
-        .cluster("aCluster")
-        .uri(new URI("udp://localhost:2000"))
-        .settings(new GossipSettings())
-        .messageInvoker(mi).registry(new MetricRegistry()).build();
-    assertNotNull(gossipManager.getMessageInvoker());
-    Assert.assertEquals(gossipManager.getMessageInvoker(), mi);
-  }
-
-  @Test
-  public void useMemberListIfProvided() throws URISyntaxException {
-    LocalGossipMember member = new LocalGossipMember(
-            "aCluster", new URI("udp://localhost:2000"), "aGossipMember",
-            System.nanoTime(), new HashMap<String, String>(), 1000, 1, 
"exponential");
-    List<GossipMember> memberList = new ArrayList<>();
-    memberList.add(member);
-    RandomGossipManager gossipManager = RandomGossipManager.newBuilder()
-        .withId("id")
-        .cluster("aCluster")
-        .settings(new GossipSettings())
-        .uri(new URI("udp://localhost:8000"))
-        .gossipMembers(memberList).registry(new MetricRegistry()).build();
-    assertEquals(1, gossipManager.getDeadMembers().size());
-    assertEquals(member.getId(), 
gossipManager.getDeadMembers().get(0).getId());
-  }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/51998219/src/test/java/org/apache/gossip/manager/RingPersistenceTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/gossip/manager/RingPersistenceTest.java 
b/src/test/java/org/apache/gossip/manager/RingPersistenceTest.java
index 6e41bdc..d448b98 100644
--- a/src/test/java/org/apache/gossip/manager/RingPersistenceTest.java
+++ b/src/test/java/org/apache/gossip/manager/RingPersistenceTest.java
@@ -22,15 +22,11 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.UnknownHostException;
 import java.util.Arrays;
-import java.util.HashMap;
-import org.apache.gossip.GossipService;
 import org.apache.gossip.GossipSettings;
-import org.apache.gossip.RemoteGossipMember;
+import org.apache.gossip.RemoteMember;
 import org.junit.Assert;
 import org.junit.Test;
 
-import com.codahale.metrics.MetricRegistry;
-
 public class RingPersistenceTest {
 
   @Test
@@ -43,21 +39,26 @@ public class RingPersistenceTest {
   }
   
   private File aGossiperPersists(GossipSettings settings) throws 
UnknownHostException, InterruptedException, URISyntaxException {
-    GossipService gossipService = new GossipService("a", new URI("udp://" + 
"127.0.0.1" + ":" + (29000 + 1)), "1", new HashMap<String, String>(),
-            Arrays.asList(
-                    new RemoteGossipMember("a", new URI("udp://" + "127.0.0.1" 
+ ":" + (29000 + 0)), "0"),
-                    new RemoteGossipMember("a", new URI("udp://" + "127.0.0.1" 
+ ":" + (29000 + 2)), "2")
-                    ),
-            settings, (a, b) -> { }, new MetricRegistry());
-    gossipService.getGossipManager().getRingState().writeToDisk();
-    return gossipService.getGossipManager().getRingState().computeTarget();
+    GossipManager gossipService = GossipManagerBuilder.newBuilder()
+            .cluster("a")
+            .uri(new URI("udp://" + "127.0.0.1" + ":" + (29000 + 1)))
+            .id("1")
+            .gossipSettings(settings)
+            .gossipMembers(
+                    Arrays.asList(
+                            new RemoteMember("a", new URI("udp://" + 
"127.0.0.1" + ":" + (29000 + 0)), "0"),
+                            new RemoteMember("a", new URI("udp://" + 
"127.0.0.1" + ":" + (29000 + 2)), "2"))).build();
+    gossipService.getRingState().writeToDisk();
+    return gossipService.getRingState().computeTarget();
   }
   
-  private void aNewInstanceGetsRingInfo(GossipSettings settings) throws 
UnknownHostException, InterruptedException, URISyntaxException{
-    GossipService gossipService2 = new GossipService("a", new URI("udp://" + 
"127.0.0.1" + ":" + (29000 + 1)), "1", new HashMap<String, String>(),
-            Arrays.asList(),
-            settings, (a, b) -> { }, new MetricRegistry());
-    Assert.assertEquals(2, 
gossipService2.getGossipManager().getMembers().size());
+  private void aNewInstanceGetsRingInfo(GossipSettings settings) throws 
UnknownHostException, InterruptedException, URISyntaxException {
+    GossipManager gossipService2 = GossipManagerBuilder.newBuilder()
+            .cluster("a")
+            .uri(new URI("udp://" + "127.0.0.1" + ":" + (29000 + 1)))
+            .id("1")
+            .gossipSettings(settings).build();
+    Assert.assertEquals(2, gossipService2.getMembers().size());
   }
   
 }

http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/51998219/src/test/java/org/apache/gossip/manager/UserDataPersistenceTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/gossip/manager/UserDataPersistenceTest.java 
b/src/test/java/org/apache/gossip/manager/UserDataPersistenceTest.java
index e0cbcf4..7b17e41 100644
--- a/src/test/java/org/apache/gossip/manager/UserDataPersistenceTest.java
+++ b/src/test/java/org/apache/gossip/manager/UserDataPersistenceTest.java
@@ -21,64 +21,65 @@ import java.io.File;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.UnknownHostException;
-import java.util.Arrays;
-import java.util.HashMap;
 import java.util.concurrent.ConcurrentHashMap;
 
-import org.apache.gossip.GossipService;
 import org.apache.gossip.GossipSettings;
-import org.apache.gossip.model.GossipDataMessage;
-import org.apache.gossip.model.SharedGossipDataMessage;
+import org.apache.gossip.model.PerNodeDataMessage;
+import org.apache.gossip.model.SharedDataMessage;
 import org.junit.Assert;
 import org.junit.Test;
 
-import com.codahale.metrics.MetricRegistry;
-
 public class UserDataPersistenceTest {
 
+  String nodeId = "1";
+  
+  private GossipManager sameService() throws URISyntaxException {  
+    GossipSettings settings = new GossipSettings();
+    return GossipManagerBuilder.newBuilder()
+            .cluster("a")
+            .uri(new URI("udp://" + "127.0.0.1" + ":" + (29000 + 1)))
+            .id(nodeId)
+            .gossipSettings(settings).build();
+  }
+  
   @Test
   public void givenThatRingIsPersisted() throws UnknownHostException, 
InterruptedException, URISyntaxException {
-    String nodeId = "1";
-    GossipSettings settings = new GossipSettings();
+    
     { //Create a gossip service and force it to persist its user data
-      GossipService gossipService = new GossipService("a",
-              new URI("udp://" + "127.0.0.1" + ":" + (29000 + 1)), nodeId, new 
HashMap<String, String>(),
-              Arrays.asList(), settings, (a, b) -> { }, new MetricRegistry());
-      gossipService.start();
+      GossipManager gossipService = sameService();
+      gossipService.init();
       gossipService.gossipPerNodeData(getToothpick());
       gossipService.gossipSharedData(getAnotherToothpick());
-      gossipService.getGossipManager().getUserDataState().writePerNodeToDisk();
-      gossipService.getGossipManager().getUserDataState().writeSharedToDisk();
+      gossipService.getUserDataState().writePerNodeToDisk();
+      gossipService.getUserDataState().writeSharedToDisk();
       { //read the raw data and confirm
-        ConcurrentHashMap<String, ConcurrentHashMap<String, 
GossipDataMessage>> l = 
gossipService.getGossipManager().getUserDataState().readPerNodeFromDisk();
+        ConcurrentHashMap<String, ConcurrentHashMap<String, 
PerNodeDataMessage>> l = gossipService.getUserDataState().readPerNodeFromDisk();
         Assert.assertEquals("red", ((AToothpick) 
l.get(nodeId).get("a").getPayload()).getColor());
       }
       {
-        ConcurrentHashMap<String, SharedGossipDataMessage> l = 
-                
gossipService.getGossipManager().getUserDataState().readSharedDataFromDisk();
+        ConcurrentHashMap<String, SharedDataMessage> l = 
+                gossipService.getUserDataState().readSharedDataFromDisk();
         Assert.assertEquals("blue", ((AToothpick) 
l.get("a").getPayload()).getColor());
       }
       gossipService.shutdown();
     }
     { //recreate the service and see that the data is read back in
-      GossipService gossipService = new GossipService("a",
-              new URI("udp://" + "127.0.0.1" + ":" + (29000 + 1)), nodeId, new 
HashMap<String, String>(),
-              Arrays.asList(), settings, (a, b) -> { }, new MetricRegistry());
-      gossipService.start();
-      Assert.assertEquals("red", ((AToothpick) 
gossipService.findPerNodeData(nodeId, "a").getPayload()).getColor());
-      Assert.assertEquals("blue", ((AToothpick) 
gossipService.findSharedData("a").getPayload()).getColor());
-      File f = 
gossipService.getGossipManager().getUserDataState().computeSharedTarget();
-      File g = 
gossipService.getGossipManager().getUserDataState().computePerNodeTarget();
+      GossipManager gossipService = sameService();
+      gossipService.init();
+      Assert.assertEquals("red", ((AToothpick) 
gossipService.findPerNodeGossipData(nodeId, "a").getPayload()).getColor());
+      Assert.assertEquals("blue", ((AToothpick) 
gossipService.findSharedGossipData("a").getPayload()).getColor());
+      File f = gossipService.getUserDataState().computeSharedTarget();
+      File g = gossipService.getUserDataState().computePerNodeTarget();
       gossipService.shutdown();
       f.delete();
       g.delete();
     }
   }
   
-  public GossipDataMessage getToothpick(){
+  public PerNodeDataMessage getToothpick(){
     AToothpick a = new AToothpick();
     a.setColor("red");
-    GossipDataMessage d = new GossipDataMessage();
+    PerNodeDataMessage d = new PerNodeDataMessage();
     d.setExpireAt(Long.MAX_VALUE);
     d.setKey("a");
     d.setPayload(a);
@@ -86,10 +87,10 @@ public class UserDataPersistenceTest {
     return d;
   }
   
-  public SharedGossipDataMessage getAnotherToothpick(){
+  public SharedDataMessage getAnotherToothpick(){
     AToothpick a = new AToothpick();
     a.setColor("blue");
-    SharedGossipDataMessage d = new SharedGossipDataMessage();
+    SharedDataMessage d = new SharedDataMessage();
     d.setExpireAt(Long.MAX_VALUE);
     d.setKey("a");
     d.setPayload(a);

http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/51998219/src/test/java/org/apache/gossip/manager/handlers/MessageInvokerTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/gossip/manager/handlers/MessageInvokerTest.java 
b/src/test/java/org/apache/gossip/manager/handlers/MessageInvokerTest.java
index d402d59..571d7ba 100644
--- a/src/test/java/org/apache/gossip/manager/handlers/MessageInvokerTest.java
+++ b/src/test/java/org/apache/gossip/manager/handlers/MessageInvokerTest.java
@@ -21,7 +21,7 @@ import org.apache.gossip.manager.GossipCore;
 import org.apache.gossip.manager.GossipManager;
 import org.apache.gossip.model.ActiveGossipMessage;
 import org.apache.gossip.model.Base;
-import org.apache.gossip.udp.UdpSharedGossipDataMessage;
+import org.apache.gossip.udp.UdpSharedDataMessage;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -166,7 +166,7 @@ public class MessageInvokerTest {
     //UdpSharedGossipDataMessage with null gossipCore -> exception
     boolean thrown = false;
     try {
-      mi.invoke(null, null, new UdpSharedGossipDataMessage());
+      mi.invoke(null, null, new UdpSharedDataMessage());
     } catch (NullPointerException e) {
       thrown = true;
     }

Reply via email to