示例#1
0
        public void InitialToClosed()
        {
            var perfCounters = new Microsoft.AspNet.SignalR.Infrastructure.PerformanceCounterManager();
            var stream       = new ScaleoutStream(new TraceSource("Queue"), "0", QueuingBehavior.Always, 1000, perfCounters);

            stream.Close();
        }
        public void CloseWhileQueueRunsWithFailedTask()
        {
            int x             = 0;
            var loggerFactory = new Mock <ILoggerFactory>();
            var perfCounters  = new SignalRPerformanceCounterManager(loggerFactory.Object);
            var logger        = new Mock <ILogger>();
            var stream        = new ScaleoutStream(logger.Object, "0", QueuingBehavior.Always, 1000, perfCounters);

            stream.Open();
            stream.Send(async _ =>
            {
                await Task.Delay(50);
                x++;
            },
                        null);
            stream.Send(async _ =>
            {
                await Task.Delay(50);
                await TaskAsyncHelper.FromError(new Exception());
            },
                        null);
            stream.Send(async _ =>
            {
                await Task.Delay(50);
                x++;
            },
                        null);
            stream.Close();
            Assert.Equal(1, x);
        }
示例#3
0
        public void CloseWhileQueueRunsWithFailedTask()
        {
            int x            = 0;
            var perfCounters = new Microsoft.AspNet.SignalR.Infrastructure.PerformanceCounterManager();
            var stream       = new ScaleoutStream(new TraceSource("Queue"), "0", QueuingBehavior.Always, 1000, perfCounters);

            stream.Open();
            stream.Send(async _ =>
            {
                await Task.Delay(50);
                x++;
            },
                        null);
            stream.Send(async _ =>
            {
                await Task.Delay(50);
                await TaskAsyncHelper.FromError(new Exception());
            },
                        null);
            stream.Send(async _ =>
            {
                await Task.Delay(50);
                x++;
            },
                        null);
            stream.Close();
            Assert.Equal(1, x);
        }
示例#4
0
        public void CloseWhileQueueRuns()
        {
            int x            = 0;
            var perfCounters = new Microsoft.AspNet.SignalR.Infrastructure.PerformanceCounterManager();
            var stream       = new ScaleoutStream(new TraceSource("Queue"), "0", 1000, perfCounters);

            stream.Open();
            stream.Send(async _ =>
            {
                await Task.Delay(50);
                x++;
            },
                        null);
            stream.Send(async _ =>
            {
                await Task.Delay(50);
                x++;
            },
                        null);
            stream.Send(async _ =>
            {
                await Task.Delay(50);
                x++;
            },
                        null);
            stream.Close();
            Assert.Equal(3, x);
        }
        public void InitialToClosed()
        {
            var loggerFactory = new Mock <ILoggerFactory>();
            var perfCounters  = new SignalRPerformanceCounterManager(loggerFactory.Object);
            var logger        = new Mock <ILogger>();
            var stream        = new ScaleoutStream(logger.Object, "0", QueuingBehavior.Always, 1000, perfCounters);

            stream.Close();
        }
示例#6
0
        public async Task BufferAfterClosedEnqueueThrows()
        {
            var perfCounters = new Microsoft.AspNet.SignalR.Infrastructure.PerformanceCounterManager();
            var stream       = new ScaleoutStream(new TraceSource("Queue"), "0", QueuingBehavior.Always, 1000, perfCounters);

            stream.Close();
            stream.SetError(new Exception());
            await Assert.ThrowsAsync <Exception>(() => stream.Send(_ => TaskAsyncHelper.Empty, null));
        }
示例#7
0
        public void OpenAfterClosedEnqueueThrows()
        {
            var perfCounters = new Microsoft.AspNet.SignalR.Infrastructure.PerformanceCounterManager();
            var stream       = new ScaleoutStream(new TraceSource("Queue"), "0", 1000, perfCounters);

            stream.Close();
            stream.Open();
            Assert.Throws <InvalidOperationException>(() => stream.Send(_ => TaskAsyncHelper.Empty, null));
        }
        public void BufferAfterClosedEnqueueThrows()
        {
            var loggerFactory = new Mock <ILoggerFactory>();
            var perfCounters  = new SignalRPerformanceCounterManager(loggerFactory.Object);
            var logger        = new Mock <ILogger>();
            var stream        = new ScaleoutStream(logger.Object, "0", QueuingBehavior.Always, 1000, perfCounters);

            stream.Close();
            stream.SetError(new Exception());
            Assert.ThrowsAsync <Exception>(() => stream.Send(_ => TaskAsyncHelper.Empty, null));
        }
示例#9
0
        public void SendAfterCloseThenOpenRemainsClosed()
        {
            var perfCounters = new Microsoft.AspNet.SignalR.Infrastructure.PerformanceCounterManager();
            var stream       = new ScaleoutStream(new TraceSource("Queue"), "0", QueuingBehavior.Always, 1000, perfCounters);

            stream.Open();
            stream.Send(_ => Task.Delay(50), null);
            stream.Close();
            stream.Open();
            Assert.Throws <InvalidOperationException>(() => stream.Send(_ => TaskAsyncHelper.Empty, null));
        }
        public void SendAfterCloseThenOpenRemainsClosed()
        {
            var loggerFactory = new Mock <ILoggerFactory>();
            var perfCounters  = new SignalRPerformanceCounterManager(loggerFactory.Object);
            var logger        = new Mock <ILogger>();
            var stream        = new ScaleoutStream(logger.Object, "0", QueuingBehavior.Always, 1000, perfCounters);

            stream.Open();
            stream.Send(_ => Task.Delay(50), null);
            stream.Close();
            stream.Open();
            Assert.ThrowsAsync <InvalidOperationException>(() => stream.Send(_ => TaskAsyncHelper.Empty, null));
        }