package org.marketcetera.client;
import org.marketcetera.util.misc.ClassVersion;
import org.marketcetera.util.test.EqualityAssert;
import org.marketcetera.util.test.UnicodeData;
import org.junit.Test;
import static org.junit.Assert.*;
/* $License$ */
/**
* Tests {@link ClientParameters}
*
* @author anshul@marketcetera.com
* @version $Id: ClientParametersTest.java 16154 2012-07-14 16:34:05Z colin $
* @since 1.0.0
*/
@ClassVersion("$Id: ClientParametersTest.java 16154 2012-07-14 16:34:05Z colin $") //$NON-NLS-1$
public class ClientParametersTest {
@Test
public void all() {
String user = UnicodeData.COMBO;
String passString = UnicodeData.COMBO;
char [] password = passString.toCharArray();
String url = "url";
String hostname = "host";
int port = Short.MAX_VALUE;
String idPrefix = "prefix";
int heartbeatInterval = ClientParameters.DEFAULT_HEARTBEAT_INTERVAL+1;
//Use copy of all parameters to ensure that we test object equality,
//not reference equality
ClientParameters cp = new ClientParameters(
new String(user), passString.toCharArray(), new String(url),
new String(hostname), port, new String(idPrefix),
heartbeatInterval);
assertCP(cp, user, password, url, hostname, port, idPrefix, heartbeatInterval);
ClientParameters cpNull = new ClientParameters(null, null, null, null, -1, null, -1);
assertCP(cpNull, null, null, null, null, -1, null, -1);
EqualityAssert.assertEquality(cp,
new ClientParameters(user, password, url, hostname, port, idPrefix, heartbeatInterval),
cpNull,
new ClientParameters(user, "nopass".toCharArray(), url, hostname, port, idPrefix, heartbeatInterval),
new ClientParameters("unuser", password, url, hostname, port, idPrefix, heartbeatInterval),
new ClientParameters(user, password, "urln", hostname, port, idPrefix, heartbeatInterval),
new ClientParameters(user, password, url, "hoho", port, idPrefix, heartbeatInterval),
new ClientParameters(user, password, url, hostname, 90, idPrefix, heartbeatInterval),
new ClientParameters(user, password, url, hostname, port, "wha", heartbeatInterval),
new ClientParameters(null, password, url, hostname, port, idPrefix, heartbeatInterval),
new ClientParameters(user, null, url, hostname, port, idPrefix, heartbeatInterval),
new ClientParameters(user, password, null, hostname, port, idPrefix, heartbeatInterval),
new ClientParameters(user, password, url, null, port, idPrefix, heartbeatInterval),
new ClientParameters(user, password, url, hostname, -1, idPrefix, heartbeatInterval),
new ClientParameters(user, password, url, hostname, port, null, heartbeatInterval),
new ClientParameters(user + " ", password, url, hostname, port, idPrefix, heartbeatInterval),
new ClientParameters(user, "pass ".toCharArray(), url, hostname, port, idPrefix, heartbeatInterval),
new ClientParameters(user, password, url + " ", hostname, port, idPrefix, heartbeatInterval),
new ClientParameters(user, password, url, hostname + " ", port, idPrefix, heartbeatInterval),
new ClientParameters(user, password, url, hostname, port + 1, idPrefix, heartbeatInterval),
new ClientParameters(user, password, url, hostname, port , " ", heartbeatInterval),
new ClientParameters(user, password, url, hostname, port, idPrefix, heartbeatInterval+1)
);
//Verify the other constructors
cp = new ClientParameters(user, password, url, hostname, port, idPrefix);
assertCP(cp, user, password, url, hostname, port, idPrefix, ClientParameters.DEFAULT_HEARTBEAT_INTERVAL);
cp = new ClientParameters(user, password, url, hostname, port);
assertCP(cp, user, password, url, hostname, port, null, ClientParameters.DEFAULT_HEARTBEAT_INTERVAL);
}
private void assertCP(ClientParameters inCp, String inUser,
char[] inPassword, String inUrl,
String inHostname, int inPort, String inIDPrefix,
int heartbeatInterval) {
assertEquals(inUser, inCp.getUsername());
assertArrayEquals(inPassword, inCp.getPassword());
assertEquals(inUrl, inCp.getURL());
assertEquals(inHostname, inCp.getHostname());
assertEquals(inPort, inCp.getPort());
assertEquals(inIDPrefix, inCp.getIDPrefix());
assertEquals(heartbeatInterval, inCp.getHeartbeatInterval());
}
}