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()); }
MqQueueFactory CreateQueueFactory(string namePrefix = null) { var connProvider = new DefaultMqConnectionProvider(TestMqTools.Load()); return(new MqQueueFactory(new DefaultMqChannelProvider(connProvider)) { Prefix = namePrefix, AutoDelete = true }); }
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 }); }
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); }
public void Dispose() { _appFactory.Dispose(); TestMqTools.Close(); }
IMqPublisher CreateTestPublisher(IAppStatusService appStatusService = null) => new DefaultMqPublisher( new DefaultMqChannelProvider(new DefaultMqConnectionProvider(TestMqTools.Load())), null, appStatusService);