From eb1a43f88e39617c360ec08eeb2751c6c2c300f2 Mon Sep 17 00:00:00 2001 From: KanishManuja-MS <41647051+KanishManuja-MS@users.noreply.github.com> Date: Tue, 17 Sep 2019 11:39:43 -0700 Subject: [PATCH] Copy over metadata selector when creating a copy of messagewritersetting (#1541) * Update ODataMessageWriterSettings.cs * Add test case for copy constructor --- src/Microsoft.OData.Core/ODataMessageWriterSettings.cs | 1 + .../ODataMessageWriterSettingsTests.cs | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/src/Microsoft.OData.Core/ODataMessageWriterSettings.cs b/src/Microsoft.OData.Core/ODataMessageWriterSettings.cs index 3306ffc74c..4ea7827927 100644 --- a/src/Microsoft.OData.Core/ODataMessageWriterSettings.cs +++ b/src/Microsoft.OData.Core/ODataMessageWriterSettings.cs @@ -418,6 +418,7 @@ private void CopyFrom(ODataMessageWriterSettings other) this.useFormat = other.useFormat; this.Version = other.Version; this.LibraryCompatibility = other.LibraryCompatibility; + this.MetadataSelector = other.MetadataSelector; this.validations = other.validations; this.ThrowIfTypeConflictsWithMetadata = other.ThrowIfTypeConflictsWithMetadata; diff --git a/test/FunctionalTests/Microsoft.OData.Core.Tests/ODataMessageWriterSettingsTests.cs b/test/FunctionalTests/Microsoft.OData.Core.Tests/ODataMessageWriterSettingsTests.cs index 1b35b83ef0..98e3fa42d9 100644 --- a/test/FunctionalTests/Microsoft.OData.Core.Tests/ODataMessageWriterSettingsTests.cs +++ b/test/FunctionalTests/Microsoft.OData.Core.Tests/ODataMessageWriterSettingsTests.cs @@ -9,6 +9,7 @@ using FluentAssertions; using Microsoft.OData.UriParser; using Microsoft.OData.Edm; +using Microsoft.OData.Evaluation; using Xunit; using ODataErrorStrings = Microsoft.OData.Strings; @@ -288,6 +289,14 @@ public void CopyConstructorShouldCopyServiceDocument() newSetting.MetadataDocumentUri.Should().Be(new Uri("http://test.org/$metadata")); } + [Fact] + public void CopyConstructorShouldCopyMetadataSelector() + { + this.settings.MetadataSelector = new TestMetadataSelector() { PropertyToOmit = "TestProperty" }; + var newSetting = this.settings.Clone(); + (newSetting.MetadataSelector as TestMetadataSelector).PropertyToOmit.Should().Be("TestProperty"); + } + [Fact] public void CopyConstructorShouldCopyODataUri() {