@@ -64,8 +64,9 @@ public void SetUp()
6464 [ Test , Timeout ( 10000 ) ]
6565 public async Task Scenario ( )
6666 {
67- using ( var consumer = new RabbitMqConsumer ( _uri , "eventflow" , new [ ] { "#" } ) )
68- using ( var resolver = BuildResolver ( ) )
67+ var exchange = new Exchange ( $ "eventflow-{ Guid . NewGuid ( ) : N} ") ;
68+ using ( var consumer = new RabbitMqConsumer ( _uri , exchange , new [ ] { "#" } ) )
69+ using ( var resolver = BuildResolver ( exchange ) )
6970 {
7071 var commandBus = resolver . Resolve < ICommandBus > ( ) ;
7172 var eventJsonSerializer = resolver . Resolve < IEventJsonSerializer > ( ) ;
@@ -74,7 +75,7 @@ public async Task Scenario()
7475 await commandBus . PublishAsync ( new ThingyPingCommand ( ThingyId . New , pingId ) , CancellationToken . None ) . ConfigureAwait ( false ) ;
7576
7677 var rabbitMqMessage = consumer . GetMessages ( TimeSpan . FromMinutes ( 1 ) ) . Single ( ) ;
77- rabbitMqMessage . Exchange . Value . Should ( ) . Be ( "eventflow" ) ;
78+ rabbitMqMessage . Exchange . Value . Should ( ) . Be ( exchange . Value ) ;
7879 rabbitMqMessage . RoutingKey . Value . Should ( ) . Be ( "eventflow.domainevent.thingy.thingy-ping.1" ) ;
7980
8081 var pingEvent = ( IDomainEvent < ThingyAggregate , ThingyId , ThingyPingEvent > ) eventJsonSerializer . Deserialize (
@@ -88,23 +89,24 @@ public async Task Scenario()
8889 [ Test , Timeout ( 60000 ) ]
8990 public async Task PublisherPerformance ( )
9091 {
91- var exchange = new Exchange ( "eventflow" ) ;
92+ var exchange = new Exchange ( $ "eventflow- { Guid . NewGuid ( ) : N } ") ;
9293 var routingKey = new RoutingKey ( "performance" ) ;
9394 var exceptions = new ConcurrentBag < Exception > ( ) ;
9495 const int taskCount = 100 ;
9596 const int messagesPrThread = 200 ;
97+ const int totalMessageCount = taskCount * messagesPrThread ;
9698
97- using ( var consumer = new RabbitMqConsumer ( _uri , "eventflow" , new [ ] { "#" } ) )
98- using ( var resolver = BuildResolver ( o => o . RegisterServices ( sr => sr . Register < ILog , NullLog > ( ) ) ) )
99+ using ( var consumer = new RabbitMqConsumer ( _uri , exchange , new [ ] { "#" } ) )
100+ using ( var resolver = BuildResolver ( exchange , o => o . RegisterServices ( sr => sr . Register < ILog , NullLog > ( ) ) ) )
99101 {
100102 var rabbitMqPublisher = resolver . Resolve < IRabbitMqPublisher > ( ) ;
101103 var tasks = Enumerable . Range ( 0 , taskCount )
102104 . Select ( i => Task . Run ( ( ) => SendMessagesAsync ( rabbitMqPublisher , messagesPrThread , exchange , routingKey , exceptions ) ) ) ;
103105
104106 await Task . WhenAll ( tasks ) . ConfigureAwait ( false ) ;
105107
106- var rabbitMqMessages = consumer . GetMessages ( TimeSpan . FromMinutes ( 1 ) , taskCount * messagesPrThread ) ;
107- rabbitMqMessages . Should ( ) . HaveCount ( taskCount * messagesPrThread ) ;
108+ var rabbitMqMessages = consumer . GetMessages ( TimeSpan . FromMinutes ( 1 ) , totalMessageCount ) ;
109+ rabbitMqMessages . Should ( ) . HaveCount ( totalMessageCount ) ;
108110 exceptions . Should ( ) . BeEmpty ( ) ;
109111 }
110112 }
@@ -137,12 +139,12 @@ private static async Task SendMessagesAsync(
137139 }
138140 }
139141
140- private IRootResolver BuildResolver ( Func < IEventFlowOptions , IEventFlowOptions > configure = null )
142+ private IRootResolver BuildResolver ( Exchange exchange , Func < IEventFlowOptions , IEventFlowOptions > configure = null )
141143 {
142144 configure = configure ?? ( e => e ) ;
143145
144146 return configure ( EventFlowOptions . New
145- . PublishToRabbitMq ( RabbitMqConfiguration . With ( _uri , false ) )
147+ . PublishToRabbitMq ( RabbitMqConfiguration . With ( _uri , false , exchange : exchange . Value ) )
146148 . AddDefaults ( EventFlowTestHelpers . Assembly ) )
147149 . CreateResolver ( false ) ;
148150 }
0 commit comments