public void ReadJsonLight() { // Arrange var deserializer = new ODataEntityReferenceLinkDeserializer(); MockODataRequestMessage requestMessage = new MockODataRequestMessage(); ODataMessageWriterSettings writerSettings = new ODataMessageWriterSettings(); writerSettings.SetContentType(ODataFormat.Json); IEdmModel model = CreateModel(); ODataMessageWriter messageWriter = new ODataMessageWriter(requestMessage, writerSettings, model); messageWriter.WriteEntityReferenceLink(new ODataEntityReferenceLink { Url = new Uri("http://localhost/samplelink") }); ODataMessageReader messageReader = new ODataMessageReader(new MockODataRequestMessage(requestMessage), new ODataMessageReaderSettings(), model); IEdmNavigationProperty navigationProperty = GetNavigationProperty(model); ODataDeserializerContext context = new ODataDeserializerContext { Request = new HttpRequestMessage(), Path = new ODataPath(new NavigationPathSegment(navigationProperty)) }; // Act Uri uri = deserializer.Read(messageReader, typeof(Uri), context) as Uri; // Assert Assert.NotNull(uri); Assert.Equal("http://localhost/samplelink", uri.AbsoluteUri); }
public void Read_ThrowsArgumentNull_MessageReader() { var deserializer = new ODataEntityReferenceLinkDeserializer(); Assert.ThrowsArgumentNull( () => deserializer.Read(messageReader: null, type: null, readContext: new ODataDeserializerContext()), "messageReader"); }
public void Read_ThrowsArgumentNull_ReadContext() { var deserializer = new ODataEntityReferenceLinkDeserializer(); ODataMessageReader messageReader = ODataTestUtil.GetMockODataMessageReader(); Assert.ThrowsArgumentNull( () => deserializer.Read(messageReader, type: null, readContext: null), "readContext"); }
public void ReadThrowsWhenPathIsMissing() { // Arrange var deserializer = new ODataEntityReferenceLinkDeserializer(); ODataMessageReader reader = new ODataMessageReader(new MockODataRequestMessage()); ODataDeserializerContext context = new ODataDeserializerContext(); // Act & Assert Assert.Throws <SerializationException>(() => deserializer.Read(reader, typeof(Uri), context), "The operation cannot be completed because no ODataPath is available for the request."); }
public void ReadThrowsWhenPathIsMissing() { // Arrange var deserializer = new ODataEntityReferenceLinkDeserializer(); ODataMessageReader reader = new ODataMessageReader(new MockODataRequestMessage()); ODataDeserializerContext context = new ODataDeserializerContext(); // Act & Assert Assert.Throws<SerializationException>(() => deserializer.Read(reader, context), "The operation cannot be completed because no ODataPath is available for the request."); }
public void ReadThrowsWhenNavigationPropertyIsMissing() { // Arrange var deserializer = new ODataEntityReferenceLinkDeserializer(); ODataMessageReader reader = new ODataMessageReader(new MockODataRequestMessage()); ODataDeserializerContext context = new ODataDeserializerContext { Path = new ODataPath() }; // Act & Assert Assert.Throws <SerializationException>(() => deserializer.Read(reader, typeof(Uri), context), "The related navigation property could not be found from the OData path. The related navigation property is required to deserialize the payload."); }
public void Read() { // Arrange var deserializer = new ODataEntityReferenceLinkDeserializer(); MockODataRequestMessage requestMessage = new MockODataRequestMessage(); ODataMessageWriter messageWriter = new ODataMessageWriter(requestMessage); messageWriter.WriteEntityReferenceLink(new ODataEntityReferenceLink { Url = new Uri("http://localhost/samplelink") }); ODataMessageReader messageReader = new ODataMessageReader(new MockODataRequestMessage(requestMessage)); // Act Uri uri = deserializer.Read(messageReader, new ODataDeserializerContext()) as Uri; // Assert Assert.NotNull(uri); Assert.Equal("http://localhost/samplelink", uri.AbsoluteUri); }
public void Read() { // Arrange var deserializer = new ODataEntityReferenceLinkDeserializer(); MockODataRequestMessage requestMessage = new MockODataRequestMessage(); ODataMessageWriter messageWriter = new ODataMessageWriter(requestMessage); messageWriter.WriteEntityReferenceLink(new ODataEntityReferenceLink { Url = new Uri("http://localhost/samplelink") }); ODataMessageReader messageReader = new ODataMessageReader(new MockODataRequestMessage(requestMessage)); // Act Uri uri = deserializer.Read(messageReader, new ODataDeserializerReadContext()) as Uri; // Assert Assert.NotNull(uri); Assert.Equal("http://localhost/samplelink", uri.AbsoluteUri); }
public void Read() { // Arrange var deserializer = new ODataEntityReferenceLinkDeserializer(); MockODataRequestMessage requestMessage = new MockODataRequestMessage(); ODataMessageWriter messageWriter = new ODataMessageWriter(requestMessage); messageWriter.WriteEntityReferenceLink(new ODataEntityReferenceLink { Url = new Uri("http://localhost/samplelink") }); ODataMessageReader messageReader = new ODataMessageReader(new MockODataRequestMessage(requestMessage)); ODataDeserializerContext context = new ODataDeserializerContext { Path = new ODataPath(new NavigationPathSegment(GetNavigationProperty(CreateModel()))) }; // Act Uri uri = deserializer.Read(messageReader, context) as Uri; // Assert Assert.NotNull(uri); Assert.Equal("http://localhost/samplelink", uri.AbsoluteUri); }
public void Read_RoundTrips() { // Arrange var deserializer = new ODataEntityReferenceLinkDeserializer(); MockODataRequestMessage requestMessage = new MockODataRequestMessage(); ODataMessageWriter messageWriter = new ODataMessageWriter(requestMessage); messageWriter.WriteEntityReferenceLink(new ODataEntityReferenceLink { Url = new Uri("http://localhost/samplelink") }); ODataMessageReader messageReader = new ODataMessageReader(new MockODataRequestMessage(requestMessage)); ODataDeserializerContext context = new ODataDeserializerContext { Request = new HttpRequestMessage(), Path = new ODataPath(new NavigationPathSegment(GetNavigationProperty(CreateModel()))) }; // Act Uri uri = deserializer.Read(messageReader, typeof(Uri), context) as Uri; // Assert Assert.NotNull(uri); Assert.Equal("http://localhost/samplelink", uri.AbsoluteUri); }
public void Ctor_DoesnotThrow() { var deserializer = new ODataEntityReferenceLinkDeserializer(); Assert.Equal(deserializer.ODataPayloadKind, ODataPayloadKind.EntityReferenceLink); }
public void ReadThrowsWhenNavigationPropertyIsMissing() { // Arrange var deserializer = new ODataEntityReferenceLinkDeserializer(); ODataMessageReader reader = new ODataMessageReader(new MockODataRequestMessage()); ODataDeserializerContext context = new ODataDeserializerContext { Path = new ODataPath() }; // Act & Assert Assert.Throws<SerializationException>(() => deserializer.Read(reader, typeof(Uri), context), "The related navigation property could not be found from the OData path. The related navigation property is required to deserialize the payload."); }
public void Constructor() { var deserializer = new ODataEntityReferenceLinkDeserializer(); Assert.Equal(deserializer.ODataPayloadKind, ODataPayloadKind.EntityReferenceLink); }