@@ -890,6 +890,56 @@ public void testFindEventBeforeAfterTime() {
890890 .isEqualTo (mapper .valueToTree (rawEvents .get (0 )));
891891 }
892892
893+ @ Test
894+ public void testSendAndDeleteParentRunRelationshipFacet () {
895+ marquez .service .models .LineageEvent .Run run =
896+ new marquez .service .models .LineageEvent .Run (
897+ UUID .randomUUID ().toString (),
898+ marquez .service .models .LineageEvent .RunFacet .builder ()
899+ .parent (marquez .service .models .LineageEvent .ParentRunFacet .builder ()
900+ .run (marquez .service .models .LineageEvent .RunLink .builder ()
901+ .runId (UUID .randomUUID ().toString ()).build ())
902+ .job (marquez .service .models .LineageEvent .JobLink .builder ()
903+ .name ("parent" )
904+ .namespace (NAMESPACE_NAME )
905+ .build ())
906+ .build ())
907+ .build ());
908+ marquez .service .models .LineageEvent .Job job =
909+ marquez .service .models .LineageEvent .Job .builder ()
910+ .namespace (NAMESPACE_NAME )
911+ .name (JOB_NAME )
912+ .build ();
913+
914+ marquez .service .models .LineageEvent event =
915+ marquez .service .models .LineageEvent .builder ()
916+ .eventType ("START" )
917+ .eventTime (ZonedDateTime .of (2021 , 1 , 1 , 0 , 0 , 0 , 0 , ZoneId .of ("UTC" )))
918+ .producer ("testSendAndDeleteParentRunRelationshipFacet" )
919+ .run (run )
920+ .job (job )
921+ .inputs (Collections .emptyList ())
922+ .outputs (Collections .emptyList ())
923+ .build ();
924+
925+ CompletableFuture <Integer > resp = sendEvent (event );
926+ assertThat (resp .join ()).isEqualTo (201 );
927+
928+ List <Job > jobs = client .listJobs (NAMESPACE_NAME );
929+
930+ String marquezJobName = String .format ("parent.%s" , JOB_NAME );
931+
932+ assertThat (jobs .size ()).isEqualTo (2 );
933+ assertThat (jobs ).anySatisfy (returnedJob -> assertThat (returnedJob .getName ()).isEqualTo (marquezJobName ));
934+
935+ client .deleteJob (NAMESPACE_NAME , marquezJobName );
936+
937+ jobs = client .listJobs (NAMESPACE_NAME );
938+ assertThat (jobs .size ()).isEqualTo (1 );
939+ assertThat (jobs ).anySatisfy (returnedJob -> assertThat (returnedJob .getName ()).isEqualTo (marquezJobName ));
940+ }
941+
942+
893943 private CompletableFuture <Integer > sendEvent (marquez .service .models .LineageEvent event ) {
894944 return this .sendLineage (Utils .toJson (event ))
895945 .thenApply (HttpResponse ::statusCode )
0 commit comments