public void OmitStreamProperty(string streamPropertyNameToOmit, int expectedCount) { var resource = new ODataResource(); ODataMessageWriterSettings settings = new ODataMessageWriterSettings(); TestMetadataSelector selector = new TestMetadataSelector(); selector.PropertyToOmit = streamPropertyNameToOmit; settings.MetadataSelector = selector; ODataResourceMetadataBuilder resourceMetadataBuilder = fullMetadataLevel.CreateResourceMetadataBuilder( resource, personTypeContext, null, HardCodedTestModel.GetDogType(), new SelectedPropertiesNode(SelectedPropertiesNode.SelectionType.EntireSubtree), /*isResponse*/ true, /*keyAsSegment*/ false, /*requestUri*/ null, /*settings*/ settings); fullMetadataLevel.InjectMetadataBuilder(resource, resourceMetadataBuilder); resource.MetadataBuilder.Should().BeSameAs(resourceMetadataBuilder); int count = 0; while (resource.MetadataBuilder.GetNextUnprocessedStreamProperty() != null) { count++; } ; Assert.True(count == expectedCount); }
public void OmitNavigationProperties(string navProperty, int expected) { var resource = new ODataResource(); ODataMessageWriterSettings settings = new ODataMessageWriterSettings(); TestMetadataSelector selector = new TestMetadataSelector(); selector.PropertyToOmit = navProperty; settings.MetadataSelector = selector; ODataResourceMetadataBuilder resourceMetadataBuilder = fullMetadataLevel.CreateResourceMetadataBuilder( resource, personTypeContext, null, HardCodedTestModel.GetPersonType(), new SelectedPropertiesNode(SelectedPropertiesNode.SelectionType.EntireSubtree), /*isResponse*/ true, /*keyAsSegment*/ false, /*requestUri*/ null, /*settings*/ settings); fullMetadataLevel.InjectMetadataBuilder(resource, resourceMetadataBuilder); Assert.Same(resourceMetadataBuilder, resource.MetadataBuilder); int count = 0; while (resource.MetadataBuilder.GetNextUnprocessedNavigationLink() != null) { count++; } ; Assert.True(count == expected); }
public void ReturnSpecifiedNavigationLinkWithFullMetadata() { var resource = new ODataResource(); ODataMessageWriterSettings settings = new ODataMessageWriterSettings(); TestMetadataSelector selector = new TestMetadataSelector(); selector.NavigationPropertyToReturn = new List <IEdmNavigationProperty> { (IEdmNavigationProperty)HardCodedTestModel.GetPersonType().FindProperty("MyFriendsDogs") }; settings.MetadataSelector = selector; ODataResourceMetadataBuilder resourceMetadataBuilder = fullMetadataLevel.CreateResourceMetadataBuilder( resource, personTypeContext, null, HardCodedTestModel.GetPersonType(), new SelectedPropertiesNode(SelectedPropertiesNode.SelectionType.EntireSubtree), /*isResponse*/ true, /*keyAsSegment*/ false, /*requestUri*/ null, /*settings*/ settings); fullMetadataLevel.InjectMetadataBuilder(resource, resourceMetadataBuilder); resource.MetadataBuilder.Should().BeSameAs(resourceMetadataBuilder); int count = 0; while (resource.MetadataBuilder.GetNextUnprocessedNavigationLink() != null) { count++; } ; Assert.True(count == 1); }