@Test public void getEnvironmentWindowIntoKnown() throws IOException { SdkComponents components = SdkComponents.create(); components.registerEnvironment(Environments.createDockerEnvironment("java")); WindowIntoPayload payload = WindowIntoPayload.newBuilder() .setWindowFn( WindowingStrategyTranslation.toProto( FixedWindows.of(Duration.standardMinutes(5L)), components)) .build(); RehydratedComponents rehydratedComponents = RehydratedComponents.forComponents(components.toComponents()); PTransform builder = PTransform.newBuilder() .setSpec( FunctionSpec.newBuilder() .setUrn(PTransformTranslation.ASSIGN_WINDOWS_TRANSFORM_URN) .setPayload(payload.toByteString()) .build()) .build(); Environment env = Environments.getEnvironment(builder, rehydratedComponents).get(); assertThat( env, equalTo( components .toComponents() .getEnvironmentsOrThrow(payload.getWindowFn().getEnvironmentId()))); }
components.registerEnvironment(Environments.createDockerEnvironment("java")); WindowIntoPayload payload = WindowIntoPayload.newBuilder() .setWindowFn( WindowingStrategyTranslation.toProto(
.setUrn(PTransformTranslation.ASSIGN_WINDOWS_TRANSFORM_URN) .setPayload( WindowIntoPayload.newBuilder() .setWindowFn(SdkFunctionSpec.newBuilder().setEnvironmentId("common")) .build()
.setUrn(PTransformTranslation.ASSIGN_WINDOWS_TRANSFORM_URN) .setPayload( WindowIntoPayload.newBuilder() .setWindowFn(SdkFunctionSpec.newBuilder().setEnvironmentId("go")) .build()
.setUrn(PTransformTranslation.FLATTEN_TRANSFORM_URN) .setPayload( WindowIntoPayload.newBuilder() .setWindowFn(SdkFunctionSpec.newBuilder().setEnvironmentId("py")) .build() .setUrn(PTransformTranslation.PAR_DO_TRANSFORM_URN) .setPayload( WindowIntoPayload.newBuilder() .setWindowFn(SdkFunctionSpec.newBuilder().setEnvironmentId("py")) .build() .setUrn(PTransformTranslation.PAR_DO_TRANSFORM_URN) .setPayload( WindowIntoPayload.newBuilder() .setWindowFn(SdkFunctionSpec.newBuilder().setEnvironmentId("py")) .build() .setUrn(PTransformTranslation.IMPULSE_TRANSFORM_URN) .setPayload( WindowIntoPayload.newBuilder() .setWindowFn(SdkFunctionSpec.newBuilder().setEnvironmentId("py")) .build() .setUrn(PTransformTranslation.IMPULSE_TRANSFORM_URN) .setPayload( WindowIntoPayload.newBuilder() .setWindowFn(SdkFunctionSpec.newBuilder().setEnvironmentId("py")) .build()
.setUrn(PTransformTranslation.ASSIGN_WINDOWS_TRANSFORM_URN) .setPayload( WindowIntoPayload.newBuilder() .setWindowFn(SdkFunctionSpec.newBuilder().setEnvironmentId("common")) .build()
.setUrn(PTransformTranslation.ASSIGN_WINDOWS_TRANSFORM_URN) .setPayload( WindowIntoPayload.newBuilder() .setWindowFn( SdkFunctionSpec.newBuilder().setEnvironmentId("common"))
.setUrn(PTransformTranslation.ASSIGN_WINDOWS_TRANSFORM_URN) .setPayload( WindowIntoPayload.newBuilder() .setWindowFn( SdkFunctionSpec.newBuilder().setEnvironmentId("py"))
.setUrn(PTransformTranslation.ASSIGN_WINDOWS_TRANSFORM_URN) .setPayload( WindowIntoPayload.newBuilder() .setWindowFn(SdkFunctionSpec.newBuilder().setEnvironmentId("common")) .build()
.setUrn(PTransformTranslation.ASSIGN_WINDOWS_TRANSFORM_URN) .setPayload( WindowIntoPayload.newBuilder() .setWindowFn( SdkFunctionSpec.newBuilder().setEnvironmentId("py"))
.setUrn(PTransformTranslation.ASSIGN_WINDOWS_TRANSFORM_URN) .setPayload( WindowIntoPayload.newBuilder() .setWindowFn( SdkFunctionSpec.newBuilder().setEnvironmentId("rare"))
.setUrn(PTransformTranslation.ASSIGN_WINDOWS_TRANSFORM_URN) .setPayload( WindowIntoPayload.newBuilder() .setWindowFn( SdkFunctionSpec.newBuilder().setEnvironmentId("rare"))
.setUrn(PTransformTranslation.ASSIGN_WINDOWS_TRANSFORM_URN) .setPayload( WindowIntoPayload.newBuilder() .setWindowFn( SdkFunctionSpec.newBuilder().setEnvironmentId("py"))
.setUrn(PTransformTranslation.ASSIGN_WINDOWS_TRANSFORM_URN) .setPayload( WindowIntoPayload.newBuilder() .setWindowFn( SdkFunctionSpec.newBuilder().setEnvironmentId("py"))
.setUrn(PTransformTranslation.ASSIGN_WINDOWS_TRANSFORM_URN) .setPayload( WindowIntoPayload.newBuilder() .setWindowFn(SdkFunctionSpec.newBuilder().setEnvironmentId("common")) .build()
public static WindowIntoPayload toProto(Window.Assign<?> transform, SdkComponents components) { return WindowIntoPayload.newBuilder() .setWindowFn(WindowingStrategyTranslation.toProto(transform.getWindowFn(), components)) .build(); }