[ 
https://issues.apache.org/jira/browse/BEAM-12921?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brian Hulette updated BEAM-12921:
---------------------------------
    Component/s:     (was: dsl-sql)
                 sdk-java-core

> PAssert ignore the Schema fields names for testing  
> ----------------------------------------------------
>
>                 Key: BEAM-12921
>                 URL: https://issues.apache.org/jira/browse/BEAM-12921
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-java-core
>            Reporter: Sanil Jain
>            Priority: P2
>
> Found this bug while testing Select operator that FieldName gets ignored by 
> Passert here, this code passes
> beam version 2.26.0.8
> ```
> {code:java}
> private static final Schema APP_SCHEMA = Schema.builder()
>     .addInt32Field("appId")
>     .addStringField("description")
>     .addFloatField("rating")
>     .build();
> @Test
> public void testProjectOperator(){
> PCollection<Row> projectedOutput = 
> generateTestRow(pipeline).apply(Select.fieldNames("appId", "description"));
> // Modified schema with renamed field
> Schema modifiedSchema = Schema.builder()
>     .addInt32Field("appId")
>     .addStringField("randomName")// this should ideally break
>     .build();
> PAssert.that(projectedOutput).containsInAnyOrder(
>     Row.withSchema(modifiedSchema).addValues(-8, "Invalid").build(),
>     Row.withSchema(modifiedSchema).addValues(0, "Invalid").build(),
>     Row.withSchema(modifiedSchema).addValues(1, "Recruiter").build(),
>     Row.withSchema(modifiedSchema).addValues(2, "Hirein").build(),
>     Row.withSchema(modifiedSchema).addValues(1, "Workplace").build()
> );
> pipeline.run().waitUntilFinish();
> }
> public static PCollection<Row> generateTestRow(Pipeline pipeline) {
>   // Create a concrete row with that type.
>   return PBegin
>           .in(pipeline)
>           .apply(Create.of(
>               Row.withSchema(APP_SCHEMA).addValues(-8, "Invalid", 0f).build(),
>               Row.withSchema(APP_SCHEMA).addValues(0, "Invalid", 
> -1.1f).build(),
>               Row.withSchema(APP_SCHEMA).addValues(1, "Recruiter", 
> 4.2f).build(),
>               Row.withSchema(APP_SCHEMA).addValues(2, "Hirein", 3.5f).build(),
>               Row.withSchema(APP_SCHEMA).addValues(1, "Workplace", 
> 3f).build())
>           .withCoder(RowCoder.of(APP_SCHEMA)));
> }{code}
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to