agam-99 commented on PR #4191:
URL: https://github.com/apache/gobblin/pull/4191#issuecomment-4439853299
Added unit tests covering all three sites this PR plumbs
`storeInsertTimeMillis` through (`3300098a9`).
**Tests added (7 new, 3 fixed):**
- `LaunchDagProcTest`
- `launchDagStampsStoreInsertTimeMillisWhenProvided` — asserts
`initialize()` stamps `DAG_ACTION_LAUNCH_STORE_INSERT_TIME_MILLIS_KEY` onto the
`FlowSpec` config when `LeaseParams` provides a non-UNKNOWN value
- `launchDagSkipsStoreInsertTimeMillisStampWhenUnknown` — asserts the key
is **not** added when the sentinel is in play
- Existing 3 tests updated to construct a real `LeaseObtainedStatus` via a
`buildLaunchDagTask` helper (previously they passed `null`, which NPE'd after
this PR introduced `getLeaseParams()` into `initialize()`)
- `MysqlMultiActiveLeaseArbiterTest`
- `testStoreInsertTimeMillisPreservedThroughConsensus` exercises all three
arbiter consensus construction sites: fresh-lease (`selectInfoResult` path),
CASE 2 (within-epsilon, same event valid), CASE 3 (distinct event, lease
valid). Asserts the consensus `LeaseParams` preserves the inbound
`storeInsertTimeMillis` instead of defaulting to UNKNOWN.
- `DagActionReminderSchedulerTest`
- `testCreateReminderJobDetailStashesStoreInsertTimeMillis` — `JobDataMap`
captures the timestamp when scheduling
- `testReminderJobExecuteCarriesStoreInsertTimeMillis` — full Quartz
round-trip: `ReminderJob.execute()` reconstructs `LeaseParams` from the
`JobDataMap` and the value survives
- `testReminderJobExecuteFallsBackToUnknownWhenKeyAbsent` —
backwards-compat: reminders scheduled by older code without the new key fall
back to UNKNOWN rather than throwing
**Where CI runs them:**
`.github/workflows/build_and_test.yaml` `run_tests` job, `Service Tests`
matrix slot — exercises everything under `gobblin-service` against a real MySQL
service container. (My current run shows `action_required` since this is a
first-time contributor PR — would appreciate a maintainer triggering it so
reviewers can see the results.)
Locally verified the reminder-scheduler tests pass; arbiter/launch-dag-proc
tests require MySQL via testcontainers so they'll run for the first time on CI.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]