OpenAPI Flaky fix (#20383)

Don't use network in tests unless we have to
This commit is contained in:
Ryan Brandenburg 2020-04-01 12:52:33 -07:00 committed by GitHub
parent bc140e8722
commit 7d450bba80
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 6 deletions

View File

@ -424,7 +424,7 @@ namespace Microsoft.DotNet.OpenApi.Add.Tests
{
var project = CreateBasicProject(withOpenApi: false);
var app = GetApplication(realHttp: true);
var app = GetApplication();
var url = BrokenUrl;
var run = app.Execute(new[] { "add", "url", url });

View File

@ -106,7 +106,8 @@ namespace Microsoft.DotNet.OpenApi.Tests
{ PackageUrl, Tuple.Create<string, ContentDispositionHeaderValue>(PackageUrlContent, null) },
{ NoDispositionUrl, Tuple.Create<string, ContentDispositionHeaderValue>(Content, null) },
{ NoExtensionUrl, Tuple.Create(Content, noExtension) },
{ NoSegmentUrl, Tuple.Create(Content, justAttachments) }
{ NoSegmentUrl, Tuple.Create(Content, justAttachments) },
{ BrokenUrl, null }
};
}
@ -139,10 +140,14 @@ namespace Microsoft.DotNet.OpenApi.Tests
public Task<IHttpResponseMessageWrapper> GetResponseAsync(string url)
{
var result = _results[url];
byte[] byteArray = Encoding.ASCII.GetBytes(result.Item1);
var stream = new MemoryStream(byteArray);
MemoryStream stream = null;
if(result != null)
{
byte[] byteArray = Encoding.ASCII.GetBytes(result.Item1);
stream = new MemoryStream(byteArray);
}
return Task.FromResult<IHttpResponseMessageWrapper>(new TestHttpResponseMessageWrapper(stream, result.Item2));
return Task.FromResult<IHttpResponseMessageWrapper>(new TestHttpResponseMessageWrapper(stream, result?.Item2));
}
}
@ -154,7 +159,17 @@ namespace Microsoft.DotNet.OpenApi.Tests
public bool IsSuccessCode()
{
return true;
switch(StatusCode)
{
case HttpStatusCode.OK:
case HttpStatusCode.Created:
case HttpStatusCode.NoContent:
case HttpStatusCode.Accepted:
return true;
case HttpStatusCode.NotFound:
default:
return false;
}
}
private readonly ContentDispositionHeaderValue _contentDisposition;
@ -164,6 +179,10 @@ namespace Microsoft.DotNet.OpenApi.Tests
ContentDispositionHeaderValue header)
{
Stream = Task.FromResult<Stream>(stream);
if (header is null && stream is null)
{
StatusCode = HttpStatusCode.NotFound;
}
_contentDisposition = header;
}