public void Should_be_able_to_publish_and_consume_JSON_payloads_synchronously() { var orgItem = EncodingTestItem.Create(); EncodingTestItem decodedItem = null; _client.Sub("ClientProtobufEncodingTests", stream => stream.Subscribe(msg => { decodedItem = msg.FromJson <EncodingTestItem>(); ReleaseOne(); })); _client.PubAsJson("ClientProtobufEncodingTests", orgItem); WaitOne(); orgItem.Should().BeEquivalentTo(decodedItem); }
public async Task Should_be_able_to_publish_and_consume_JSON_payloads_asynchronously() { var orgItem = EncodingTestItem.Create(); EncodingTestItem decodedItem = null; await _client.SubAsync(Subject, stream => stream.Subscribe(msg => { decodedItem = msg.FromJson <EncodingTestItem>(); ReleaseOne(); })); await _client.PubAsJsonAsync(Subject, orgItem); WaitOne(); orgItem.Should().BeEquivalentTo(decodedItem); }
public async Task Should_be_able_to_publish_and_consume_JSON_payloads_synchronously() { var subject = Context.GenerateSubject(); var orgItem = EncodingTestItem.Create(); EncodingTestItem decodedItem = null; _sync = Sync.MaxOne(); _client = await Context.ConnectClientAsync(); _client.Sub(subject, stream => stream.Subscribe(msg => { decodedItem = msg.FromJson <EncodingTestItem>(); _sync.Release(); })); _client.PubAsJson(subject, orgItem); _sync.WaitForAll(); orgItem.Should().BeEquivalentTo(decodedItem); }