public void ShouldConvertObjectProperty()
        {
            //Arrange
            var pet       = new Pet();
            var converter = new OpenApiObjectConverter(new SchemaSettings());

            //Act
            var openApiObject = converter.Convert(pet);

            //Assert
            openApiObject.Keys.Contains("name");
            openApiObject.Keys.Contains("id");
            openApiObject.Keys.Contains("owner");

            var name = (OpenApiString)openApiObject["name"];

            name.PrimitiveType.Should().Be(PrimitiveType.String);
            name.Value.Should().Be("dog");

            var id = (OpenApiInteger)openApiObject["id"];

            id.PrimitiveType.Should().Be(PrimitiveType.Integer);
            id.Value.Should().Be(100);

            //Owner
            var owner = (OpenApiObject)openApiObject["owner"];

            owner.Keys.Contains("family");
            owner.Keys.Contains("address");
            owner.Keys.Contains("ownerFavorite");

            var family = (OpenApiString)owner["family"];

            family.PrimitiveType.Should().Be(PrimitiveType.String);
            family.Value.Should().Be("family1");

            var address = (OpenApiString)owner["address"];

            address.PrimitiveType.Should().Be(PrimitiveType.String);
            address.Value.Should().Be("address1");

            //Favorite
            var favorite = (OpenApiObject)owner["ownerFavorite"];

            favorite.Keys.Contains("name");
            favorite.Keys.Contains("category");

            var favoriteName = (OpenApiString)favorite["name"];

            favoriteName.PrimitiveType.Should().Be(PrimitiveType.String);
            favoriteName.Value.Should().Be("name1");

            var favoriteCategory = (OpenApiString)favorite["category"];

            favoriteCategory.Value.Should().Be("category1");
        }
示例#2
0
        public void ShouldConvertDictionary()
        {
            //Arrange
            var pet       = new Pet();
            var converter = new OpenApiObjectConverter(new SchemaSettings());

            //Act
            var apiObject = converter.Convert(pet);

            //Assert
        }
        public void ShouldConvertNullType()
        {
            //Arrange
            var pet = new NullPet();

            var converter = new OpenApiObjectConverter(new SchemaSettings());

            //Act
            var openApiObject = converter.Convert(pet);

            //Assert
            openApiObject.Keys.First().Should().Be("age");
            openApiObject["age"].AnyType.Should().Be(AnyType.Null);
            openApiObject["age"].GetType().Should().Be(typeof(OpenApiNull));
        }
        public void ShouldConvertEnumType()
        {
            //Arrange
            var pet = new
            {
                status = Pet.StatusEnum.AvailableEnum
            };

            var converter = new OpenApiObjectConverter(new SchemaSettings());

            //Act
            var openApiObject = converter.Convert(pet);

            //Assert
            openApiObject.Keys.First().Should().Be("status");
            openApiObject["status"].AnyType.Should().Be(AnyType.Primitive);
            openApiObject["status"].GetType().Should().Be(typeof(OpenApiString));

            var stringObject = (OpenApiString)openApiObject["status"];

            stringObject.Value.Should().Be("AvailableEnum");
        }
        public void ShouldConvertIntType()
        {
            //Arrange
            var pet = new
            {
                id = 1,
            };

            var converter = new OpenApiObjectConverter(new SchemaSettings());

            //Act
            var openApiObject = converter.Convert(pet);

            //Assert
            openApiObject.Keys.First().Should().Be("id");
            openApiObject["id"].AnyType.Should().Be(AnyType.Primitive);
            openApiObject["id"].GetType().Should().Be(typeof(OpenApiInteger));

            var stringObject = (OpenApiInteger)openApiObject["id"];

            stringObject.Value.Should().Be(1);
        }
        public void ShouldConvertStringType()
        {
            //Arrange
            var pet = new
            {
                name = "Pet",
            };

            var converter = new OpenApiObjectConverter(new SchemaSettings());

            //Act
            var openApiObject = converter.Convert(pet);

            //Assert
            openApiObject.Keys.First().Should().Be("name");
            openApiObject["name"].AnyType.Should().Be(AnyType.Primitive);
            openApiObject["name"].GetType().Should().Be(typeof(OpenApiString));

            var stringObject = (OpenApiString)openApiObject["name"];

            stringObject.Value.Should().Be("Pet");
        }
        public void ShouldConvertBoolType()
        {
            //Arrange
            var pet = new
            {
                isDog = true
            };

            var converter = new OpenApiObjectConverter(new SchemaSettings());

            //Act
            var openApiObject = converter.Convert(pet);

            //Assert
            openApiObject.Keys.First().Should().Be("isDog");
            openApiObject["isDog"].AnyType.Should().Be(AnyType.Primitive);
            openApiObject["isDog"].GetType().Should().Be(typeof(OpenApiBoolean));

            var stringObject = (OpenApiBoolean)openApiObject["isDog"];

            stringObject.Value.Should().Be(true);
        }
        public void ShouldConvertDateTimeType()
        {
            //Arrange
            var date = DateTime.Now;
            var pet  = new
            {
                birthDay = date,
            };

            var converter = new OpenApiObjectConverter(new SchemaSettings());

            //Act
            var openApiObject = converter.Convert(pet);

            //Assert
            openApiObject.Keys.First().Should().Be("birthDay");
            openApiObject["birthDay"].AnyType.Should().Be(AnyType.Primitive);
            openApiObject["birthDay"].GetType().Should().Be(typeof(OpenApiDateTime));

            var stringObject = (OpenApiDateTime)openApiObject["birthDay"];

            stringObject.Value.Should().Be(date);
        }
