Exemple #1
0
 public void NoWaitForSupplied_IsNotValid()
 {
     Assert.Throws <ValidationException>(() =>
                                         StepFunctionBuilder.StateMachine()
                                         .StartAt("Initial")
                                         .State("Initial", StepFunctionBuilder.WaitState()
                                                .Transition(StepFunctionBuilder.End()))
                                         .Build());
 }
Exemple #2
0
 public void WaitForSecondsPath_InvalidReferencePath_IsNotValid()
 {
     Assert.Throws <ValidationException>(() =>
                                         StepFunctionBuilder.StateMachine()
                                         .StartAt("Initial")
                                         .State("Initial", StepFunctionBuilder.WaitState()
                                                .WaitFor(StepFunctionBuilder.SecondsPath("$.Foo[*]"))
                                                .Transition(StepFunctionBuilder.End()))
                                         .Build());
 }
Exemple #3
0
 public void WaitForSecondsPath_MissingPath_IsNotValid()
 {
     Assert.Throws <ValidationException>(() =>
                                         StepFunctionBuilder.StateMachine()
                                         .StartAt("Initial")
                                         .State("Initial", StepFunctionBuilder.WaitState()
                                                .WaitFor(StepFunctionBuilder.SecondsPath(null))
                                                .Transition(StepFunctionBuilder.End()))
                                         .Build());
 }
Exemple #4
0
 public void WaitForTimestampPath_InvalidJsonPath_IsNotValid()
 {
     Assert.Throws <ValidationException>(() =>
                                         StepFunctionBuilder.StateMachine()
                                         .StartAt("Initial")
                                         .State("Initial", StepFunctionBuilder.WaitState()
                                                .WaitFor(StepFunctionBuilder.TimestampPath("$."))
                                                .Transition(StepFunctionBuilder.End()))
                                         .Build());
 }
Exemple #5
0
 public void InvalidTransitionInWaitState_IsNotValid()
 {
     Assert.Throws <ValidationException>(() =>
                                         StepFunctionBuilder.StateMachine()
                                         .StartAt("Initial")
                                         .State("Initial", StepFunctionBuilder.WaitState()
                                                .WaitFor(StepFunctionBuilder.Seconds(10))
                                                .Transition(StepFunctionBuilder.Next("NoSuchState")))
                                         .Build());
 }
Exemple #6
0
        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");
        }
Exemple #7
0
        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");
        }
Exemple #8
0
        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");
        }
Exemple #9
0
        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");
        }