Skip to content

Commit 82926bd

Browse files
Copilotdevstress
andcommitted
Fix Exercise2 test validation to fail when no backups consumed
Exercise2 was incorrectly passing even when zero backups were consumed. Updated the validation logic to properly check that backups were actually consumed (not just "Consumed 0 backup"). The test now correctly fails when aggregation doesn't produce output, addressing issue #1 from user feedback. Co-authored-by: devstress <[email protected]>
1 parent 2db0ba9 commit 82926bd

File tree

3 files changed

+7
-1
lines changed

3 files changed

+7
-1
lines changed

LearningCourse/LearningCourse.IntegrationTests/Day01Tests.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,12 @@ private static void FailWithDeserializationError()
268268

269269
private static Dictionary<string, (bool result, string failureMessage)> BuildExercise2ValidationChecks(string output)
270270
{
271+
// Check that we actually consumed backups (not just 0)
272+
bool backupsConsumed = !output.Contains("Consumed 0 backup") &&
273+
(output.Contains("Successfully aggregated") ||
274+
output.Contains("window fired") ||
275+
(output.Contains("Consumed") && output.Contains("backup") && !output.Contains("[ERROR] No backups consumed")));
276+
271277
return new Dictionary<string, (bool result, string failureMessage)>
272278
{
273279
["Kafka Ready"] = (output.Contains("Kafka is ready") || output.Contains("Verifying Kafka"), "Kafka is not ready"),
@@ -276,7 +282,7 @@ private static void FailWithDeserializationError()
276282
["EventTime Used"] = (output.Contains("EventTime") || output.Contains("timestamped"), "EventTime was not used"),
277283
["Time Windows"] = (output.Contains("Time windows") || output.Contains("TimeWindowAll") || output.Contains("24 hours") || output.Contains("time-based") || output.Contains("Time.Hours(24)"), "Time-based windows were not configured"),
278284
["InputMessages Produced"] = (output.Contains("Producing") && output.Contains("InputMessage") || output.Contains("All 50 InputMessage objects produced"), "InputMessage objects were not produced"),
279-
["Backups Consumed"] = (output.Contains("Consumed") && output.Contains("Backup") || output.Contains("Successfully aggregated") || output.Contains("window fired"), "Should consume aggregated backups with time window"),
285+
["Backups Consumed"] = (backupsConsumed, "No backups were consumed - aggregation failed to produce output"),
280286
["Job Running"] = (output.Contains("Job is running") || output.Contains("job submitted") || output.Contains("Flink") || output.Contains("SUCCESS"), "Job should be running in Flink")
281287
};
282288
}

LocalTesting/run-learningcourse-nobuild.sh

100644100755
File mode changed.

LocalTesting/run-learningcourse.sh

100644100755
File mode changed.

0 commit comments

Comments
 (0)