@Test
@Category(NeedsRunner.class)
public void testMismatchingKeys() {
PCollection<Row> pc1 =
pipeline
.apply(
"Create1",
Create.of(Row.withSchema(CG_SCHEMA_1).addValues("user1", 1, "us").build()))
.setRowSchema(CG_SCHEMA_1);
PCollection<Row> pc2 =
pipeline
.apply(
"Create2",
Create.of(Row.withSchema(CG_SCHEMA_1).addValues("user1", 9, "us").build()))
.setRowSchema(CG_SCHEMA_1);
TupleTag<Row> pc1Tag = new TupleTag<>("pc1");
TupleTag<Row> pc2Tag = new TupleTag<>("pc2");
thrown.expect(IllegalStateException.class);
PCollection<KV<Row, Row>> joined =
PCollectionTuple.of(pc1Tag, pc1)
.and(pc2Tag, pc2)
.apply("CoGroup", CoGroup.byFieldNames(pc1Tag, "user").byFieldNames(pc2Tag, "count"));
pipeline.run();
}