Exemple #1
0
        public async Task ShouldNotLeakChannels()
        {
            //Arrange
            var mq = TestQueueFactory.Default.CreateWithRandomId();

            TestMqTools.Reset();

            var client = _appFactory.CreateClient();

            //Act
            List <Task> tasks = new List <Task>();

            for (int j = 0; j < 100; j++)
            {
                for (int i = 0; i < 10; i++)
                {
                    tasks.Add(Task.Run(() => Publish(client, mq.Name)));
                }
                Task.WaitAll(tasks.ToArray());

                _output.WriteLine($"Ch count: {GetAppChannelCount()}");
            }

            client.Dispose();

            await Task.Delay(TimeSpan.FromSeconds(10));

            //Assert
            Assert.Equal(10, await GetChannelCount());
        }
Exemple #2
0
        MqQueueFactory CreateQueueFactory(string namePrefix = null)
        {
            var connProvider = new DefaultMqConnectionProvider(TestMqTools.Load());

            return(new MqQueueFactory(new DefaultMqChannelProvider(connProvider))
            {
                Prefix = namePrefix,
                AutoDelete = true
            });
        }
Exemple #3
0
        MqExchangeFactory CreateExchangeFactory(string namePrefix = null)
        {
            var connProvider = new DefaultMqConnectionProvider(TestMqTools.Load());
            var chProvider   = new DefaultMqChannelProvider(connProvider);

            return(new MqExchangeFactory(MqExchangeType.Fanout, chProvider)
            {
                Prefix = namePrefix,
                AutoDelete = true
            });
        }
Exemple #4
0
        public void ShouldFailIfExchangeNotExists()
        {
            //Arrange
            var exchangeName = Guid.NewGuid().ToString("N");
            var connProvider = new DefaultMqConnectionProvider(TestMqTools.Load());
            var chProvider   = new DefaultMqChannelProvider(connProvider);
            var exchange     = new MqExchange(exchangeName, chProvider);

            //Act
            var exists = exchange.IsExists();

            //Assert
            Assert.False(exists);
        }
Exemple #5
0
 public void Dispose()
 {
     _appFactory.Dispose();
     TestMqTools.Close();
 }
Exemple #6
0
 IMqPublisher CreateTestPublisher(IAppStatusService appStatusService = null) => new DefaultMqPublisher(
     new DefaultMqChannelProvider(new DefaultMqConnectionProvider(TestMqTools.Load())),
     null, appStatusService);