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 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); } }