-
Notifications
You must be signed in to change notification settings - Fork 51
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
- Loading branch information
Showing
31 changed files
with
553 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
22 changes: 22 additions & 0 deletions
22
management-api-agent-3.x/src/test/java/com/datastax/mgmtapi/rpc/ObjectSerializer3xTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
/* | ||
* Copyright DataStax, Inc. | ||
* | ||
* Please see the included license file for details. | ||
*/ | ||
package com.datastax.mgmtapi.rpc; | ||
|
||
import static org.assertj.core.api.Assertions.assertThat; | ||
|
||
public class ObjectSerializer3xTest extends ObjectSerializerTestBase<ObjectSerializer3x<Example>> { | ||
|
||
@Override | ||
protected ObjectSerializer3x<Example> createExampleSerializer() { | ||
return new ObjectSerializer3x<>(Example.class); | ||
} | ||
|
||
@Override | ||
protected String getCqlType(ObjectSerializer3x<Example> serializer, String fieldName) { | ||
assertThat(serializer.serializers).containsKey(fieldName); | ||
return serializer.serializers.get(fieldName).type.toString(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
23 changes: 23 additions & 0 deletions
23
...ement-api-agent-4.1.x/src/test/java/com/datastax/mgmtapi/rpc/ObjectSerializer41xTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
/* | ||
* Copyright DataStax, Inc. | ||
* | ||
* Please see the included license file for details. | ||
*/ | ||
package com.datastax.mgmtapi.rpc; | ||
|
||
import static org.assertj.core.api.Assertions.assertThat; | ||
|
||
public class ObjectSerializer41xTest | ||
extends ObjectSerializerTestBase<ObjectSerializer41x<Example>> { | ||
|
||
@Override | ||
protected ObjectSerializer41x<Example> createExampleSerializer() { | ||
return new ObjectSerializer41x<>(Example.class); | ||
} | ||
|
||
@Override | ||
protected String getCqlType(ObjectSerializer41x<Example> serializer, String fieldName) { | ||
assertThat(serializer.serializers).containsKey(fieldName); | ||
return serializer.serializers.get(fieldName).type.toString(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
22 changes: 22 additions & 0 deletions
22
management-api-agent-4.x/src/test/java/com/datastax/mgmtapi/rpc/ObjectSerializer4xTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
/* | ||
* Copyright DataStax, Inc. | ||
* | ||
* Please see the included license file for details. | ||
*/ | ||
package com.datastax.mgmtapi.rpc; | ||
|
||
import static org.assertj.core.api.Assertions.assertThat; | ||
|
||
public class ObjectSerializer4xTest extends ObjectSerializerTestBase<ObjectSerializer4x<Example>> { | ||
|
||
@Override | ||
protected ObjectSerializer4x<Example> createExampleSerializer() { | ||
return new ObjectSerializer4x<>(Example.class); | ||
} | ||
|
||
@Override | ||
protected String getCqlType(ObjectSerializer4x<Example> serializer, String fieldName) { | ||
assertThat(serializer.serializers).containsKey(fieldName); | ||
return serializer.serializers.get(fieldName).type.toString(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
23 changes: 23 additions & 0 deletions
23
...ement-api-agent-5.0.x/src/test/java/com/datastax/mgmtapi/rpc/ObjectSerializer50xTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
/* | ||
* Copyright DataStax, Inc. | ||
* | ||
* Please see the included license file for details. | ||
*/ | ||
package com.datastax.mgmtapi.rpc; | ||
|
||
import static org.assertj.core.api.Assertions.assertThat; | ||
|
||
public class ObjectSerializer50xTest | ||
extends ObjectSerializerTestBase<ObjectSerializer50x<Example>> { | ||
|
||
@Override | ||
protected ObjectSerializer50x<Example> createExampleSerializer() { | ||
return new ObjectSerializer50x<>(Example.class); | ||
} | ||
|
||
@Override | ||
protected String getCqlType(ObjectSerializer50x<Example> serializer, String fieldName) { | ||
assertThat(serializer.serializers).containsKey(fieldName); | ||
return serializer.serializers.get(fieldName).type.toString(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
18 changes: 18 additions & 0 deletions
18
management-api-agent-common/src/main/java/com/datastax/mgmtapi/Table.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
/* | ||
* Copyright DataStax, Inc. | ||
* | ||
* Please see the included license file for details. | ||
*/ | ||
package com.datastax.mgmtapi; | ||
|
||
import java.util.Map; | ||
|
||
public class Table { | ||
public final String name; | ||
public final Map<String, String> compaction; | ||
|
||
public Table(String name, Map<String, String> compaction) { | ||
this.name = name; | ||
this.compaction = compaction; | ||
} | ||
} |
17 changes: 17 additions & 0 deletions
17
management-api-agent-common/src/test/java/com/datastax/mgmtapi/rpc/Example.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
/* | ||
* Copyright DataStax, Inc. | ||
* | ||
* Please see the included license file for details. | ||
*/ | ||
package com.datastax.mgmtapi.rpc; | ||
|
||
import java.util.List; | ||
import java.util.Map; | ||
|
||
/** Example class used for serializer tests. */ | ||
@SuppressWarnings("unused") | ||
public class Example { | ||
public String stringField; | ||
public Map<String, String> mapField; | ||
public List<List<Integer>> listField; | ||
} |
46 changes: 46 additions & 0 deletions
46
...ent-api-agent-common/src/test/java/com/datastax/mgmtapi/rpc/ObjectSerializerTestBase.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
/* | ||
* Copyright DataStax, Inc. | ||
* | ||
* Please see the included license file for details. | ||
*/ | ||
package com.datastax.mgmtapi.rpc; | ||
|
||
import static org.assertj.core.api.Assertions.assertThat; | ||
|
||
import org.junit.Test; | ||
|
||
/** A template for ObjectSerializer tests in implementation modules. */ | ||
public abstract class ObjectSerializerTestBase<S extends ObjectSerializer<Example>> { | ||
|
||
/** Create a concrete serializer for the {@link Example} class. */ | ||
protected abstract S createExampleSerializer(); | ||
|
||
/** Return the CQL type that the serializer inferred for a particular field. */ | ||
protected abstract String getCqlType(S serializer, String fieldName); | ||
|
||
@Test | ||
public void testFieldTypes() { | ||
S exampleSerializer = createExampleSerializer(); | ||
|
||
expectType(exampleSerializer, "stringField", "org.apache.cassandra.db.marshal.UTF8Type"); | ||
expectType( | ||
exampleSerializer, | ||
"mapField", | ||
"org.apache.cassandra.db.marshal.FrozenType(" | ||
+ "org.apache.cassandra.db.marshal.MapType(" | ||
+ "org.apache.cassandra.db.marshal.UTF8Type," | ||
+ "org.apache.cassandra.db.marshal.UTF8Type))"); | ||
expectType( | ||
exampleSerializer, | ||
"listField", | ||
"org.apache.cassandra.db.marshal.FrozenType(" | ||
+ "org.apache.cassandra.db.marshal.ListType(" | ||
+ "org.apache.cassandra.db.marshal.ListType(" | ||
+ "org.apache.cassandra.db.marshal.Int32Type)))"); | ||
} | ||
|
||
private void expectType(S exampleSerializer, String fieldName, String expectedType) { | ||
String actualType = getCqlType(exampleSerializer, fieldName); | ||
assertThat(actualType).isEqualTo(expectedType); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.