blob: 9a161c0588ecce92ae1099c43a49047a04dc5018 [file] [log] [blame]
/*******************************************************************************
* 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();
}
}