public void it_should_acknowledge_restricted_resource() { var apiDescriptionBuilder = new ApiDescriptionBuilder <TestController>( _descriptionBuilder, _xmlDocProvider.Object, new[] { _typeDescriptionBuilder.Object }, new IServerBehaviorAttributeVisitor[0], _namedGraphSelectorFactory.Object); apiDescriptionBuilder.BuildDescription(_apiDocumentation.Object, null); var statusCodes = _apiDocumentation.Object.SupportedClasses.First().GetSupportedOperations().First(operation => operation.Operation.Label == "Update").Operation.StatusCodes; statusCodes.Should().Contain((int)HttpStatusCode.Unauthorized); }
public void it_should_build_the_api_documentation_using_a_Shacl_profile() { Mock <ITypeDescriptionBuilder> shaclTypeDescriptionBuilder = SetupTypeDescriptionBuilder(_entityContext, EntityConverter.Shacl); var apiDescriptionBuilder = new ApiDescriptionBuilder <TestController>( _descriptionBuilder, _xmlDocProvider.Object, new[] { _typeDescriptionBuilder.Object, shaclTypeDescriptionBuilder.Object }, new IServerBehaviorAttributeVisitor[0], _namedGraphSelectorFactory.Object); apiDescriptionBuilder.BuildDescription(_apiDocumentation.Object, new[] { EntityConverter.Shacl }); _typeDescriptionBuilder.VerifyGet(instance => instance.SupportedProfiles, Times.Once); shaclTypeDescriptionBuilder.VerifyGet(instance => instance.SupportedProfiles, Times.Once); _typeDescriptionBuilder.Verify(instance => instance.BuildTypeDescription(It.IsAny <DescriptionContext>()), Times.Never); }
public void it_should_build_the_api_documentation() { var apiDescriptionBuilder = new ApiDescriptionBuilder <TestController>( _descriptionBuilder, _xmlDocProvider.Object, new[] { _typeDescriptionBuilder.Object }, new IServerBehaviorAttributeVisitor[0], _namedGraphSelectorFactory.Object); apiDescriptionBuilder.BuildDescription(_apiDocumentation.Object, null); _apiDocumentation.Object.EntryPoints.Should().HaveCount(0); _apiDocumentation.Object.SupportedClasses.Should().HaveCount(1); _apiDocumentation.Object.SupportedClasses.First().SupportedOperations.Should().HaveCount(1); _apiDocumentation.Object.SupportedClasses.First().SupportedOperations.First().Method.Should().HaveCount(1); _apiDocumentation.Object.SupportedClasses.First().SupportedOperations.First().Method.First().Should().Be("POST"); }
public void it_should_list_possible_status_codes() { var apiDescriptionBuilder = new ApiDescriptionBuilder <TestController>( _descriptionBuilder, _xmlDocProvider.Object, new[] { _typeDescriptionBuilder.Object }, new IServerBehaviorAttributeVisitor[0], _namedGraphSelectorFactory.Object); apiDescriptionBuilder.BuildDescription(_apiDocumentation.Object, null); var statusCodes = _apiDocumentation.Object.SupportedClasses.First().GetSupportedOperations().First(operation => operation.Operation.Label == "Delete").Operation.StatusCodes; statusCodes.Should().Contain((int)HttpStatusCode.NoContent); statusCodes.Should().Contain((int)HttpStatusCode.NotFound); statusCodes.Should().Contain((int)HttpStatusCode.BadRequest); statusCodes.Should().Contain((int)HttpStatusCode.Forbidden); }