public void OnceTestHandler_DoesHaveExactlyOnce()
        {
            var handler = new OnceTestHandler();
            var reader  = HandlerMetadata.ReadExactlyOnce(handler);

            reader.Enabled.ShouldBeTrue();
        }
        public void OnceTestHandler_HasCorrectTimeout()
        {
            var handler = new OnceTestHandler();
            var reader  = HandlerMetadata.ReadExactlyOnce(handler);

            reader.GetTimeOut().ShouldBe(23);
        }
        public void OnceTestHandler_HasCorrectTimeout()
        {
            var handler = new OnceTestHandler();
            var reader  = HandlerMetadata.ReadExactlyOnce(handler);

            Assert.That(reader.GetTimeOut(), Is.EqualTo(23));
        }
        public void UnadornedHandler_DoesNotHaveExactlyOnce()
        {
            var handler = new UnadornedHandlerAsync();
            var reader  = HandlerMetadata.ReadExactlyOnce(handler);

            reader.Enabled.ShouldBeFalse();
        }
        public void OnceHandlerWithImplicitTimeoutAsync_DefaultsToMaximum()
        {
            var handler = new OnceHandlerWithImplicitTimeoutAsync();
            var reader  = HandlerMetadata.ReadExactlyOnce(handler);

            Assert.That(reader.GetTimeOut(), Is.EqualTo(int.MaxValue));
        }
        public void OnceTestHandler_DoesHaveExactlyOnce()
        {
            var handler = new OnceTestHandler();
            var reader  = HandlerMetadata.ReadExactlyOnce(handler);

            Assert.That(reader.Enabled, Is.True);
        }
        public void UnadornedHandler_DoesNotHaveExactlyOnce()
        {
            var handler = new UnadornedHandlerAsync();
            var reader  = HandlerMetadata.ReadExactlyOnce(handler);

            Assert.That(reader.Enabled, Is.False);
        }
        public void WrappedHandler_DoesHaveExactlyOnce()
        {
            var wrapped = new BlockingHandler <GenericMessage>(new OnceTestHandler());

            var reader = HandlerMetadata.ReadExactlyOnce(wrapped);

            Assert.That(reader.Enabled, Is.True);
        }
Beispiel #9
0
        private async Task HandleInternal(HandlerMetadata metadata, object @event)
        {
            var handlers = (IEnumerable <object>)_serviceProvider.GetService(metadata.HandlerType);

            foreach (var handler in handlers)
            {
                await(Task) metadata.HandlerMethod.Invoke(handler, new[] { @event });
            }
        }
        public void WrappedHandler_DoesHaveExactlyOnce()
        {
#pragma warning disable 618
            var wrapped = new BlockingHandler <GenericMessage>(new OnceTestHandler());
#pragma warning restore 618

            var reader = HandlerMetadata.ReadExactlyOnce(wrapped);

            reader.Enabled.ShouldBeTrue();
        }
Beispiel #11
0
        public static ICamundaWorkerBuilder AddHandler(this ICamundaWorkerBuilder builder,
                                                       ExternalTaskDelegate handlerDelegate,
                                                       HandlerMetadata metadata)
        {
            Guard.NotNull(builder, nameof(builder));
            Guard.NotNull(handlerDelegate, nameof(handlerDelegate));
            Guard.NotNull(metadata, nameof(metadata));

            var handlerDescriptor = new HandlerDescriptor(handlerDelegate, metadata);

            return(builder.AddHandlerDescriptor(handlerDescriptor));
        }
Beispiel #12
0
        public static ICamundaWorkerBuilder AddHandler <T>(this ICamundaWorkerBuilder builder, HandlerMetadata metadata)
            where T : class, IExternalTaskHandler
        {
            Guard.NotNull(builder, nameof(builder));
            Guard.NotNull(metadata, nameof(metadata));

            var services = builder.Services;

            services.AddScoped <T>();

            return(builder.AddHandler(HandlerDelegate <T>, metadata));
        }
Beispiel #13
0
 public HandlerDescriptor(ExternalTaskDelegate handlerDelegate, HandlerMetadata metadata)
 {
     HandlerDelegate = Guard.NotNull(handlerDelegate, nameof(handlerDelegate));
     Metadata        = Guard.NotNull(metadata, nameof(metadata));
 }