mirror of
				https://github.com/nsnail/Ocelot.git
				synced 2025-11-04 12:10:50 +08:00 
			
		
		
		
	Feature/proxy reason phrase (#618)
* #599 started work to proxy reason phrase * #599 test for aggregator
This commit is contained in:
		@@ -49,13 +49,13 @@ namespace Ocelot.UnitTests.Middleware
 | 
			
		||||
 | 
			
		||||
            var billDownstreamContext = new DownstreamContext(new DefaultHttpContext())
 | 
			
		||||
            {
 | 
			
		||||
                DownstreamResponse = new DownstreamResponse(new StringContent("Bill says hi"), HttpStatusCode.OK, new EditableList<KeyValuePair<string, IEnumerable<string>>>()),
 | 
			
		||||
                DownstreamResponse = new DownstreamResponse(new StringContent("Bill says hi"), HttpStatusCode.OK, new EditableList<KeyValuePair<string, IEnumerable<string>>>(), "some reason"),
 | 
			
		||||
                DownstreamReRoute = billDownstreamReRoute
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
            var georgeDownstreamContext = new DownstreamContext(new DefaultHttpContext())
 | 
			
		||||
            {
 | 
			
		||||
                DownstreamResponse = new DownstreamResponse(new StringContent("George says hi"), HttpStatusCode.OK, new List<KeyValuePair<string, IEnumerable<string>>>()),
 | 
			
		||||
                DownstreamResponse = new DownstreamResponse(new StringContent("George says hi"), HttpStatusCode.OK, new List<KeyValuePair<string, IEnumerable<string>>>(), "some reason"),
 | 
			
		||||
                DownstreamReRoute = georgeDownstreamReRoute
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
@@ -69,6 +69,7 @@ namespace Ocelot.UnitTests.Middleware
 | 
			
		||||
                .When(x => WhenIAggregate())
 | 
			
		||||
                .Then(x => ThenTheContentIs(expected))
 | 
			
		||||
                .And(x => ThenTheContentTypeIs("application/json"))
 | 
			
		||||
                .And(x => ThenTheReasonPhraseIs("cannot return from aggregate..which reason phrase would you use?"))
 | 
			
		||||
                .BDDfy();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@@ -91,13 +92,13 @@ namespace Ocelot.UnitTests.Middleware
 | 
			
		||||
 | 
			
		||||
            var billDownstreamContext = new DownstreamContext(new DefaultHttpContext())
 | 
			
		||||
            {
 | 
			
		||||
                DownstreamResponse = new DownstreamResponse(new StringContent("Bill says hi"), HttpStatusCode.OK, new List<KeyValuePair<string, IEnumerable<string>>>()),
 | 
			
		||||
                DownstreamResponse = new DownstreamResponse(new StringContent("Bill says hi"), HttpStatusCode.OK, new List<KeyValuePair<string, IEnumerable<string>>>(), "some reason"),
 | 
			
		||||
                DownstreamReRoute = billDownstreamReRoute
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
            var georgeDownstreamContext = new DownstreamContext(new DefaultHttpContext())
 | 
			
		||||
            {
 | 
			
		||||
                DownstreamResponse = new DownstreamResponse(new StringContent("Error"), HttpStatusCode.OK, new List<KeyValuePair<string, IEnumerable<string>>>()),
 | 
			
		||||
                DownstreamResponse = new DownstreamResponse(new StringContent("Error"), HttpStatusCode.OK, new List<KeyValuePair<string, IEnumerable<string>>>(), "some reason"),
 | 
			
		||||
                DownstreamReRoute = georgeDownstreamReRoute,
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
@@ -116,6 +117,11 @@ namespace Ocelot.UnitTests.Middleware
 | 
			
		||||
                .BDDfy();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private void ThenTheReasonPhraseIs(string expected)
 | 
			
		||||
        {
 | 
			
		||||
            _upstreamContext.DownstreamResponse.ReasonPhrase.ShouldBe(expected);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private void ThenTheErrorIsMapped()
 | 
			
		||||
        {
 | 
			
		||||
            _upstreamContext.Errors.ShouldBe(_downstreamContexts[1].Errors);
 | 
			
		||||
 
 | 
			
		||||
@@ -43,11 +43,11 @@ namespace Ocelot.UnitTests.Middleware
 | 
			
		||||
            {
 | 
			
		||||
                new DownstreamContext(new DefaultHttpContext())
 | 
			
		||||
                {
 | 
			
		||||
                    DownstreamResponse = new DownstreamResponse(new StringContent("Tom"), HttpStatusCode.OK, new List<KeyValuePair<string, IEnumerable<string>>>())
 | 
			
		||||
                    DownstreamResponse = new DownstreamResponse(new StringContent("Tom"), HttpStatusCode.OK, new List<KeyValuePair<string, IEnumerable<string>>>(), "some reason")
 | 
			
		||||
                },
 | 
			
		||||
                new DownstreamContext(new DefaultHttpContext())
 | 
			
		||||
                {
 | 
			
		||||
                    DownstreamResponse = new DownstreamResponse(new StringContent("Laura"), HttpStatusCode.OK, new List<KeyValuePair<string, IEnumerable<string>>>())
 | 
			
		||||
                    DownstreamResponse = new DownstreamResponse(new StringContent("Laura"), HttpStatusCode.OK, new List<KeyValuePair<string, IEnumerable<string>>>(), "some reason")
 | 
			
		||||
                }
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
@@ -72,11 +72,11 @@ namespace Ocelot.UnitTests.Middleware
 | 
			
		||||
            {
 | 
			
		||||
                new DownstreamContext(new DefaultHttpContext())
 | 
			
		||||
                { 
 | 
			
		||||
                    DownstreamResponse = new DownstreamResponse(new StringContent("Tom"), HttpStatusCode.OK, new List<KeyValuePair<string, IEnumerable<string>>>())
 | 
			
		||||
                    DownstreamResponse = new DownstreamResponse(new StringContent("Tom"), HttpStatusCode.OK, new List<KeyValuePair<string, IEnumerable<string>>>(), "some reason")
 | 
			
		||||
                },
 | 
			
		||||
                new DownstreamContext(new DefaultHttpContext())
 | 
			
		||||
                {
 | 
			
		||||
                    DownstreamResponse = new DownstreamResponse(new StringContent("Laura"), HttpStatusCode.OK, new List<KeyValuePair<string, IEnumerable<string>>>())
 | 
			
		||||
                    DownstreamResponse = new DownstreamResponse(new StringContent("Laura"), HttpStatusCode.OK, new List<KeyValuePair<string, IEnumerable<string>>>(), "some reason")
 | 
			
		||||
                }
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
@@ -146,7 +146,7 @@ namespace Ocelot.UnitTests.Middleware
 | 
			
		||||
                var laura = await responses[1].Content.ReadAsStringAsync();
 | 
			
		||||
                var content = $"{tom}, {laura}";
 | 
			
		||||
                var headers = responses.SelectMany(x => x.Headers).ToList();
 | 
			
		||||
                return new DownstreamResponse(new StringContent(content), HttpStatusCode.OK, headers);
 | 
			
		||||
                return new DownstreamResponse(new StringContent(content), HttpStatusCode.OK, headers, "some reason");
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user