public string Create(IOpenApiMetadataResourceStrategy resourceStrategy) { try { var resources = resourceStrategy.GetFilteredResources(_documentContext) .ToList(); var swaggerDocument = new SwaggerDocument { info = new Info { title = "Ed-Fi Operational Data Store API", version = $"{ApiVersionConstants.Ods}", description = "The Ed-Fi ODS / API enables applications to read and write education data stored in an Ed-Fi ODS through a secure REST interface. \n***\n > *Note: Consumers of ODS / API information should sanitize all data for display and storage. The ODS / API provides reasonable safeguards against cross-site scripting attacks and other malicious content, but the platform does not and cannot guarantee that the data it contains is free of all potentially harmful content.* \n***\n" }, host = "%HOST%", basePath = "%BASE_PATH%", securityDefinitions = new Dictionary <string, SecurityScheme> { { "oauth2_client_credentials", new SecurityScheme { type = "oauth2", description = "Ed-Fi ODS/API OAuth 2.0 Client Credentials Grant Type authorization", flow = "application", tokenUrl = "%TOKEN_URL%", scopes = new Dictionary <string, string>() } } }, security = new List <IDictionary <string, IEnumerable <string> > > { new Dictionary <string, IEnumerable <string> > { { "oauth2_client_credentials", new string[0] } } }, consumes = _documentContext.IsCompositeContext ? null : SwaggerDocumentHelper.GetConsumes(), produces = SwaggerDocumentHelper.GetProduces(), tags = _tagsFactory.Create(resources), paths = _pathsFactory.Create(resources), definitions = _definitionsFactory.Create(resources), parameters = _parametersFactory.Create(_documentContext.IsCompositeContext), responses = _responsesFactory.Create() }; return(JsonConvert.SerializeObject( swaggerDocument, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore })); } catch (Exception ex) { _logger.Error(ex); throw; } }
protected override void Arrange() { _swaggerDocumentContext = DomainModelDefinitionsProviderHelper.DefaultSwaggerDocumentContext; var swaggerResources = _swaggerDocumentContext.ResourceModel.GetAllResources() .Select(r => new SwaggerResource(r)) .ToList(); _stubbedOpenApiMetadataResourceStrategy = Stub <IOpenApiMetadataResourceStrategy>(); A.CallTo(() => _stubbedOpenApiMetadataResourceStrategy.GetFilteredResources(A <SwaggerDocumentContext> ._)) .Returns(swaggerResources); }
protected override void Arrange() { _openApiMetadataDocumentContext = DomainModelDefinitionsProviderHelper.DefaultopenApiMetadataDocumentContext; var openApiMetadataResources = _openApiMetadataDocumentContext.ResourceModel.GetAllResources() .Select(r => new OpenApiMetadataResource(r)) .ToList(); _stubbedOpenApiMetadataResourceStrategy = Stub <IOpenApiMetadataResourceStrategy>(); A.CallTo(() => _stubbedOpenApiMetadataResourceStrategy.GetFilteredResources(A <OpenApiMetadataDocumentContext> ._)) .Returns(openApiMetadataResources); var defaultPageSizeLimitProvider = new DefaultPageSizeLimitProvider(GetConfiguration()); _openApiMetadataDocumentFactory = new OpenApiMetadataDocumentFactory( CreateApiSettings(), defaultPageSizeLimitProvider); }
public void Should_filter_the_resources() { A.CallTo( () => _stubbedOpenApiMetadataResourceStrategy.GetFilteredResources( A <OpenApiMetadataDocumentContext> .That.IsEqualTo(_openApiMetadataDocumentContext))).MustHaveHappened(); }
public void Should_filter_the_resources() { A.CallTo(() => _stubbedOpenApiMetadataResourceStrategy.GetFilteredResources(_openApiMetadataDocumentContext)) .MustHaveHappenedOnceExactly(); }