tempoary commit while refactoring tests sorry bisect nazis

This commit is contained in:
tom.pallister 2016-10-12 19:34:47 +01:00
parent cff130196f
commit cdeb97731e

View File

@ -5,6 +5,7 @@ namespace Ocelot.AcceptanceTests
using System.IO; using System.IO;
using System.Net; using System.Net;
using System.Net.Http; using System.Net.Http;
using System.Text;
using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.TestHost; using Microsoft.AspNetCore.TestHost;
using Ocelot.Library.Infrastructure.Configuration.Yaml; using Ocelot.Library.Infrastructure.Configuration.Yaml;
@ -43,7 +44,12 @@ namespace Ocelot.AcceptanceTests
[Fact] [Fact]
public void should_return_response_200() public void should_return_response_200()
{ {
this.Given(x => x.GivenThereIsAServiceRunningOn("http://localhost:51879")) var serviceResponse = new DefaultHttpContext();
serviceResponse.Request.Method = "get";
serviceResponse.Response.Body = GenerateStreamFromString("Hello from Laura");
serviceResponse.Response.StatusCode = 200;
this.Given(x => x.GivenThereIsAServiceRunningOn("http://localhost:51879", serviceResponse))
.And(x => x.GivenThereIsAConfiguration(new YamlConfiguration .And(x => x.GivenThereIsAConfiguration(new YamlConfiguration
{ {
ReRoutes = new List<YamlReRoute> ReRoutes = new List<YamlReRoute>
@ -66,7 +72,11 @@ namespace Ocelot.AcceptanceTests
[Fact] [Fact]
public void should_return_response_201() public void should_return_response_201()
{ {
this.Given(x => x.GivenThereIsAServiceRunningOn("http://localhost:51879")) var serviceResponse = new DefaultHttpContext();
serviceResponse.Request.Method = "post";
serviceResponse.Response.StatusCode = 201;
this.Given(x => x.GivenThereIsAServiceRunningOn("http://localhost:51879", serviceResponse))
.And(x => x.GivenThereIsAConfiguration(new YamlConfiguration .And(x => x.GivenThereIsAConfiguration(new YamlConfiguration
{ {
ReRoutes = new List<YamlReRoute> ReRoutes = new List<YamlReRoute>
@ -90,6 +100,15 @@ namespace Ocelot.AcceptanceTests
_postContent = new StringContent(postcontent); _postContent = new StringContent(postcontent);
} }
public Stream GenerateStreamFromString(string s)
{
var stream = new MemoryStream();
var writer = new StreamWriter(stream);
writer.Write(s);
writer.Flush();
stream.Position = 0;
return stream;
}
/// <summary> /// <summary>
/// This is annoying cos it should be in the constructor but we need to set up the yaml file before calling startup so its a step. /// This is annoying cos it should be in the constructor but we need to set up the yaml file before calling startup so its a step.
/// </summary> /// </summary>
@ -116,21 +135,24 @@ namespace Ocelot.AcceptanceTests
} }
} }
private void GivenThereIsAServiceRunningOn(string url) private void GivenThereIsAServiceRunningOn(string url, HttpContext httpContext)
{ {
var builder = new WebHostBuilder() var builder = new WebHostBuilder()
.Configure(app => .Configure(app =>
{ {
app.Run(async context => app.Run(async context =>
{ {
if (context.Request.Method.ToLower() == "get") context.Response.Body = httpContext.Response.Body;
context.Response.StatusCode = httpContext.Response.StatusCode;
/* if (context.Request.Method.ToLower() == "get")
{ {
await context.Response.WriteAsync("Hello from Laura"); await context.Response.WriteAsync("Hello from Laura");
} }
else else
{ {
context.Response.StatusCode = 201; context.Response.StatusCode = 201;
} }*/
}); });
}) })
.UseUrls(url) .UseUrls(url)