package org.buddycloud.channelserver.db.jdbc; import java.io.IOException; import java.sql.SQLException; import java.util.List; import org.buddycloud.channelserver.db.exception.NodeStoreException; import org.buddycloud.channelserver.packetHandler.iq.IQTestHandler; import org.junit.Assert; import org.junit.Before; import org.junit.Test; public class JDBCNodeStoreRemoteAndLocalNodesTest extends JDBCNodeStoreAbstract { public JDBCNodeStoreRemoteAndLocalNodesTest() throws SQLException, IOException, ClassNotFoundException { dbTester = new DatabaseTester(); IQTestHandler.readConf(); } @Before public void setup() throws SQLException, IOException, NodeStoreException { dbTester.loadData("node_1"); dbTester.loadData("node_2"); dbTester.loadData("advertise_nodes"); store.addRemoteNode(TEST_SERVER2_NODE1_ID); } @Test public void testGetLocalNodesList() throws Exception { List<String> localNodes = store.getLocalNodesList(); Assert.assertTrue(localNodes.contains(TEST_SERVER1_NODE1_ID)); Assert.assertTrue(localNodes.contains(TEST_SERVER1_NODE2_ID)); Assert.assertFalse(localNodes.contains(TEST_SERVER2_NODE1_ID)); Assert.assertTrue(localNodes.contains("/user/advertised@server1/posts")); Assert.assertTrue(localNodes.contains("/user/undetermined-advertised@server1/posts")); Assert.assertFalse(localNodes.contains("/user/not-advertised@server1/posts")); Assert.assertFalse(localNodes.contains("/user/advertised@server2/posts")); Assert.assertFalse(localNodes.contains("/user/undetermined-advertised@server2/posts")); Assert.assertFalse(localNodes.contains("/user/not-advertised@server2/posts")); Assert.assertEquals(4, localNodes.size()); } @Test public void testGetRemoteNodesList() throws Exception { List<String> remoteNodes = store.getRemoteNodesList(); Assert.assertFalse(remoteNodes.contains(TEST_SERVER1_NODE1_ID)); Assert.assertFalse(remoteNodes.contains(TEST_SERVER1_NODE2_ID)); Assert.assertTrue(remoteNodes.contains(TEST_SERVER2_NODE1_ID)); Assert.assertFalse(remoteNodes.contains("/user/advertised@server1/posts")); Assert.assertFalse(remoteNodes.contains("/user/undetermined-advertised@server1/posts")); Assert.assertFalse(remoteNodes.contains("/user/not-advertised@server1/posts")); Assert.assertTrue(remoteNodes.contains("/user/advertised@server2/posts")); Assert.assertTrue(remoteNodes.contains("/user/undetermined-advertised@server2/posts")); Assert.assertFalse(remoteNodes.contains("/user/not-advertised@server2/posts")); Assert.assertEquals(3, remoteNodes.size()); } }