public async Task Can_cancel_external_event()
        {
            var client = new InMemoryOrchestrationClient(typeof(Funcs).Assembly, _services);

            var input = TimeSpanInput.FromMinutes(1);
            var ct    = new CancellationTokenSource();

            ct.Token.Register(() =>
            {
                Console.WriteLine("cancelled");
            });
            TimeSpanInput.Token = ct.Token;

            var instanceId = await client
                             .StartNewAsync(nameof(Funcs.DurableFunctionWithExternalEventTimeoutCancel), input);

            await Task.Delay(10);

            ct.Cancel(false);

            await client.WaitForOrchestrationToReachStatus(instanceId, OrchestrationRuntimeStatus.Completed);

            var status = await client.GetStatusAsync(instanceId);

            TestUtil.LogHistory(status, Console.Out);
            Assert.AreEqual(OrchestrationRuntimeStatus.Completed, status.RuntimeStatus);
        }
Exemplo n.º 2
0
        private Control RenderVideoTime(VideoTime videoTime)
        {
            var input = new TimeSpanInput
            {
                Name   = videoTime.Name,
                Margin = ControlMargin,
            };

            input.ViewModel.StartTime = videoTime.StartTime;
            input.ViewModel.EndTime   = videoTime.EndTime;
            return(input);
        }
        public async Task Can_timeshift_external_event_timeout()
        {
            var client     = new InMemoryOrchestrationClient(typeof(Funcs).Assembly, _services);
            var instanceId = await client
                             .StartNewAsync(nameof(Funcs.DurableFunctionWithExternalEventTimeout), TimeSpanInput.FromMinutes(1));

            await client.Timeshift(instanceId, TimeSpan.FromMinutes(2));

            await client.WaitForOrchestrationToReachStatus(instanceId, OrchestrationRuntimeStatus.Failed);

            var status = await client.GetStatusAsync(instanceId);

            TestUtil.LogHistory(status, Console.Out, true);
            Assert.AreEqual(OrchestrationRuntimeStatus.Failed, status.RuntimeStatus);
        }
Exemplo n.º 4
0
 internal static string ProcessVideoTime(string argument, string match, string subname, TimeSpanInput videoTime)
 {
     if (subname == nameof(TimeSpanInputViewModel.EndTime))
     {
         if (videoTime.ViewModel.EndTime.TotalSeconds < 0)
         {
             return(string.Empty);
         }
         else
         {
             TimeSpan duration = videoTime.ViewModel.EndTime - videoTime.ViewModel.StartTime;
             return(argument.Replace(match, duration.TotalSeconds.ToString(CultureInfo.InvariantCulture)));
         }
     }
     if (subname == nameof(TimeSpanInputViewModel.StartTime))
     {
         return(argument.Replace(match, videoTime.ViewModel.StartTime.TotalSeconds.ToString(CultureInfo.InvariantCulture)));
     }
     return(string.Empty);
 }