public async Task Should_Be_Able_To_Subscibe_To_Pure_Json_Message() { var conventions = new NamingConventions(); using (var client = TestClientFactory.CreateNormal(ioc => ioc.AddSingleton <INamingConventions>(c => conventions))) { /* Setup */ var tcs = new TaskCompletionSource <BasicMessage>(); var subscription = client.SubscribeAsync <BasicMessage>((message, context) => { tcs.TrySetResult(message); return(Task.FromResult(true)); }); var uniqueValue = Guid.NewGuid().ToString(); var jsonMsg = JsonConvert.SerializeObject(new BasicMessage { Prop = uniqueValue }); /* Test */ TestChannel.BasicPublish( conventions.ExchangeNamingConvention(typeof(BasicMessage)), conventions.QueueNamingConvention(typeof(BasicMessage)), true, null, Encoding.UTF8.GetBytes(jsonMsg)); await tcs.Task; /* Assert */ Assert.Equal(uniqueValue, tcs.Task.Result.Prop); } }