public async Task GetCurrentContentAsync() { const string rawXmlContent = "<ContentItem source=\"Amazon\"><itemName>MyItem</itemName></ContentItem>"; var rawXmlResponse = $"<nowPlaying>{rawXmlContent}</nowPlaying>"; var httpMock = new MockHttpMessageHandler(); httpMock.Expect(HttpMethod.Get, "http://1.2.3.4:8090/now_playing").Respond("application/xml", rawXmlResponse); var deviceMock = new Mock <ISpeaker>(); deviceMock.Setup(x => x.IpAddress).Returns("1.2.3.4"); var httpClient = new HttpClient(httpMock); var testee = new BoseConnection(httpClient); var result = await testee.GetCurrentContentAsync(deviceMock.Object); result.ItemName.Should().Be("MyItem"); httpMock.VerifyNoOutstandingExpectation(); }