public async Task ParseXml_ValidXml_ReturnsSerializedObject() { string fooValue = Factory.GetString(); int barValue = Factory.GetInteger(); string payload = $"<root><Foo>{fooValue}</Foo><Bar>{barValue}</Bar></root>"; var message = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(payload) }; TestablePayload result = await _service.ParseXmlAsync <TestablePayload>(message); Assert.Equal(fooValue + barValue, result.Foo + result.Bar); }
public async Task ParseJson_ValidJson_ReturnsSerializedObject() { string fooValue = Factory.GetString(); int barValue = Factory.GetInteger(); string payload = $"{{\"Foo\": \"{fooValue}\", \"Bar\": {barValue}}}"; var message = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(payload) }; TestablePayload result = await _service.ParseJsonAsync <TestablePayload>(message); Assert.Equal(fooValue + barValue, result.Foo + result.Bar); }
public async Task ParseXml_InvalidXml_ReturnsInstanceWithErrorMessage() { string fooValue = Factory.GetString(); int barValue = Factory.GetInteger(); string payload = $"<rootX><Foo>{fooValue}</Foo><Bar>{barValue}</Bar></rootY>"; var message = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(payload) }; TestablePayload result = await _service.ParseXmlAsync <TestablePayload>(message); Assert.Equal($"Deserializing xml failed: {payload}", result.ErrorMessage); }
public async Task ParseJson_InvalidJson_ReturnsInstanceWithErrorMessage() { string fooValue = Factory.GetString(); int barValue = Factory.GetInteger(); string payload = $"\"Foo\": \"{fooValue}\", \"Bar\": {barValue}"; var message = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(payload) }; TestablePayload result = await _service.ParseJsonAsync <TestablePayload>(message); Assert.Equal("Deserializing json failed", result.ErrorMessage); }