bmeriaux commented on a change in pull request #6735: [FLINK-9126] New
CassandraPojoInputFormat to output data as a custom annotated Cassandra Pojo
URL: https://github.com/apache/flink/pull/6735#discussion_r221747948
##########
File path:
flink-connectors/flink-connector-cassandra/src/test/java/org/apache/flink/streaming/connectors/cassandra/CassandraConnectorITCase.java
##########
@@ -470,6 +477,41 @@ public void testCassandraTableSink() throws Exception {
Assert.assertTrue("The input data was not completely written to
Cassandra", input.isEmpty());
}
+ @Test
+ public void testCassandraBatchPojoFormat() throws Exception {
+
+ session.execute(CREATE_TABLE_QUERY.replace(TABLE_NAME_VARIABLE,
"batches"));
+
+ CassandraPojoSink<CustomCassandraAnnotatedPojo> sink = new
CassandraPojoSink<>(CustomCassandraAnnotatedPojo.class, builder);
+ sink.open(new Configuration());
+
+ List<CustomCassandraAnnotatedPojo>
customCassandraAnnotatedPojos = IntStream.range(0, 20)
+ .mapToObj(x -> new
CustomCassandraAnnotatedPojo(UUID.randomUUID().toString(), x, 0))
+ .collect(Collectors.toList());
+
+ customCassandraAnnotatedPojos.forEach(sink::send);
+ sink.close();
+
+ InputFormat<CustomCassandraAnnotatedPojo, InputSplit> source =
new CassandraPojoInputFormat<>(SELECT_DATA_QUERY.replace(TABLE_NAME_VARIABLE,
"batches"), builder, CustomCassandraAnnotatedPojo.class);
+ source.configure(new Configuration());
+ source.open(null);
+
+ List<CustomCassandraAnnotatedPojo> result = new ArrayList<>();
+ while (!source.reachedEnd()) {
+ CustomCassandraAnnotatedPojo temp =
source.nextRecord(null);
+ result.add(temp);
+ }
+
+ source.close();
+ Assert.assertEquals(20, result.size());
+
result.sort(Comparator.comparingInt(CustomCassandraAnnotatedPojo::getCounter));
+
customCassandraAnnotatedPojos.sort(Comparator.comparingInt(CustomCassandraAnnotatedPojo::getCounter));
+
+ for (int i = 0; i < result.size(); i++) {
+ assertThat(result.get(i),
samePropertyValuesAs(customCassandraAnnotatedPojos.get(i)));
Review comment:
it's a reflex for me to explicitly sort collection before assertions, i
think it is more explicit/easier to understand, but i can remove it if it is
not in standard :)
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services