Ejemplo n.º 1
0
        private static async Task <ApiDefinition> GetSwaggerDocAsync(HttpClient client, Uri uri, CancellationToken cancellationToken)
        {
            var resp = await client.GetAsync(uri, cancellationToken).ConfigureAwait(false);

            if (cancellationToken.IsCancellationRequested)
            {
                return(null);
            }

            resp.EnsureSuccessStatusCode();
            string responseString = await resp.Content.ReadAsStringAsync().ConfigureAwait(false);

            JsonSerializer serializer = new JsonSerializer {
                PreserveReferencesHandling = PreserveReferencesHandling.All
            };
            JObject             responseObject = (JObject)serializer.Deserialize(new StringReader(responseString), typeof(JObject));
            ApiDefinitionReader reader         = new ApiDefinitionReader();

            responseObject = await PointerUtil.ResolvePointersAsync(uri, responseObject, client).ConfigureAwait(false) as JObject;

            if (responseObject is null)
            {
                return(new ApiDefinition());
            }

            return(reader.Read(responseObject, uri));
        }
Ejemplo n.º 2
0
        public void SetupApiDefinition(HttpState programState)
        {
            ApiDefinitionReader reader = new ApiDefinitionReader();

            programState.ApiDefinition = reader.Read(SwaggerDocument, SwaggerUri);
            if (programState.ApiDefinition is object)
            {
                programState.SwaggerEndpoint = SwaggerUri;
            }
        }
        public void Read_WithJObjectFormatNotSupportedByAnyExistingReader_ReturnsNull()
        {
            string json = @"{
  ""info"": {
    ""version"": ""v1"",
    ""title"": ""My API""
  }
}";

            ApiDefinitionReader apiDefinitionReader = new ApiDefinitionReader();

            ApiDefinition definition = apiDefinitionReader.Read(json, null);

            Assert.Null(definition);
        }
Ejemplo n.º 4
0
 public void SetupApiDefinition(HttpState programState)
 {
     if (SwaggerDocument is not null && SwaggerUri is not null)
     {
         ApiDefinitionReader      reader      = new ApiDefinitionReader();
         ApiDefinitionParseResult parseResult = reader.Read(SwaggerDocument, SwaggerUri);
         if (parseResult.Success)
         {
             programState.ApiDefinition = parseResult.ApiDefinition;
             if (programState.ApiDefinition is not null)
             {
                 programState.SwaggerEndpoint = SwaggerUri;
             }
         }
     }
 }
        public void RegisterReader_AddNewReader_VerifyReadReturnsApiDefinitionWithStructure()
        {
            string json = @"{
  ""fakeApi"": ""1.0.0"",
  ""info"": {
    ""version"": ""v1""
  }
}";

            ApiDefinition apiDefinition = new ApiDefinition()
            {
                DirectoryStructure = new DirectoryStructure(null)
            };
            ApiDefinitionReaderStub apiDefinitionReaderStub = new ApiDefinitionReaderStub(apiDefinition);

            ApiDefinitionReader reader = new ApiDefinitionReader();

            reader.RegisterReader(apiDefinitionReaderStub);

            ApiDefinition result = reader.Read(json, null);

            Assert.Same(apiDefinition, result);
        }