Beispiel #1
0
 public void TestNullable()
 {
     Assert.AreEqual("integer?", SwaggerSpec.GetDataTypeName(typeof(int?)));
     Assert.AreEqual("integer?", SwaggerSpec.GetDataTypeName(typeof(Nullable <int>)));
     Assert.AreEqual("MockEnum1?", SwaggerSpec.GetDataTypeName(typeof(Nullable <MockEnum1>)));
     Assert.AreEqual("MockStruct1?", SwaggerSpec.GetDataTypeName(typeof(Nullable <MockStruct1>)));
 }
Beispiel #2
0
        private static void ApiSpec(SwaggerSpec swaggerSpec, string resourcePath, string apiPath, Action <ApiSpec> applyAssertions)
        {
            var apiSpec = swaggerSpec.Declarations[resourcePath].Apis
                          .Single(api => api.Path == apiPath);

            applyAssertions(apiSpec);
        }
 private object ConvertProperty(Type type)
 {
     if (SwaggerSpec.IsEnumerable(type))
     {
         var typeArg = SwaggerSpec.GetEnumerableType(type);
         if (SwaggerSpec.IsBasicObject(typeArg))
         {
             return(new ArrayProperty("type", SwaggerSpec.GetDataTypeName(typeArg)));
         }
         Add(typeArg);
         return(new ArrayProperty("$ref", typeArg.Name));
     }
     if (type.IsEnum)
     {
         return(new Dictionary <string, object> {
             { "type", "string" },
             { "enum", Enum.GetNames(type) }
         });
     }
     if (!SwaggerSpec.IsBasicObject(type))
     {
         Add(type);
         return(new Dictionary <string, object> {
             { "$ref", type.Name }
         });
     }
     return(new Dictionary <string, object> {
         { "type", SwaggerSpec.GetDataTypeName(type) }
     });
 }
Beispiel #4
0
        private static void OperationSpec(SwaggerSpec swaggerSpec, string resourcePath, string apiPath, int index, string httpMethod,
                                          Action <OperationSpec> applyAssertions)
        {
            var apiSpec = swaggerSpec.Declarations[resourcePath].Apis
                          .Single(api => api.Path == apiPath);

            OperationSpec(apiSpec, httpMethod, index, applyAssertions);
        }
Beispiel #5
0
 public void TestContainers()
 {
     Assert.AreEqual("array[object]", SwaggerSpec.GetDataTypeName(typeof(List <object>)));
     Assert.AreEqual("array[MockClass1]", SwaggerSpec.GetDataTypeName(typeof(List <MockClass1>)));
     Assert.AreEqual("array[object]", SwaggerSpec.GetDataTypeName(typeof(IEnumerable)));
     Assert.AreEqual("array[MockClass1]", SwaggerSpec.GetDataTypeName(typeof(IEnumerable <MockClass1>)));
     Assert.AreEqual("array[object]", SwaggerSpec.GetDataTypeName(typeof(Collection <object>)));
     Assert.AreEqual("array[MockClass1]", SwaggerSpec.GetDataTypeName(typeof(Collection <MockClass1>)));
 }
 /// <summary>
 /// Add a type to be displayed
 /// </summary>
 /// <param name="type">Type to add</param>
 public void Add(Type type)
 {
     if (SwaggerSpec.IsEnumerable(type))
     {
         //Don't bother adding an Enumerable type, just add what it is of
         InnerAdd(SwaggerSpec.GetEnumerableType(type));
     }
     else if (!SwaggerSpec.IsBasicObject(type))
     {
         InnerAdd(type);
     }
 }
        public SwaggerSpec SwaggerSpec()
        {
            lock (SyncRoot)
            {
                if (_swaggerSpec == null)
                {
                    var swaggerGenerator = new SwaggerGenerator();
                    var apiExplorer      = GlobalConfiguration.Configuration.Services.GetApiExplorer();
                    _swaggerSpec = swaggerGenerator.ApiExplorerToSwaggerSpec(apiExplorer);
                }
            }

            return(_swaggerSpec);
        }
Beispiel #8
0
 public void TestNonGenericTypes()
 {
     Assert.AreEqual("boolean", SwaggerSpec.GetDataTypeName(typeof(bool)));
     Assert.AreEqual("byte", SwaggerSpec.GetDataTypeName(typeof(byte)));
     Assert.AreEqual("integer", SwaggerSpec.GetDataTypeName(typeof(int)));
     Assert.AreEqual("long", SwaggerSpec.GetDataTypeName(typeof(long)));
     Assert.AreEqual("float", SwaggerSpec.GetDataTypeName(typeof(float)));
     Assert.AreEqual("double", SwaggerSpec.GetDataTypeName(typeof(double)));
     Assert.AreEqual("Date", SwaggerSpec.GetDataTypeName(typeof(DateTime)));
     Assert.AreEqual("string", SwaggerSpec.GetDataTypeName(typeof(char)));
     Assert.AreEqual("string", SwaggerSpec.GetDataTypeName(typeof(string)));
     Assert.AreEqual("object", SwaggerSpec.GetDataTypeName(typeof(object)));
     Assert.AreEqual("MockEnum1", SwaggerSpec.GetDataTypeName(typeof(MockEnum1)));
     Assert.AreEqual("MockStruct1", SwaggerSpec.GetDataTypeName(typeof(MockStruct1)));
     Assert.AreEqual("MockClass1", SwaggerSpec.GetDataTypeName(typeof(MockClass1)));
 }
Beispiel #9
0
        private static void ApiDeclaration(SwaggerSpec swaggerSpec, string resourcePath, Action <ApiDeclaration> applyAssertions)
        {
            var declaration = swaggerSpec.Declarations[resourcePath];

            applyAssertions(declaration);
        }
Beispiel #10
0
 public void TestGenericTypes()
 {
     Assert.AreEqual("MockClass2[MockClass1]", SwaggerSpec.GetDataTypeName(typeof(MockClass2 <MockClass1>)));
     Assert.AreEqual("MockClass2[MockStruct1, MockClass1]", SwaggerSpec.GetDataTypeName(typeof(MockClass2 <MockStruct1, MockClass1>)));
     Assert.AreEqual("MockClass2[MockClass2[MockStruct1], MockClass1]", SwaggerSpec.GetDataTypeName(typeof(MockClass2 <MockClass2 <MockStruct1>, MockClass1>)));
 }