package org.jooby.cassandra;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class ConnectionStringTest {
@Test
public void defaults() {
ConnectionString cstr = ConnectionString.parse("cassandra://localhost/dba");
assertEquals("cassandra://localhost:9042/dba", cstr.toString());
assertArrayEquals(new String[]{"localhost" }, cstr.contactPoints());
assertEquals("dba", cstr.keyspace());
assertEquals(9042, cstr.port());
}
@Test
public void multipleHosts() {
ConnectionString cstr = ConnectionString.parse("cassandra://host1, host2/dba");
assertEquals("cassandra://host1,host2:9042/dba", cstr.toString());
assertArrayEquals(new String[]{"host1", "host2" }, cstr.contactPoints());
assertEquals("dba", cstr.keyspace());
assertEquals(9042, cstr.port());
}
@Test
public void successCustomHostPort() {
ConnectionString cstr = ConnectionString.parse("cassandra://127.0.0.1:6780/db");
assertEquals("cassandra://127.0.0.1:6780/db", cstr.toString());
assertArrayEquals(new String[]{"127.0.0.1" }, cstr.contactPoints());
assertEquals("db", cstr.keyspace());
assertEquals(6780, cstr.port());
}
@Test(expected = IllegalArgumentException.class)
public void unknownSchema() {
ConnectionString.parse("jdbc://localhost/dba");
}
@Test(expected = IllegalArgumentException.class)
public void invalidUrl() {
ConnectionString.parse("cassandra://localhost");
}
@Test(expected = IllegalArgumentException.class)
public void multiplePorts() {
ConnectionString.parse("cassandra://host1:9042,host2:9043/db");
}
}