示例#1
0
        public void It_exposes_config_to_describe_multiple_api_versions()
        {
            SetUpAttributeRoutesFrom(typeof(MultipleApiVersionsController).Assembly);
            SetUpHandler(c =>
            {
                c.MultipleApiVersions(
                    (apiDesc, targetApiVersion) => SwaggerConfig.ResolveVersionSupportByRouteConstraint(apiDesc, targetApiVersion),
                    (vc) =>
                {
                    vc.Version("v2", "Test API V2");
                    vc.Version("v1", "Test API V1");
                });
            });

            // 2.0
            var swagger  = GetContent <JObject>("http://tempuri.org/swagger/docs/v2");
            var info     = swagger["info"];
            var expected = JObject.FromObject(new
            {
                version = "v2",
                title   = "Test API V2",
            });

            Assert.AreEqual(expected.ToString().ToUpper(), info.ToString().ToUpper());

            // 1.0
            swagger  = GetContent <JObject>(TEMP_URI.DOCS);
            info     = swagger["info"];
            expected = JObject.FromObject(new
            {
                version = "v1",
                title   = "Test API V1",
            });
            Assert.AreEqual(expected.ToString().ToUpper(), info.ToString().ToUpper());
        }