示例#9
0
        public void ShouldConvertListProperty()
        {
            //Arrange
            var pet       = new Pet();
            var converter = new OpenApiObjectConverter(new SchemaSettings());

            //Act
            var apiObject = converter.Convert(pet);

            //Assert
            apiObject.Keys.Contains("items");
            var items = (OpenApiArray)apiObject["items"];

            items.Count.Should().Be(3);

            //Item1
            var item1 = (OpenApiObject)items[0];

            item1.Keys.Contains("name");
            item1.Keys.Contains("id");
            item1.Keys.Contains("petCategory");
            item1.Keys.Contains("categories");

            var item1Name = (OpenApiString)item1["name"];

            item1Name.Value.Should().Be("name1");
            var item1Id = (OpenApiInteger)item1["id"];

            item1Id.Value.Should().Be(1);

            //Item1 petCategory
            var item1PetCategory = (OpenApiObject)item1["petCategory"];

            item1PetCategory.Keys.Contains("name");
            var item1PetCategoryName = (OpenApiString)item1PetCategory["name"];

            item1PetCategoryName.Value.Should().Be("category1");

            //Item1 categories
            var item1Categories = (OpenApiArray)item1["categories"];

            item1Categories.Count.Should().Be(1);
            var item1CategoriesItem1     = (OpenApiObject)item1Categories[0];
            var item1CategoriesItem1Name = (OpenApiString)item1CategoriesItem1["name"];

            item1CategoriesItem1Name.Value.Should().Be("categories-name1");

            //Item2
            var item2     = (OpenApiObject)items[1];
            var item2Name = (OpenApiString)item2["name"];

            item2Name.Value.Should().Be("name2");
            var item2Id = (OpenApiInteger)item2["id"];

            item2Id.Value.Should().Be(0);

            var item2PetCategory = item2["petCategory"];

            item2PetCategory.AnyType.Should().Be(AnyType.Null);
            var item2Categories = (OpenApiArray)item2["categories"];

            item2Categories.Count.Should().Be(0);

            //Item3
            var item3     = (OpenApiObject)items[2];
            var item3Name = (OpenApiString)item3["name"];

            item3Name.Value.Should().Be("name3");
            var item3Id = (OpenApiInteger)item3["id"];

            item3Id.Value.Should().Be(0);

            var item3PetCategory = item3["petCategory"];

            item3PetCategory.AnyType.Should().Be(AnyType.Null);
            var item3Categories = item3["categories"];

            item3Categories.AnyType.Should().Be(AnyType.Null);
        }