From 40cab510c223512a4f947414ae13659a7bcd607b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kjetil=20=C3=98rbekk?= Date: Thu, 16 Feb 2012 19:50:36 +0100 Subject: Replace Master with new implementation. --- .../com/orbekk/same/MasterServiceImplTest.java | 133 --------------------- same/src/test/java/com/orbekk/same/MasterTest.java | 119 ++++++++++++++++++ .../test/java/com/orbekk/same/NewMasterTest.java | 119 ------------------ 3 files changed, 119 insertions(+), 252 deletions(-) delete mode 100644 same/src/test/java/com/orbekk/same/MasterServiceImplTest.java create mode 100644 same/src/test/java/com/orbekk/same/MasterTest.java delete mode 100644 same/src/test/java/com/orbekk/same/NewMasterTest.java (limited to 'same/src/test') diff --git a/same/src/test/java/com/orbekk/same/MasterServiceImplTest.java b/same/src/test/java/com/orbekk/same/MasterServiceImplTest.java deleted file mode 100644 index 0e7c81d..0000000 --- a/same/src/test/java/com/orbekk/same/MasterServiceImplTest.java +++ /dev/null @@ -1,133 +0,0 @@ -package com.orbekk.same; - -import static org.junit.Assert.*; - -import java.util.List; - -import org.codehaus.jackson.type.TypeReference; -import org.junit.Test; -import org.junit.Before; - -public class MasterServiceImplTest { - private State state = new State("TestNetwork"); - private TestConnectionManager connections = new TestConnectionManager(); - private TestBroadcaster broadcaster = new TestBroadcaster(); - private Master master; - - public static class UnreachableClient implements ClientService { - @Override - public void notifyNetwork(String networkName, String masterUrl) - throws Exception { - throw new Exception("Unreachable client"); - } - - @Override - public void setState(String component, String data, long revision) - throws Exception { - throw new Exception("Unreachable client"); - } - - @Override - public void discoveryRequest(String remoteUrl) throws Exception { - throw new Exception("Unreachable client"); - } - } - - @Before - public void setUp() { - state.update(".masterUrl", "http://master/MasterService.json", 1); - master = new Master(state, connections, broadcaster); - connections.masterMap.put("http://master/MasterService.json", master); - } - - @Test - public void testJsonState() { - List participants = - state.getParsedData(".participants", - new TypeReference>() { }); - assertEquals(participants.size(), 0); - participants.add("http://SomeUrl/"); - state.updateFromObject(".participants", participants, 1); - } - - @Test - public void joinNetworkAddsClient() { - master.joinNetworkRequest("http://clientUrl"); - List participants = state.getList(".participants"); - assertTrue(participants.contains("http://clientUrl")); - } - - @Test - public void workLoopClearsUpdatedComponents() { - state.update("Test", "Content", 0); - assertTrue(master._performWork()); - assertTrue(state.getAndClearUpdatedComponents().isEmpty()); - } - - @Test - public void clientJoin() { - Client client = new Client( - new State("ClientNetwork"), connections, - "http://client/ClientService.json"); - ClientService clientS = client.getService(); - connections.clientMap.put("http://client/ClientService.json", clientS); - client.joinNetwork("http://master/MasterService.json"); - assertTrue(master._performWork()); - assertTrue(state.getList(".participants").contains("http://client/ClientService.json")); - assertEquals(state, client.testGetState()); - } - - @Test - public void validStateRequest() { - Client client1 = new Client( - new State("ClientNetwork"), connections, - "http://client/ClientService.json"); - ClientService client1S = client1.getService(); - connections.clientMap.put("http://client/ClientService.json", client1S); - Client client2 = new Client( - new State("ClientNetwork"), connections, - "http://client2/ClientService.json"); - ClientService client2S = client2.getService(); - connections.clientMap.put("http://client2/ClientService.json", client2S); - - client1.joinNetwork("http://master/MasterService.json"); - client2.joinNetwork("http://master/MasterService.json"); - - assertTrue(master._performWork()); - assertTrue(state.getList(".participants").contains("http://client/ClientService.json")); - assertTrue(state.getList(".participants").contains("http://client2/ClientService.json")); - assertEquals(state, client1.testGetState()); - - assertTrue(master.updateStateRequest("A", "1", 0)); - assertTrue(master._performWork()); - - assertEquals(state, client1.testGetState()); - assertEquals(state, client2.testGetState()); - - assertFalse(master.updateStateRequest("A", "2", 0)); - assertTrue(master.updateStateRequest("A", "3", 1)); - assertTrue(master._performWork()); - - assertEquals(state, client1.testGetState()); - assertEquals(state, client2.testGetState()); - } - - @Test - public void masterRemovesParticipant() { - Client client = new Client( - new State("ClientNetwork"), connections, - "http://client/ClientService.json"); - ClientService clientS = client.getService(); - connections.clientMap.put("http://client/ClientService.json", clientS); - client.joinNetwork("http://master/MasterService.json"); - assertTrue(master._performWork()); - assertTrue(state.getList(".participants").contains("http://client/ClientService.json")); - - connections.clientMap.put("http://client/ClientService.json", - new UnreachableClient()); - master.updateStateRequest("NewState", "NewStateData", 0); - master._performWork(); - - assertEquals("[]", state.getDataOf(".participants")); - } -} diff --git a/same/src/test/java/com/orbekk/same/MasterTest.java b/same/src/test/java/com/orbekk/same/MasterTest.java new file mode 100644 index 0000000..09ac6a1 --- /dev/null +++ b/same/src/test/java/com/orbekk/same/MasterTest.java @@ -0,0 +1,119 @@ +package com.orbekk.same; + +import static org.junit.Assert.*; + +import java.util.List; +import org.codehaus.jackson.type.TypeReference; +import org.junit.Before; +import org.junit.Test; + +public class MasterTest { + private State state = new State("TestNetwork"); + private TestConnectionManager connections = new TestConnectionManager(); + private TestBroadcaster broadcaster = new TestBroadcaster(); + private Master master; + private MasterService masterS; + + public static class UnreachableClient implements ClientService { + @Override + public void notifyNetwork(String networkName, String masterUrl) + throws Exception { + throw new Exception("Unreachable client"); + } + + @Override + public void setState(String component, String data, long revision) + throws Exception { + throw new Exception("Unreachable client"); + } + + @Override + public void discoveryRequest(String remoteUrl) throws Exception { + throw new Exception("Unreachable client"); + } + } + + @Before + public void setUp() { + state.update(".masterUrl", "http://master/MasterService.json", 1); + master = new Master(state, connections, broadcaster); + masterS = master.getService(); + connections.masterMap.put("http://master/MasterService.json", + masterS); + } + + @Test + public void joinNetworkAddsClient() throws Exception { + masterS.joinNetworkRequest("http://clientUrl"); + List participants = state.getList(".participants"); + assertTrue(participants.contains("http://clientUrl")); + } + + @Test + public void clientJoin() { + Client client = new Client( + new State("ClientNetwork"), connections, + "http://client/ClientService.json"); + ClientService clientS = client.getService(); + connections.clientMap.put("http://client/ClientService.json", clientS); + client.joinNetwork("http://master/MasterService.json"); + master.performWork(); + assertTrue(state.getList(".participants").contains("http://client/ClientService.json")); + assertEquals(state, client.testGetState()); + } + + @Test + public void updateStateRequest() throws Exception { + Client client1 = new Client( + new State("ClientNetwork"), connections, + "http://client/ClientService.json"); + ClientService client1S = client1.getService(); + connections.clientMap.put("http://client/ClientService.json", client1S); + Client client2 = new Client( + new State("ClientNetwork"), connections, + "http://client2/ClientService.json"); + ClientService client2S = client2.getService(); + connections.clientMap.put("http://client2/ClientService.json", client2S); + + client1.joinNetwork("http://master/MasterService.json"); + client2.joinNetwork("http://master/MasterService.json"); + + master.performWork(); + assertTrue(state.getList(".participants").contains("http://client/ClientService.json")); + assertTrue(state.getList(".participants").contains("http://client2/ClientService.json")); + assertEquals(state, client1.testGetState()); + + assertTrue(masterS.updateStateRequest("A", "1", 0)); + master.performWork(); + + assertEquals(state, client1.testGetState()); + assertEquals(state, client2.testGetState()); + + assertFalse(masterS.updateStateRequest("A", "2", 0)); + assertTrue(masterS.updateStateRequest("A", "3", 1)); + master.performWork(); + + assertEquals(state, client1.testGetState()); + assertEquals(state, client2.testGetState()); + } + + @Test + public void masterRemovesParticipant() throws Exception { + Client client = new Client( + new State("ClientNetwork"), connections, + "http://client/ClientService.json"); + ClientService clientS = client.getService(); + connections.clientMap.put("http://client/ClientService.json", clientS); + client.joinNetwork("http://master/MasterService.json"); + master.performWork(); + assertTrue(state.getList(".participants").contains("http://client/ClientService.json")); + + connections.clientMap.put("http://client/ClientService.json", + new UnreachableClient()); + masterS.updateStateRequest("NewState", "NewStateData", 0); + master.performWork(); + + assertEquals("[]", state.getDataOf(".participants")); + } + +} diff --git a/same/src/test/java/com/orbekk/same/NewMasterTest.java b/same/src/test/java/com/orbekk/same/NewMasterTest.java deleted file mode 100644 index 273fb3c..0000000 --- a/same/src/test/java/com/orbekk/same/NewMasterTest.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.orbekk.same; - -import static org.junit.Assert.*; - -import java.util.List; -import org.codehaus.jackson.type.TypeReference; -import org.junit.Before; -import org.junit.Test; - -public class NewMasterTest { - private State state = new State("TestNetwork"); - private TestConnectionManager connections = new TestConnectionManager(); - private TestBroadcaster broadcaster = new TestBroadcaster(); - private NewMaster master; - private MasterService masterS; - - public static class UnreachableClient implements ClientService { - @Override - public void notifyNetwork(String networkName, String masterUrl) - throws Exception { - throw new Exception("Unreachable client"); - } - - @Override - public void setState(String component, String data, long revision) - throws Exception { - throw new Exception("Unreachable client"); - } - - @Override - public void discoveryRequest(String remoteUrl) throws Exception { - throw new Exception("Unreachable client"); - } - } - - @Before - public void setUp() { - state.update(".masterUrl", "http://master/MasterService.json", 1); - master = new NewMaster(state, connections, broadcaster); - masterS = master.getService(); - connections.masterMap.put("http://master/MasterService.json", - masterS); - } - - @Test - public void joinNetworkAddsClient() throws Exception { - masterS.joinNetworkRequest("http://clientUrl"); - List participants = state.getList(".participants"); - assertTrue(participants.contains("http://clientUrl")); - } - - @Test - public void clientJoin() { - Client client = new Client( - new State("ClientNetwork"), connections, - "http://client/ClientService.json"); - ClientService clientS = client.getService(); - connections.clientMap.put("http://client/ClientService.json", clientS); - client.joinNetwork("http://master/MasterService.json"); - master.performWork(); - assertTrue(state.getList(".participants").contains("http://client/ClientService.json")); - assertEquals(state, client.testGetState()); - } - - @Test - public void updateStateRequest() throws Exception { - Client client1 = new Client( - new State("ClientNetwork"), connections, - "http://client/ClientService.json"); - ClientService client1S = client1.getService(); - connections.clientMap.put("http://client/ClientService.json", client1S); - Client client2 = new Client( - new State("ClientNetwork"), connections, - "http://client2/ClientService.json"); - ClientService client2S = client2.getService(); - connections.clientMap.put("http://client2/ClientService.json", client2S); - - client1.joinNetwork("http://master/MasterService.json"); - client2.joinNetwork("http://master/MasterService.json"); - - master.performWork(); - assertTrue(state.getList(".participants").contains("http://client/ClientService.json")); - assertTrue(state.getList(".participants").contains("http://client2/ClientService.json")); - assertEquals(state, client1.testGetState()); - - assertTrue(masterS.updateStateRequest("A", "1", 0)); - master.performWork(); - - assertEquals(state, client1.testGetState()); - assertEquals(state, client2.testGetState()); - - assertFalse(masterS.updateStateRequest("A", "2", 0)); - assertTrue(masterS.updateStateRequest("A", "3", 1)); - master.performWork(); - - assertEquals(state, client1.testGetState()); - assertEquals(state, client2.testGetState()); - } - - @Test - public void masterRemovesParticipant() throws Exception { - Client client = new Client( - new State("ClientNetwork"), connections, - "http://client/ClientService.json"); - ClientService clientS = client.getService(); - connections.clientMap.put("http://client/ClientService.json", clientS); - client.joinNetwork("http://master/MasterService.json"); - master.performWork(); - assertTrue(state.getList(".participants").contains("http://client/ClientService.json")); - - connections.clientMap.put("http://client/ClientService.json", - new UnreachableClient()); - masterS.updateStateRequest("NewState", "NewStateData", 0); - master.performWork(); - - assertEquals("[]", state.getDataOf(".participants")); - } - -} -- cgit v1.2.3