Esempio n. 1
0
 public void Dispose_IsIdempotent()
 {
     using (var handler = new InboundRequestProcessingHandler(Enumerable.Empty <MessageMethod>()))
     {
         handler.Dispose();
         handler.Dispose();
     }
 }
Esempio n. 2
0
        public void Handle_NoFastProcessingMethods_ExecuteTask()
        {
            using (var handledEvent = new ManualResetEventSlim(initialState: false))
                using (var handler = new InboundRequestProcessingHandler(Enumerable.Empty <MessageMethod>()))
                {
                    var         executed = false;
                    Func <Task> task     = () => { executed = true; handledEvent.Set(); return(Task.CompletedTask); };

                    handler.Handle(MessageMethod.Handshake, task, CancellationToken.None);
                    handledEvent.Wait();
                    Assert.True(executed);
                }
        }
Esempio n. 3
0
        public void Handle_ThrowsForDisposedObject()
        {
            using (var handledEvent = new ManualResetEventSlim(initialState: false))
            {
                var handler = new InboundRequestProcessingHandler(Enumerable.Empty <MessageMethod>());

                var         executed = false;
                Func <Task> task     = () => { executed = true; handledEvent.Set(); return(Task.CompletedTask); };

                handler.Handle(MessageMethod.Handshake, task, CancellationToken.None);
                handledEvent.Wait();
                Assert.True(executed);
                handler.Dispose();

                // Act & Assert
                Assert.Throws <ObjectDisposedException>(() => handler.Handle(MessageMethod.Handshake, task, CancellationToken.None));
            }
        }