private async Task <(Guid StreamId, string StreamNamespace, Task <List <dynamic> > Awaiter)> CreateProducerConsumerStreamAwaiter(BaseClusterFixture clusterFixture, int messageCount) { var streamId = Guid.NewGuid(); var streamNamespace = Guid.NewGuid().ToString(); var streamSubscriptionAwaiter = await clusterFixture.SubscribeAndGetTaskAwaiter <string>(StreamProviderName, streamId, streamNamespace, messageCount); var publishTask = Task.Factory.StartNew(async() => { for (var i = 0; i < messageCount; i++) { await clusterFixture.PublishToStream(StreamProviderName, streamId, streamNamespace, $"test:{streamId}-{streamNamespace} message:{i}"); } }); return(streamId, streamNamespace, streamSubscriptionAwaiter); }