public void SerializesOrder() { var content = new Content(new Uri("http://test.com/order/42"), new OrderHandler(), new Order { Id = 54, CustomerId = 42 }); var target = new XmlMediaTypeHandler(); string actual; using (var stream = new NonClosingMemoryStream(new MemoryStream())) { target.Write(content, stream); stream.Position = 0; using (var reader = new StreamReader(stream)) { actual = reader.ReadToEnd(); } stream.ForceDispose(); } Assert.NotNull(actual); const string expected = "<Order xmlns='http://schemas.datacontract.org/2004/07/Simple.Web.Xml.Tests'" + " xmlns:i='http://www.w3.org/2001/XMLSchema-instance'>" + " <CustomerId>42</CustomerId>" + " <Id>54</Id>" + "</Order>"; XElement.Parse(actual).ShouldEqual(expected); }
public void PicksUpOrdersLinkFromCustomers() { var content = new Content(new Uri("http://test.com/customer/42"), new CustomerHandler(), new[] { new Customer { Id = 42 } }); var target = new XmlMediaTypeHandler(); string actual; using (var stream = new NonClosingMemoryStream(new MemoryStream())) { target.Write(content, stream); stream.Position = 0; using (var reader = new StreamReader(stream)) { actual = reader.ReadToEnd(); } stream.ForceDispose(); } Assert.NotNull(actual); const string expected = "<?xml version='1.0' encoding='utf-8'?>" + "<Customers>" + " <Customer xmlns='http://schemas.datacontract.org/2004/07/Simple.Web.Xml.Tests'" + " xmlns:i='http://www.w3.org/2001/XMLSchema-instance'>" + " <Id>42</Id>" + " <link href='/customer/42/orders' rel='customer.orders' type='application/vnd.list.order+xml' xmlns='' />" + " <link href='/customer/42' rel='self' type='application/vnd.customer+xml' xmlns='' />" + " </Customer>" + "</Customers>"; XElement.Parse(actual).ShouldEqual(expected); }
public void PicksUpOrdersLinkFromCustomers() { var content = new Content(new Uri("http://test.com/customer/42"), new CustomerHandler(), new[] { new Customer { Id = 42 } }); var target = new XmlMediaTypeHandler(); string actual; using (var stream = new NonClosingMemoryStream(new MemoryStream())) { target.Write(content, stream); stream.Position = 0; using (var reader = new StreamReader(stream)) { actual = reader.ReadToEnd(); } stream.ForceDispose(); } Assert.NotNull(actual); var root = XElement.Parse(actual); Assert.Equal("Customers", root.Name.LocalName); var customer = root.Elements().FirstOrDefault(x => x.Name.LocalName == "Customer"); XElement id = customer.Element(customer.GetDefaultNamespace() + "Id"); Assert.NotNull(id); Assert.Equal("42", id.Value); var links = customer.Elements("link").ToList(); Assert.Equal(2, links.Count); }
public void SerializesOrder() { var content = new Content(new Uri("http://test.com/order/42"), new OrderHandler(), new Order { Id = 54, CustomerId = 42 }); var target = new XmlMediaTypeHandler(); string actual; using (var stream = new NonClosingMemoryStream(new MemoryStream())) { target.Write(content, stream); stream.Position = 0; using (var reader = new StreamReader(stream)) { actual = reader.ReadToEnd(); } stream.ForceDispose(); } Assert.NotNull(actual); var root = XElement.Parse(actual); Assert.Equal("Order", root.Name.LocalName); XElement id = root.Element(root.GetDefaultNamespace() + "Id"); Assert.NotNull(id); Assert.Equal("54", id.Value); XElement customerId = root.Element(root.GetDefaultNamespace() + "CustomerId"); Assert.NotNull(customerId); Assert.Equal("42", customerId.Value); }
public void PicksUpOrdersLinkFromCustomers() { var content = new Content(new CustomerHandler(), new[] {new Customer {Id = 42}}); var target = new XmlMediaTypeHandler(); string actual; using (var stream = new NonClosingMemoryStream(new MemoryStream())) { target.Write(content, stream); stream.Position = 0; using (var reader = new StreamReader(stream)) { actual = reader.ReadToEnd(); } stream.ForceDispose(); } Assert.NotNull(actual); var root = XElement.Parse(actual); Assert.Equal("Customers", root.Name.LocalName); var customer = root.Elements().FirstOrDefault(x => x.Name.LocalName == "Customer"); XElement id = customer.Element(customer.GetDefaultNamespace() + "Id"); Assert.NotNull(id); Assert.Equal("42", id.Value); var links = customer.Elements("link").ToList(); Assert.Equal(2, links.Count); }
public void SerializesOrder() { var content = new Content(new OrderHandler(), new Order {Id = 54, CustomerId = 42}); var target = new XmlMediaTypeHandler(); string actual; using (var stream = new NonClosingMemoryStream(new MemoryStream())) { target.Write(content, stream); stream.Position = 0; using (var reader = new StreamReader(stream)) { actual = reader.ReadToEnd(); } stream.ForceDispose(); } Assert.NotNull(actual); var root = XElement.Parse(actual); Assert.Equal("Order", root.Name.LocalName); XElement id = root.Element(root.GetDefaultNamespace() + "Id"); Assert.NotNull(id); Assert.Equal("54", id.Value); XElement customerId = root.Element(root.GetDefaultNamespace() + "CustomerId"); Assert.NotNull(customerId); Assert.Equal("42", customerId.Value); }
public void SetUp() { handler = new XmlMediaTypeHandler(); }