private static IStatelessServiceHostDelegateReplicator MockDelegateReplicatorForEvent(
            Action mockDelegate,
            StatelessServiceLifecycleEvent mockEvent)
        {
            var mockDelegateReplicator = new Mock <IStatelessServiceHostDelegateReplicator>();

            mockDelegateReplicator.Setup(instance => instance.ReplicateFor(It.IsAny <IStatelessService>()))
            .Returns(
                new StatelessServiceDelegate(
                    () =>
            {
                var mockTask            = new TaskCompletionSource <bool>();
                var mockDelegateInvoker = new Mock <IStatelessServiceHostDelegateInvoker>();
                mockDelegateInvoker
                .Setup(instance => instance.InvokeAsync(It.IsAny <IStatelessServiceDelegateInvocationContext>(), It.IsAny <CancellationToken>()))
                .Callback(
                    () =>
                {
                    mockDelegate();
                    mockTask.SetResult(true);
                })
                .Returns(mockTask.Task);

                return(mockDelegateInvoker.Object);
            },
                    mockEvent));

            return(mockDelegateReplicator.Object);
        }
 public StatelessServiceDelegate(
     Func <IStatelessServiceHostDelegateInvoker> delegateInvokerFunc,
     StatelessServiceLifecycleEvent @event)
 {
     this.Event = @event;
     this.CreateDelegateInvokerFunc = delegateInvokerFunc
                                      ?? throw new ArgumentNullException(nameof(delegateInvokerFunc));
 }
        public static IStatelessServiceHostDelegateReplicaTemplate UseEvent(
            this IStatelessServiceHostDelegateReplicaTemplate @this,
            StatelessServiceLifecycleEvent @event)
        {
            @this.ConfigureObject(
                configurator => configurator.UseEvent(@event));

            return(@this);
        }
 public StatelessServiceDelegateInvocationContext(
     StatelessServiceLifecycleEvent @event)
 {
     this.Event = @event;
 }
Exemplo n.º 5
0
 public void UseEvent(
     StatelessServiceLifecycleEvent @event)
 {
     this.Event = @event;
 }