mirror of https://github.com/apache/cassandra
test to expose missing dependencies
Patch by eevans; reviewed by Dave Brosius for CASSANDRA-3665
This commit is contained in:
parent
2a1ec27e26
commit
32075c4aec
25
build.xml
25
build.xml
|
|
@ -1038,6 +1038,31 @@ url=${svn.entry.url}?pathrev=${svn.entry.commit.revision}
|
|||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<!--
|
||||
This test target is a bit different. It's purpose is to exercise the
|
||||
clientutil jar in order to expose any new dependencies. For that
|
||||
reason we use the classes from the jar, and a carefully constructed
|
||||
classpath which only contains what we expect users to need.
|
||||
-->
|
||||
<target name="test-clientutil-jar" depends="build-test,jar" description="Test clientutil jar">
|
||||
<junit>
|
||||
<test name="org.apache.cassandra.cql.jdbc.ClientUtilsTest" />
|
||||
<formatter type="brief" usefile="false" />
|
||||
<classpath>
|
||||
<pathelement location="${test.classes}" />
|
||||
<pathelement location="${build.dir}/${ant.project.name}-clientutil-${version}.jar" />
|
||||
|
||||
<fileset dir="${build.dir.lib}">
|
||||
<include name="**/junit*.jar" />
|
||||
</fileset>
|
||||
<fileset dir="${build.lib}">
|
||||
<include name="**/guava*.jar" />
|
||||
<include name="**/commons-lang*.jar" />
|
||||
</fileset>
|
||||
</classpath>
|
||||
</junit>
|
||||
</target>
|
||||
|
||||
<target name="test" depends="build-test" description="Execute unit tests">
|
||||
<testmacro suitename="unit" inputdir="${test.unit.src}" timeout="60000">
|
||||
<jvmarg value="-Dlegacy-sstable-root=${test.data}/legacy-sstables"/>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,48 @@
|
|||
package org.apache.cassandra.cql.jdbc;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import java.net.InetAddress;
|
||||
import java.net.UnknownHostException;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.sql.Date;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.apache.cassandra.utils.UUIDGen;
|
||||
import org.junit.Test;
|
||||
|
||||
public class ClientUtilsTest
|
||||
{
|
||||
/** Exercises the classes in the clientutil jar to expose missing dependencies. */
|
||||
@Test
|
||||
public void test() throws UnknownHostException
|
||||
{
|
||||
JdbcAscii.instance.compose(JdbcAscii.instance.decompose("string"));
|
||||
JdbcBoolean.instance.compose(JdbcBoolean.instance.decompose(true));
|
||||
JdbcBytes.instance.compose(JdbcBytes.instance.decompose(ByteBuffer.wrap("string".getBytes())));
|
||||
JdbcDate.instance.compose(JdbcDate.instance.decompose(new Date(System.currentTimeMillis())));
|
||||
JdbcDecimal.instance.compose(JdbcDecimal.instance.decompose(new BigDecimal(1)));
|
||||
JdbcDouble.instance.compose(JdbcDouble.instance.decompose(new Double(1.0d)));
|
||||
JdbcFloat.instance.compose(JdbcFloat.instance.decompose(new Float(1.0f)));
|
||||
JdbcInt32.instance.compose(JdbcInt32.instance.decompose(1));
|
||||
JdbcInteger.instance.compose(JdbcInteger.instance.decompose(new BigInteger("1")));
|
||||
JdbcLong.instance.compose(JdbcLong.instance.decompose(1L));
|
||||
JdbcUTF8.instance.compose(JdbcUTF8.instance.decompose("string"));
|
||||
|
||||
// UUIDGen
|
||||
UUID uuid = UUIDGen.makeType1UUIDFromHost(InetAddress.getLocalHost());
|
||||
JdbcTimeUUID.instance.compose(JdbcTimeUUID.instance.decompose(uuid));
|
||||
JdbcUUID.instance.compose(JdbcUUID.instance.decompose(uuid));
|
||||
JdbcLexicalUUID.instance.compose(JdbcLexicalUUID.instance.decompose(uuid));
|
||||
|
||||
// Raise a MarshalException
|
||||
try
|
||||
{
|
||||
JdbcLexicalUUID.instance.getString(ByteBuffer.wrap("notauuid".getBytes()));
|
||||
}
|
||||
catch (MarshalException me)
|
||||
{
|
||||
// Success
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue