mirror of
				https://github.com/nsnail/Ocelot.git
				synced 2025-11-05 00:10:49 +08:00 
			
		
		
		
	merge
This commit is contained in:
		@@ -46,7 +46,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                                    {
 | 
			
		||||
                                        DownstreamHost = "127.0.0.1",
 | 
			
		||||
                                        UpstreamTemplate = "/api/products/{productId}",
 | 
			
		||||
                                        DownstreamTemplate = "/products/{productId}",
 | 
			
		||||
                                        DownstreamPathTemplate = "/products/{productId}",
 | 
			
		||||
                                        UpstreamHttpMethod = "Get",
 | 
			
		||||
                                    }
 | 
			
		||||
                                },
 | 
			
		||||
@@ -57,7 +57,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                                {
 | 
			
		||||
                                    new ReRouteBuilder()
 | 
			
		||||
                                        .WithDownstreamHost("127.0.0.1")
 | 
			
		||||
                                        .WithDownstreamTemplate("/products/{productId}")
 | 
			
		||||
                                        .WithDownstreamPathTemplate("/products/{productId}")
 | 
			
		||||
                                        .WithUpstreamTemplate("/api/products/{productId}")
 | 
			
		||||
                                        .WithUpstreamHttpMethod("Get")
 | 
			
		||||
                                        .WithUpstreamTemplatePattern("(?i)/api/products/.*/$")
 | 
			
		||||
@@ -76,7 +76,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                                                {
 | 
			
		||||
                                                    DownstreamScheme = "https",
 | 
			
		||||
                                                    UpstreamTemplate = "/api/products/{productId}",
 | 
			
		||||
                                                    DownstreamTemplate = "/products/{productId}",
 | 
			
		||||
                                                    DownstreamPathTemplate = "/products/{productId}",
 | 
			
		||||
                                                    UpstreamHttpMethod = "Get",
 | 
			
		||||
                                                }
 | 
			
		||||
                                            },
 | 
			
		||||
@@ -87,7 +87,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                                            {
 | 
			
		||||
                                                new ReRouteBuilder()
 | 
			
		||||
                                                    .WithDownstreamScheme("https")
 | 
			
		||||
                                                    .WithDownstreamTemplate("/products/{productId}")
 | 
			
		||||
                                                    .WithDownstreamPathTemplate("/products/{productId}")
 | 
			
		||||
                                                    .WithUpstreamTemplate("/api/products/{productId}")
 | 
			
		||||
                                                    .WithUpstreamHttpMethod("Get")
 | 
			
		||||
                                                    .WithUpstreamTemplatePattern("(?i)/api/products/.*/$")
 | 
			
		||||
@@ -106,7 +106,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                                new FileReRoute
 | 
			
		||||
                                {
 | 
			
		||||
                                    UpstreamTemplate = "/api/products/{productId}",
 | 
			
		||||
                                    DownstreamTemplate = "/products/{productId}",
 | 
			
		||||
                                    DownstreamPathTemplate = "/products/{productId}",
 | 
			
		||||
                                    UpstreamHttpMethod = "Get",
 | 
			
		||||
                                    ReRouteIsCaseSensitive = false,
 | 
			
		||||
                                    ServiceName = "ProductService"
 | 
			
		||||
@@ -126,7 +126,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                            .Then(x => x.ThenTheReRoutesAre(new List<ReRoute>
 | 
			
		||||
                            {
 | 
			
		||||
                                new ReRouteBuilder()
 | 
			
		||||
                                    .WithDownstreamTemplate("/products/{productId}")
 | 
			
		||||
                                    .WithDownstreamPathTemplate("/products/{productId}")
 | 
			
		||||
                                    .WithUpstreamTemplate("/api/products/{productId}")
 | 
			
		||||
                                    .WithUpstreamHttpMethod("Get")
 | 
			
		||||
                                    .WithUpstreamTemplatePattern("(?i)/api/products/.*/$")
 | 
			
		||||
@@ -149,7 +149,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                                new FileReRoute
 | 
			
		||||
                                {
 | 
			
		||||
                                    UpstreamTemplate = "/api/products/{productId}",
 | 
			
		||||
                                    DownstreamTemplate = "/products/{productId}",
 | 
			
		||||
                                    DownstreamPathTemplate = "/products/{productId}",
 | 
			
		||||
                                    UpstreamHttpMethod = "Get",
 | 
			
		||||
                                    ReRouteIsCaseSensitive = false,
 | 
			
		||||
                                }
 | 
			
		||||
@@ -160,7 +160,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                            .Then(x => x.ThenTheReRoutesAre(new List<ReRoute>
 | 
			
		||||
                            {
 | 
			
		||||
                                new ReRouteBuilder()
 | 
			
		||||
                                    .WithDownstreamTemplate("/products/{productId}")
 | 
			
		||||
                                    .WithDownstreamPathTemplate("/products/{productId}")
 | 
			
		||||
                                    .WithUpstreamTemplate("/api/products/{productId}")
 | 
			
		||||
                                    .WithUpstreamHttpMethod("Get")
 | 
			
		||||
                                    .WithUpstreamTemplatePattern("(?i)/api/products/.*/$")
 | 
			
		||||
@@ -182,7 +182,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                    new FileReRoute
 | 
			
		||||
                    {
 | 
			
		||||
                        UpstreamTemplate = "/api/products/{productId}",
 | 
			
		||||
                        DownstreamTemplate = "/products/{productId}",
 | 
			
		||||
                        DownstreamPathTemplate = "/products/{productId}",
 | 
			
		||||
                        UpstreamHttpMethod = "Get",
 | 
			
		||||
                        ReRouteIsCaseSensitive = false
 | 
			
		||||
                    }
 | 
			
		||||
@@ -193,7 +193,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                .Then(x => x.ThenTheReRoutesAre(new List<ReRoute>
 | 
			
		||||
                {
 | 
			
		||||
                    new ReRouteBuilder()
 | 
			
		||||
                        .WithDownstreamTemplate("/products/{productId}")
 | 
			
		||||
                        .WithDownstreamPathTemplate("/products/{productId}")
 | 
			
		||||
                        .WithUpstreamTemplate("/api/products/{productId}")
 | 
			
		||||
                        .WithUpstreamHttpMethod("Get")
 | 
			
		||||
                        .WithUpstreamTemplatePattern("(?i)/api/products/.*/$")
 | 
			
		||||
@@ -212,7 +212,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                    new FileReRoute
 | 
			
		||||
                    {
 | 
			
		||||
                        UpstreamTemplate = "/api/products/{productId}",
 | 
			
		||||
                        DownstreamTemplate = "/products/{productId}",
 | 
			
		||||
                        DownstreamPathTemplate = "/products/{productId}",
 | 
			
		||||
                        UpstreamHttpMethod = "Get"
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
@@ -222,7 +222,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                .Then(x => x.ThenTheReRoutesAre(new List<ReRoute>
 | 
			
		||||
                {
 | 
			
		||||
                    new ReRouteBuilder()
 | 
			
		||||
                        .WithDownstreamTemplate("/products/{productId}")
 | 
			
		||||
                        .WithDownstreamPathTemplate("/products/{productId}")
 | 
			
		||||
                        .WithUpstreamTemplate("/api/products/{productId}")
 | 
			
		||||
                        .WithUpstreamHttpMethod("Get")
 | 
			
		||||
                        .WithUpstreamTemplatePattern("(?i)/api/products/.*/$")
 | 
			
		||||
@@ -241,7 +241,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                    new FileReRoute
 | 
			
		||||
                    {
 | 
			
		||||
                        UpstreamTemplate = "/api/products/{productId}",
 | 
			
		||||
                        DownstreamTemplate = "/products/{productId}",
 | 
			
		||||
                        DownstreamPathTemplate = "/products/{productId}",
 | 
			
		||||
                        UpstreamHttpMethod = "Get",
 | 
			
		||||
                        ReRouteIsCaseSensitive = true
 | 
			
		||||
                    }
 | 
			
		||||
@@ -252,7 +252,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
              .Then(x => x.ThenTheReRoutesAre(new List<ReRoute>
 | 
			
		||||
              {
 | 
			
		||||
                    new ReRouteBuilder()
 | 
			
		||||
                        .WithDownstreamTemplate("/products/{productId}")
 | 
			
		||||
                        .WithDownstreamPathTemplate("/products/{productId}")
 | 
			
		||||
                        .WithUpstreamTemplate("/api/products/{productId}")
 | 
			
		||||
                        .WithUpstreamHttpMethod("Get")
 | 
			
		||||
                        .WithUpstreamTemplatePattern("/api/products/.*/$")
 | 
			
		||||
@@ -271,7 +271,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                    new FileReRoute
 | 
			
		||||
                    {
 | 
			
		||||
                        UpstreamTemplate = "/api/products/{productId}",
 | 
			
		||||
                        DownstreamTemplate = "/products/{productId}",
 | 
			
		||||
                        DownstreamPathTemplate = "/products/{productId}",
 | 
			
		||||
                        UpstreamHttpMethod = "Get",
 | 
			
		||||
                        ReRouteIsCaseSensitive = true
 | 
			
		||||
                    }
 | 
			
		||||
@@ -286,7 +286,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                .Then(x => x.ThenTheReRoutesAre(new List<ReRoute>
 | 
			
		||||
                {
 | 
			
		||||
                    new ReRouteBuilder()
 | 
			
		||||
                        .WithDownstreamTemplate("/products/{productId}")
 | 
			
		||||
                        .WithDownstreamPathTemplate("/products/{productId}")
 | 
			
		||||
                        .WithUpstreamTemplate("/api/products/{productId}")
 | 
			
		||||
                        .WithUpstreamHttpMethod("Get")
 | 
			
		||||
                        .WithUpstreamTemplatePattern("/api/products/.*/$")
 | 
			
		||||
@@ -306,7 +306,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                    new FileReRoute
 | 
			
		||||
                    {
 | 
			
		||||
                        UpstreamTemplate = "/api/products/{productId}",
 | 
			
		||||
                        DownstreamTemplate = "/products/{productId}",
 | 
			
		||||
                        DownstreamPathTemplate = "/products/{productId}",
 | 
			
		||||
                        UpstreamHttpMethod = "Get",
 | 
			
		||||
                        ReRouteIsCaseSensitive = true
 | 
			
		||||
                    }
 | 
			
		||||
@@ -317,7 +317,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                .Then(x => x.ThenTheReRoutesAre(new List<ReRoute>
 | 
			
		||||
                {
 | 
			
		||||
                    new ReRouteBuilder()
 | 
			
		||||
                        .WithDownstreamTemplate("/products/{productId}")
 | 
			
		||||
                        .WithDownstreamPathTemplate("/products/{productId}")
 | 
			
		||||
                        .WithUpstreamTemplate("/api/products/{productId}")
 | 
			
		||||
                        .WithUpstreamHttpMethod("Get")
 | 
			
		||||
                        .WithUpstreamTemplatePattern("/api/products/.*/$")
 | 
			
		||||
@@ -332,7 +332,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
            var expected = new List<ReRoute>
 | 
			
		||||
            {
 | 
			
		||||
                new ReRouteBuilder()
 | 
			
		||||
                    .WithDownstreamTemplate("/products/{productId}")
 | 
			
		||||
                    .WithDownstreamPathTemplate("/products/{productId}")
 | 
			
		||||
                    .WithUpstreamTemplate("/api/products/{productId}")
 | 
			
		||||
                    .WithUpstreamHttpMethod("Get")
 | 
			
		||||
                    .WithUpstreamTemplatePattern("/api/products/.*/$")
 | 
			
		||||
@@ -355,7 +355,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                    new FileReRoute
 | 
			
		||||
                    {
 | 
			
		||||
                        UpstreamTemplate = "/api/products/{productId}",
 | 
			
		||||
                        DownstreamTemplate = "/products/{productId}",
 | 
			
		||||
                        DownstreamPathTemplate = "/products/{productId}",
 | 
			
		||||
                        UpstreamHttpMethod = "Get",
 | 
			
		||||
                        ReRouteIsCaseSensitive = true,
 | 
			
		||||
                        AuthenticationOptions = new FileAuthenticationOptions
 | 
			
		||||
@@ -395,7 +395,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
            var expected = new List<ReRoute>
 | 
			
		||||
            {
 | 
			
		||||
                new ReRouteBuilder()
 | 
			
		||||
                    .WithDownstreamTemplate("/products/{productId}")
 | 
			
		||||
                    .WithDownstreamPathTemplate("/products/{productId}")
 | 
			
		||||
                    .WithUpstreamTemplate("/api/products/{productId}")
 | 
			
		||||
                    .WithUpstreamHttpMethod("Get")
 | 
			
		||||
                    .WithUpstreamTemplatePattern("/api/products/.*/$")
 | 
			
		||||
@@ -414,7 +414,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                    new FileReRoute
 | 
			
		||||
                    {
 | 
			
		||||
                        UpstreamTemplate = "/api/products/{productId}",
 | 
			
		||||
                        DownstreamTemplate = "/products/{productId}",
 | 
			
		||||
                        DownstreamPathTemplate = "/products/{productId}",
 | 
			
		||||
                        UpstreamHttpMethod = "Get",
 | 
			
		||||
                        ReRouteIsCaseSensitive = true,
 | 
			
		||||
                        AuthenticationOptions = new FileAuthenticationOptions
 | 
			
		||||
@@ -446,7 +446,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                    new FileReRoute
 | 
			
		||||
                    {
 | 
			
		||||
                        UpstreamTemplate = "/api/products/{productId}/variants/{variantId}",
 | 
			
		||||
                        DownstreamTemplate = "/products/{productId}",
 | 
			
		||||
                        DownstreamPathTemplate = "/products/{productId}",
 | 
			
		||||
                        UpstreamHttpMethod = "Get",
 | 
			
		||||
                        ReRouteIsCaseSensitive = true
 | 
			
		||||
                    }
 | 
			
		||||
@@ -457,7 +457,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                .Then(x => x.ThenTheReRoutesAre(new List<ReRoute>
 | 
			
		||||
                {
 | 
			
		||||
                    new ReRouteBuilder()
 | 
			
		||||
                        .WithDownstreamTemplate("/products/{productId}")
 | 
			
		||||
                        .WithDownstreamPathTemplate("/products/{productId}")
 | 
			
		||||
                        .WithUpstreamTemplate("/api/products/{productId}/variants/{variantId}")
 | 
			
		||||
                        .WithUpstreamHttpMethod("Get")
 | 
			
		||||
                        .WithUpstreamTemplatePattern("/api/products/.*/variants/.*/$")
 | 
			
		||||
@@ -476,7 +476,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                    new FileReRoute
 | 
			
		||||
                    {
 | 
			
		||||
                        UpstreamTemplate = "/api/products/{productId}/variants/{variantId}/",
 | 
			
		||||
                        DownstreamTemplate = "/products/{productId}",
 | 
			
		||||
                        DownstreamPathTemplate = "/products/{productId}",
 | 
			
		||||
                        UpstreamHttpMethod = "Get",
 | 
			
		||||
                        ReRouteIsCaseSensitive = true
 | 
			
		||||
                    }
 | 
			
		||||
@@ -487,7 +487,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                .Then(x => x.ThenTheReRoutesAre(new List<ReRoute>
 | 
			
		||||
                {
 | 
			
		||||
                    new ReRouteBuilder()
 | 
			
		||||
                        .WithDownstreamTemplate("/products/{productId}")
 | 
			
		||||
                        .WithDownstreamPathTemplate("/products/{productId}")
 | 
			
		||||
                        .WithUpstreamTemplate("/api/products/{productId}/variants/{variantId}/")
 | 
			
		||||
                        .WithUpstreamHttpMethod("Get")
 | 
			
		||||
                        .WithUpstreamTemplatePattern("/api/products/.*/variants/.*/$")
 | 
			
		||||
@@ -506,7 +506,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                    new FileReRoute
 | 
			
		||||
                    {
 | 
			
		||||
                        UpstreamTemplate = "/",
 | 
			
		||||
                        DownstreamTemplate = "/api/products/",
 | 
			
		||||
                        DownstreamPathTemplate = "/api/products/",
 | 
			
		||||
                        UpstreamHttpMethod = "Get",
 | 
			
		||||
                        ReRouteIsCaseSensitive = true
 | 
			
		||||
                    }
 | 
			
		||||
@@ -517,7 +517,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                .Then(x => x.ThenTheReRoutesAre(new List<ReRoute>
 | 
			
		||||
                {
 | 
			
		||||
                    new ReRouteBuilder()
 | 
			
		||||
                        .WithDownstreamTemplate("/api/products/")
 | 
			
		||||
                        .WithDownstreamPathTemplate("/api/products/")
 | 
			
		||||
                        .WithUpstreamTemplate("/")
 | 
			
		||||
                        .WithUpstreamHttpMethod("Get")
 | 
			
		||||
                        .WithUpstreamTemplatePattern("/$")
 | 
			
		||||
@@ -553,7 +553,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                var result = _config.Data.ReRoutes[i];
 | 
			
		||||
                var expected = expectedReRoutes[i];
 | 
			
		||||
 | 
			
		||||
                result.DownstreamTemplate.ShouldBe(expected.DownstreamTemplate);
 | 
			
		||||
                result.DownstreamPathTemplate.Value.ShouldBe(expected.DownstreamPathTemplate.Value);
 | 
			
		||||
                result.UpstreamHttpMethod.ShouldBe(expected.UpstreamHttpMethod);
 | 
			
		||||
                result.UpstreamTemplate.ShouldBe(expected.UpstreamTemplate);
 | 
			
		||||
                result.UpstreamTemplatePattern.ShouldBe(expected.UpstreamTemplatePattern);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user