feat(datasync): add Schedules property to PipelineConfig
Add PipelineSchedules? Schedules parameter to PipelineConfig record between SyncModes and Transformers for new schedule-based configuration. The existing SyncModes property is now nullable for backward compatibility during the transition to the new schedule system.
This commit is contained in:
@@ -67,6 +67,28 @@ public class PipelinesRootTests
|
||||
root.Pipelines["TestTable"].Destination.Table.ShouldBe("TestTable");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void PipelineConfig_WithSchedules_ParsesCorrectly()
|
||||
{
|
||||
var config = new PipelineConfig(
|
||||
new SourceConfig("jde", "SELECT 1", null, null),
|
||||
null, // Old SyncModes - deprecated
|
||||
new PipelineSchedules
|
||||
{
|
||||
Mass = new ScheduleConfig { PrePurge = true, ReIndex = true },
|
||||
Daily = new ScheduleConfig { Enabled = true },
|
||||
Hourly = new ScheduleConfig { Enabled = false }
|
||||
},
|
||||
null,
|
||||
new DestinationConfig("TestTable", ["Id"], null),
|
||||
null,
|
||||
null);
|
||||
|
||||
config.Schedules.ShouldNotBeNull();
|
||||
config.Schedules!.Mass!.PrePurge.ShouldBeTrue();
|
||||
config.Schedules!.Hourly!.Enabled.ShouldBeFalse();
|
||||
}
|
||||
|
||||
private static PipelineConfig CreateMinimalPipelineConfig()
|
||||
{
|
||||
return new PipelineConfig(
|
||||
@@ -76,7 +98,8 @@ public class PipelinesRootTests
|
||||
["mass"] = new SyncModeConfig(null, true, true),
|
||||
["incremental"] = new SyncModeConfig("-1d")
|
||||
},
|
||||
null,
|
||||
null, // Schedules
|
||||
null, // Transformers
|
||||
new DestinationConfig("TestTable", ["Id"], null),
|
||||
null,
|
||||
null);
|
||||
|
||||
Reference in New Issue
Block a user