You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Beam JIRA Bot (Jira)" <ji...@apache.org> on 2022/01/12 18:28:01 UTC
[jira] [Commented] (BEAM-12921) PAssert ignore the Schema fields names for testing
[ https://issues.apache.org/jira/browse/BEAM-12921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17474822#comment-17474822 ]
Beam JIRA Bot commented on BEAM-12921:
--------------------------------------
This issue is P2 but has been unassigned without any comment for 60 days so it has been labeled "stale-P2". If this issue is still affecting you, we care! Please comment and remove the label. Otherwise, in 14 days the issue will be moved to P3.
Please see https://beam.apache.org/contribute/jira-priorities/ for a detailed explanation of what these priorities mean.
> 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
> Labels: stale-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.20.1#820001)