public void GenerateSchemaCustomSettingsShouldSucceed(
            Type type,
            OpenApiDocumentGenerationSettings generationSettings,
            OpenApiSchema expectedSchema,
            IDictionary <string, OpenApiSchema> expectedReferences)
        {
            _output.WriteLine(type.ToString());

            // Arrange
            var referenceRegistryManager =
                new ReferenceRegistryManager(generationSettings);

            // Act
            var returnedSchema =
                referenceRegistryManager.FindOrAddSchemaReference(type);

            // Assert
            var actualSchema     = returnedSchema;
            var actualReferences = referenceRegistryManager.SchemaReferenceRegistry.References;

            _output.WriteLine(actualSchema.SerializeAsJson(OpenApiSpecVersion.OpenApi3_0));
            foreach (var reference in actualReferences)
            {
                _output.WriteLine(reference.Key);
                _output.WriteLine(reference.Value.SerializeAsJson(OpenApiSpecVersion.OpenApi3_0));
            }

            actualSchema.Should().BeEquivalentTo(expectedSchema);
            actualReferences.Should().BeEquivalentTo(expectedReferences);
        }
예제 #2
0
        public void GenerateSchemaFromTypeShouldFail(
            Type type,
            string expectedExceptionMessage)
        {
            var referenceRegistryManager = new ReferenceRegistryManager();

            Action action = () => referenceRegistryManager.FindOrAddSchemaReference(type);

            action.Should().Throw <DocumentationException>(expectedExceptionMessage);
        }
        public void GenerateSchemaFromTypeShouldFail(
            Type type,
            string expectedExceptionMessage)
        {
            var referenceRegistryManager =
                new ReferenceRegistryManager(
                    new OpenApiDocumentGenerationSettings(
                        new SchemaGenerationSettings(new DefaultPropertyNameResolver())));

            Action action = () => referenceRegistryManager.FindOrAddSchemaReference(type);

            action.Should().Throw <DocumentationException>(expectedExceptionMessage);
        }