public void NoWaitForSupplied_IsNotValid() { Assert.Throws <ValidationException>(() => StepFunctionBuilder.StateMachine() .StartAt("Initial") .State("Initial", StepFunctionBuilder.WaitState() .Transition(StepFunctionBuilder.End())) .Build()); }
public void WaitForSecondsPath_InvalidReferencePath_IsNotValid() { Assert.Throws <ValidationException>(() => StepFunctionBuilder.StateMachine() .StartAt("Initial") .State("Initial", StepFunctionBuilder.WaitState() .WaitFor(StepFunctionBuilder.SecondsPath("$.Foo[*]")) .Transition(StepFunctionBuilder.End())) .Build()); }
public void WaitForSecondsPath_MissingPath_IsNotValid() { Assert.Throws <ValidationException>(() => StepFunctionBuilder.StateMachine() .StartAt("Initial") .State("Initial", StepFunctionBuilder.WaitState() .WaitFor(StepFunctionBuilder.SecondsPath(null)) .Transition(StepFunctionBuilder.End())) .Build()); }
public void WaitForTimestampPath_InvalidJsonPath_IsNotValid() { Assert.Throws <ValidationException>(() => StepFunctionBuilder.StateMachine() .StartAt("Initial") .State("Initial", StepFunctionBuilder.WaitState() .WaitFor(StepFunctionBuilder.TimestampPath("$.")) .Transition(StepFunctionBuilder.End())) .Build()); }
public void InvalidTransitionInWaitState_IsNotValid() { Assert.Throws <ValidationException>(() => StepFunctionBuilder.StateMachine() .StartAt("Initial") .State("Initial", StepFunctionBuilder.WaitState() .WaitFor(StepFunctionBuilder.Seconds(10)) .Transition(StepFunctionBuilder.Next("NoSuchState"))) .Build()); }
public void SingleWaitState_WaitUntilTimestampWithPath() { StateMachine stateMachine = StepFunctionBuilder.StateMachine() .StartAt("InitialState") .State("InitialState", StepFunctionBuilder.WaitState() .WaitFor(StepFunctionBuilder.TimestampPath("$.timestamp")) .Transition(StepFunctionBuilder.End())) .Build(); AssertStateMachine(stateMachine, "SingleWaitStateWithTimestampWithPath.json"); }
public void SingleWaitState_WaitUntilTimestamp() { StateMachine stateMachine = StepFunctionBuilder.StateMachine() .StartAt("InitialState") .State("InitialState", StepFunctionBuilder.WaitState() .WaitFor(StepFunctionBuilder.Timestamp(DateTime.Parse("2016-03-14T01:59:00Z").ToUniversalTime())) .Transition(StepFunctionBuilder.End())) .Build(); AssertStateMachine(stateMachine, "SingleWaitStateWithTimestamp.json"); }
public void SingleWaitState_WaitUntilTimestampWithTimezone() { var epochMilli = DateTime.Parse("2016-03-14T01:59:00.123-08:00").ToUniversalTime(); StateMachine stateMachine = StepFunctionBuilder.StateMachine() .StartAt("InitialState") .State("InitialState", StepFunctionBuilder.WaitState() .WaitFor(StepFunctionBuilder.Timestamp(epochMilli)) .Transition(StepFunctionBuilder.End())) .Build(); AssertStateMachine(stateMachine, "SingleWaitStateWithTimestampWithTimezone.json"); }
public void SingleWaitState_WaitForSeconds() { StateMachine stateMachine = StepFunctionBuilder.StateMachine() .StartAt("InitialState") .State("InitialState", StepFunctionBuilder.WaitState() .Comment("My wait state") .InputPath("$.input") .OutputPath("$.output") .WaitFor(StepFunctionBuilder.Seconds(10)) .Transition(StepFunctionBuilder.Next("NextState"))) .State("NextState", StepFunctionBuilder.SucceedState()) .Build(); AssertStateMachine(stateMachine, "SingleWaitStateWithSeconds.json"); }