public void DataServiceVersionHeaderTest()
        {
            EdmModel model = (EdmModel)Test.OData.Utils.Metadata.TestModels.BuildTestModel();

            var entry = PayloadBuilder.Entity("TestModel.CityType").PrimitiveProperty("Id", 1)
                .ExpandedNavigationProperty("CityHall", PayloadBuilder.EntitySet());

            DataServiceVersionTestDescriptor[] testDescriptors = new DataServiceVersionTestDescriptor[]
                {
                    // valid entry with DSV 4.0
                    new DataServiceVersionTestDescriptor(this.Settings)
                    {
                        PayloadElement = entry,
                        PayloadEdmModel = model,
                        DataServiceVersion = ODataVersion.V4.ToText(),
                        SkipTestConfiguration = tc => tc.Version != ODataVersion.V4,
                    },
                    // invalid DSV (negative number)
                    new DataServiceVersionTestDescriptor(this.Settings)
                    {
                        PayloadElement = entry,
                        PayloadEdmModel = model,
                        DataServiceVersion = "-1.0",
                        ExpectedException = ODataExpectedExceptions.ODataException("ODataUtils_UnsupportedVersionHeader", "-1.0"),
                    },
                    // invalid DSV (unsupported positive number)
                    new DataServiceVersionTestDescriptor(this.Settings)
                    {
                        PayloadElement = entry,
                        PayloadEdmModel = model,
                        DataServiceVersion = "12345.0",
                        ExpectedException = ODataExpectedExceptions.ODataException("ODataUtils_UnsupportedVersionHeader", "12345.0"),
                    },
                    // invalid DSV (NaN)
                    new DataServiceVersionTestDescriptor(this.Settings)
                    {
                        PayloadElement = entry,
                        PayloadEdmModel = model,
                        DataServiceVersion = "foo",
                        ExpectedException = ODataExpectedExceptions.ODataException("ODataUtils_UnsupportedVersionHeader", "foo"),
                    },
                };

            this.CombinatorialEngineProvider.RunCombinations(
                testDescriptors,
                this.ReaderTestConfigurationProvider.ExplicitFormatConfigurations,
                (testDescriptor, testConfiguration) =>
                {
                    testDescriptor.RunTest(testConfiguration);
                });
        }
Exemple #2
0
        public void DataServiceVersionHeaderTest()
        {
            EdmModel model = (EdmModel)Test.OData.Utils.Metadata.TestModels.BuildTestModel();

            var entry = PayloadBuilder.Entity("TestModel.CityType").PrimitiveProperty("Id", 1)
                        .ExpandedNavigationProperty("CityHall", PayloadBuilder.EntitySet());

            DataServiceVersionTestDescriptor[] testDescriptors = new DataServiceVersionTestDescriptor[]
            {
                // valid entry with DSV 4.0
                new DataServiceVersionTestDescriptor(this.Settings)
                {
                    PayloadElement        = entry,
                    PayloadEdmModel       = model,
                    DataServiceVersion    = ODataVersion.V4.ToText(),
                    SkipTestConfiguration = tc => tc.Version != ODataVersion.V4,
                },
                // invalid DSV (negative number)
                new DataServiceVersionTestDescriptor(this.Settings)
                {
                    PayloadElement     = entry,
                    PayloadEdmModel    = model,
                    DataServiceVersion = "-1.0",
                    ExpectedException  = ODataExpectedExceptions.ODataException("ODataUtils_UnsupportedVersionHeader", "-1.0"),
                },
                // invalid DSV (unsupported positive number)
                new DataServiceVersionTestDescriptor(this.Settings)
                {
                    PayloadElement     = entry,
                    PayloadEdmModel    = model,
                    DataServiceVersion = "12345.0",
                    ExpectedException  = ODataExpectedExceptions.ODataException("ODataUtils_UnsupportedVersionHeader", "12345.0"),
                },
                // invalid DSV (NaN)
                new DataServiceVersionTestDescriptor(this.Settings)
                {
                    PayloadElement     = entry,
                    PayloadEdmModel    = model,
                    DataServiceVersion = "foo",
                    ExpectedException  = ODataExpectedExceptions.ODataException("ODataUtils_UnsupportedVersionHeader", "foo"),
                },
            };

            this.CombinatorialEngineProvider.RunCombinations(
                testDescriptors,
                this.ReaderTestConfigurationProvider.ExplicitFormatConfigurations,
                (testDescriptor, testConfiguration) =>
            {
                testDescriptor.RunTest(testConfiguration);
            });
        }