public void WriteOperationsOnRequestsShouldThrow() { using (MemoryStream stream = new MemoryStream()) { var context = this.CreateJsonLightOutputContext(stream, writingResponse: false); var serializer = new ODataJsonLightEntryAndFeedSerializer(context); Action test = () => serializer.WriteOperations(new ODataOperation[] { new ODataAction { Metadata = new Uri("#foo", UriKind.Relative) } }, /*isAction*/ true); test.ShouldThrow <ODataException>().WithMessage(ErrorStrings.WriterValidationUtils_OperationInRequest("#foo")); } }
private string SerializeJsonFragment(Action <ODataJsonLightEntryAndFeedSerializer> writeWithSerializer) { string result; using (MemoryStream stream = new MemoryStream()) { var context = this.CreateJsonLightOutputContext(stream); var serializer = new ODataJsonLightEntryAndFeedSerializer(context); serializer.JsonWriter.StartObjectScope(); writeWithSerializer(serializer); serializer.JsonWriter.Flush(); stream.Seek(0, SeekOrigin.Begin); result = new StreamReader(stream).ReadToEnd(); } return(result); }
private void WriteOperationsAndValidatePayload(IEnumerable <ODataOperation> operations, string expectedPayload, bool isAction = true, bool setMetadataDocumentUri = true, bool writeMetadataAnnotation = false) { using (MemoryStream stream = new MemoryStream()) { var context = this.CreateJsonLightOutputContext(stream, /*writingResponse*/ true, setMetadataDocumentUri); var serializer = new ODataJsonLightEntryAndFeedSerializer(context); serializer.JsonWriter.StartObjectScope(); if (writeMetadataAnnotation) { serializer.WriteContextUriProperty(ODataPayloadKind.ServiceDocument); } serializer.WriteOperations(operations, isAction); serializer.JsonWriter.EndObjectScope(); context.Flush(); stream.Position = 0; string actualPayload = (new StreamReader(stream)).ReadToEnd(); Assert.Equal(expectedPayload, actualPayload); } }