/******************************************************************************* * Copyright (c) 2010 Composent, Inc. and others. All rights reserved. This * program and the accompanying materials are made available under the terms of * the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Composent, Inc. - initial API and implementation ******************************************************************************/ package org.eclipse.ecf.tests.server.generic; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.URI; import org.eclipse.ecf.server.generic.IGenericServerContainerGroup; import org.eclipse.ecf.server.generic.IGenericServerContainerGroupFactory; import junit.framework.TestCase; public class GenericServerContainerGroupFactoryTest extends TestCase { private static final String hostname = "localhost"; private static final int port = 4000; private InetAddress allAddress; private IGenericServerContainerGroupFactory gscgFactory; protected void setUp() throws Exception { super.setUp(); gscgFactory = Activator.getDefault().getGenericServerContainerGroupFactory(); allAddress = new InetSocketAddress((InetAddress) null,0).getAddress(); } protected void tearDown() throws Exception { super.tearDown(); gscgFactory = null; } protected IGenericServerContainerGroup createContainerGroup(InetAddress bindAddress) throws Exception { return gscgFactory.createContainerGroup(hostname, port, bindAddress, null); } protected IGenericServerContainerGroup createContainerGroup() throws Exception { return createContainerGroup(null); } protected void removeContainerGroup() throws Exception { gscgFactory.removeContainerGroup(hostname, port); } public void testCreateContainerGroup() throws Exception { IGenericServerContainerGroup containerGroup = createContainerGroup(null); assertNotNull(containerGroup); URI groupEndpoint = containerGroup.getGroupEndpoint(); assertNotNull(groupEndpoint); assertTrue(groupEndpoint.getHost().equals(hostname)); assertTrue(groupEndpoint.getPort()==port); removeContainerGroup(); } public void testCreateContainerGroupListen() throws Exception { IGenericServerContainerGroup containerGroup = createContainerGroup(null); assertNotNull(containerGroup); URI groupEndpoint = containerGroup.getGroupEndpoint(); assertNotNull(groupEndpoint); assertTrue(groupEndpoint.getHost().equals(hostname)); assertTrue(groupEndpoint.getPort()==port); assertTrue(!containerGroup.isListening()); containerGroup.startListening(); assertTrue(containerGroup.isListening()); containerGroup.stopListening(); assertTrue(!containerGroup.isListening()); removeContainerGroup(); } public void testCreateContainerGroupWithBindAddress() throws Exception { IGenericServerContainerGroup containerGroup = createContainerGroup(this.allAddress); assertNotNull(containerGroup); URI groupEndpoint = containerGroup.getGroupEndpoint(); assertNotNull(groupEndpoint); assertTrue(groupEndpoint.getHost().equals(hostname)); assertTrue(groupEndpoint.getPort()==port); removeContainerGroup(); } public void testCreateContainerGroupWithBindAddressListen() throws Exception { IGenericServerContainerGroup containerGroup = createContainerGroup(this.allAddress); assertNotNull(containerGroup); URI groupEndpoint = containerGroup.getGroupEndpoint(); assertNotNull(groupEndpoint); assertTrue(groupEndpoint.getHost().equals(hostname)); assertTrue(groupEndpoint.getPort()==port); assertTrue(!containerGroup.isListening()); containerGroup.startListening(); assertTrue(containerGroup.isListening()); containerGroup.stopListening(); assertTrue(!containerGroup.isListening()); removeContainerGroup(); } public void testGetContainerGroup() throws Exception { IGenericServerContainerGroup gscg = gscgFactory.getContainerGroup(hostname, port); assertNull(gscg); createContainerGroup(); gscg = gscgFactory.getContainerGroup(hostname, port); assertNotNull(gscg); URI groupEndpoint = gscg.getGroupEndpoint(); assertNotNull(groupEndpoint); assertTrue(groupEndpoint.getHost().equals(hostname)); assertTrue(groupEndpoint.getPort()==port); removeContainerGroup(); } public void testGetContainerGroups() throws Exception { IGenericServerContainerGroup[] gscgs = gscgFactory.getContainerGroups(); assertNotNull(gscgs); assertTrue(gscgs.length == 0); createContainerGroup(); gscgs = gscgFactory.getContainerGroups(); assertNotNull(gscgs); assertTrue(gscgs.length == 1); URI groupEndpoint = gscgs[0].getGroupEndpoint(); assertNotNull(groupEndpoint); assertTrue(groupEndpoint.getHost().equals(hostname)); assertTrue(groupEndpoint.getPort()==port); removeContainerGroup(); } }