Use name@provider instead of provider@name.

This commit is contained in:
Ludovic Fernandez 2019-06-21 09:54:04 +02:00 committed by Traefiker Bot
parent 1e779f7135
commit adc9a65ae3
35 changed files with 472 additions and 472 deletions

View file

@ -41,13 +41,13 @@ func TestAggregator(t *testing.T) {
},
expected: &config.HTTPConfiguration{
Routers: map[string]*config.Router{
"provider-1@router-1": {},
"router-1@provider-1": {},
},
Middlewares: map[string]*config.Middleware{
"provider-1@middleware-1": {},
"middleware-1@provider-1": {},
},
Services: map[string]*config.Service{
"provider-1@service-1": {},
"service-1@provider-1": {},
},
},
},
@ -83,16 +83,16 @@ func TestAggregator(t *testing.T) {
},
expected: &config.HTTPConfiguration{
Routers: map[string]*config.Router{
"provider-1@router-1": {},
"provider-2@router-1": {},
"router-1@provider-1": {},
"router-1@provider-2": {},
},
Middlewares: map[string]*config.Middleware{
"provider-1@middleware-1": {},
"provider-2@middleware-1": {},
"middleware-1@provider-1": {},
"middleware-1@provider-2": {},
},
Services: map[string]*config.Service{
"provider-1@service-1": {},
"provider-2@service-1": {},
"service-1@provider-1": {},
"service-1@provider-2": {},
},
},
},

View file

@ -21,11 +21,11 @@ func AddProviderInContext(ctx context.Context, elementName string) context.Conte
return ctx
}
if name, ok := ctx.Value(providerKey).(string); ok && name == parts[0] {
if name, ok := ctx.Value(providerKey).(string); ok && name == parts[1] {
return ctx
}
return context.WithValue(ctx, providerKey, parts[0])
return context.WithValue(ctx, providerKey, parts[1])
}
// GetQualifiedName Gets the fully qualified name.
@ -41,5 +41,5 @@ func GetQualifiedName(ctx context.Context, elementName string) string {
// MakeQualifiedName Creates a qualified name for an element
func MakeQualifiedName(providerName string, elementName string) string {
return providerName + "@" + elementName
return elementName + "@" + providerName
}

View file

@ -74,41 +74,41 @@ func TestBuilder_BuildChainWithContext(t *testing.T) {
expected: map[string]string{"middleware-1": "value-middleware-1"},
},
{
desc: "Should prefix the middlewareName with the provider in the context",
desc: "Should suffix the middlewareName with the provider in the context",
buildChain: []string{"middleware-1"},
configuration: map[string]*config.Middleware{
"provider-1@middleware-1": {
"middleware-1@provider-1": {
Headers: &config.Headers{
CustomRequestHeaders: map[string]string{"provider-1.middleware-1": "value-middleware-1"},
CustomRequestHeaders: map[string]string{"middleware-1@provider-1": "value-middleware-1"},
},
},
},
expected: map[string]string{"provider-1.middleware-1": "value-middleware-1"},
expected: map[string]string{"middleware-1@provider-1": "value-middleware-1"},
contextProvider: "provider-1",
},
{
desc: "Should not prefix a qualified middlewareName with the provider in the context",
buildChain: []string{"provider-1@middleware-1"},
desc: "Should not suffix a qualified middlewareName with the provider in the context",
buildChain: []string{"middleware-1@provider-1"},
configuration: map[string]*config.Middleware{
"provider-1@middleware-1": {
"middleware-1@provider-1": {
Headers: &config.Headers{
CustomRequestHeaders: map[string]string{"provider-1.middleware-1": "value-middleware-1"},
CustomRequestHeaders: map[string]string{"middleware-1@provider-1": "value-middleware-1"},
},
},
},
expected: map[string]string{"provider-1.middleware-1": "value-middleware-1"},
expected: map[string]string{"middleware-1@provider-1": "value-middleware-1"},
contextProvider: "provider-1",
},
{
desc: "Should be context aware if a chain references another middleware",
buildChain: []string{"provider-1@middleware-chain-1"},
buildChain: []string{"middleware-chain-1@provider-1"},
configuration: map[string]*config.Middleware{
"provider-1@middleware-1": {
"middleware-1@provider-1": {
Headers: &config.Headers{
CustomRequestHeaders: map[string]string{"middleware-1": "value-middleware-1"},
},
},
"provider-1@middleware-chain-1": {
"middleware-chain-1@provider-1": {
Chain: &config.Chain{
Middlewares: []string{"middleware-1"},
},
@ -118,31 +118,31 @@ func TestBuilder_BuildChainWithContext(t *testing.T) {
},
{
desc: "Should handle nested chains with different context",
buildChain: []string{"provider-1@middleware-chain-1", "middleware-chain-1"},
buildChain: []string{"middleware-chain-1@provider-1", "middleware-chain-1"},
configuration: map[string]*config.Middleware{
"provider-1@middleware-1": {
"middleware-1@provider-1": {
Headers: &config.Headers{
CustomRequestHeaders: map[string]string{"middleware-1": "value-middleware-1"},
},
},
"provider-1@middleware-2": {
"middleware-2@provider-1": {
Headers: &config.Headers{
CustomRequestHeaders: map[string]string{"middleware-2": "value-middleware-2"},
},
},
"provider-1@middleware-chain-1": {
"middleware-chain-1@provider-1": {
Chain: &config.Chain{
Middlewares: []string{"middleware-1"},
},
},
"provider-1@middleware-chain-2": {
"middleware-chain-2@provider-1": {
Chain: &config.Chain{
Middlewares: []string{"middleware-2"},
},
},
"provider-2@middleware-chain-1": {
"middleware-chain-1@provider-2": {
Chain: &config.Chain{
Middlewares: []string{"provider-1@middleware-2", "provider-1@middleware-chain-2"},
Middlewares: []string{"middleware-2@provider-1", "middleware-chain-2@provider-1"},
},
},
},
@ -176,28 +176,28 @@ func TestBuilder_BuildChainWithContext(t *testing.T) {
},
{
desc: "Detects recursion in Middleware chain",
buildChain: []string{"provider@m1"},
buildChain: []string{"m1@provider"},
configuration: map[string]*config.Middleware{
"provider2@ok": {
"ok@provider2": {
Retry: &config.Retry{},
},
"provider@m1": {
"m1@provider": {
Chain: &config.Chain{
Middlewares: []string{"provider2@m2"},
Middlewares: []string{"m2@provider2"},
},
},
"provider2@m2": {
"m2@provider2": {
Chain: &config.Chain{
Middlewares: []string{"ok", "provider@m3"},
Middlewares: []string{"ok", "m3@provider"},
},
},
"provider@m3": {
"m3@provider": {
Chain: &config.Chain{
Middlewares: []string{"m1"},
},
},
},
expectedError: errors.New("could not instantiate middleware provider@m1: recursion detected in provider@m1->provider2@m2->provider@m3->provider@m1"),
expectedError: errors.New("could not instantiate middleware m1@provider: recursion detected in m1@provider->m2@provider2->m3@provider->m1@provider"),
},
{
buildChain: []string{"ok", "m0"},
@ -261,7 +261,7 @@ func TestBuilder_BuildChainWithContext(t *testing.T) {
ctx := context.Background()
if len(test.contextProvider) > 0 {
ctx = internal.AddProviderInContext(ctx, test.contextProvider+"@foobar")
ctx = internal.AddProviderInContext(ctx, "foobar@"+test.contextProvider)
}
rtConf := config.NewRuntimeConfig(config.Configuration{

View file

@ -204,14 +204,14 @@ func TestRouterManager_Get(t *testing.T) {
{
desc: "no middleware with provider name",
routersConfig: map[string]*config.Router{
"provider-1@foo": {
"foo@provider-1": {
EntryPoints: []string{"web"},
Service: "foo-service",
Rule: "Host(`foo.bar`)",
},
},
serviceConfig: map[string]*config.Service{
"provider-1@foo-service": {
"foo-service@provider-1": {
LoadBalancer: &config.LoadBalancerService{
Servers: []config.Server{
{
@ -227,14 +227,14 @@ func TestRouterManager_Get(t *testing.T) {
{
desc: "no middleware with specified provider name",
routersConfig: map[string]*config.Router{
"provider-1@foo": {
"foo@provider-1": {
EntryPoints: []string{"web"},
Service: "provider-2@foo-service",
Service: "foo-service@provider-2",
Rule: "Host(`foo.bar`)",
},
},
serviceConfig: map[string]*config.Service{
"provider-2@foo-service": {
"foo-service@provider-2": {
LoadBalancer: &config.LoadBalancerService{
Servers: []config.Server{
{
@ -250,15 +250,15 @@ func TestRouterManager_Get(t *testing.T) {
{
desc: "middleware: chain with provider name",
routersConfig: map[string]*config.Router{
"provider-1@foo": {
"foo@provider-1": {
EntryPoints: []string{"web"},
Middlewares: []string{"provider-2@chain-middle", "headers-middle"},
Middlewares: []string{"chain-middle@provider-2", "headers-middle"},
Service: "foo-service",
Rule: "Host(`foo.bar`)",
},
},
serviceConfig: map[string]*config.Service{
"provider-1@foo-service": {
"foo-service@provider-1": {
LoadBalancer: &config.LoadBalancerService{
Servers: []config.Server{
{
@ -269,15 +269,15 @@ func TestRouterManager_Get(t *testing.T) {
},
},
middlewaresConfig: map[string]*config.Middleware{
"provider-2@chain-middle": {
"chain-middle@provider-2": {
Chain: &config.Chain{Middlewares: []string{"auth-middle"}},
},
"provider-2@auth-middle": {
"auth-middle@provider-2": {
BasicAuth: &config.BasicAuth{
Users: []string{"toto:titi"},
},
},
"provider-1@headers-middle": {
"headers-middle@provider-1": {
Headers: &config.Headers{
CustomRequestHeaders: map[string]string{"X-Apero": "beer"},
},

View file

@ -303,9 +303,9 @@ func TestManager_Build(t *testing.T) {
},
{
desc: "Service name with provider",
serviceName: "provider-1@serviceName",
serviceName: "serviceName@provider-1",
configs: map[string]*config.ServiceInfo{
"provider-1@serviceName": {
"serviceName@provider-1": {
Service: &config.Service{
LoadBalancer: &config.LoadBalancerService{},
},
@ -316,7 +316,7 @@ func TestManager_Build(t *testing.T) {
desc: "Service name with provider in context",
serviceName: "serviceName",
configs: map[string]*config.ServiceInfo{
"provider-1@serviceName": {
"serviceName@provider-1": {
Service: &config.Service{
LoadBalancer: &config.LoadBalancerService{},
},
@ -335,7 +335,7 @@ func TestManager_Build(t *testing.T) {
ctx := context.Background()
if len(test.providerName) > 0 {
ctx = internal.AddProviderInContext(ctx, test.providerName+"@foobar")
ctx = internal.AddProviderInContext(ctx, "foobar@"+test.providerName)
}
_, err := manager.BuildHTTP(ctx, test.serviceName, nil)

View file

@ -77,9 +77,9 @@ func TestManager_BuildTCP(t *testing.T) {
},
{
desc: "Service name with provider",
serviceName: "provider-1@serviceName",
serviceName: "serviceName@provider-1",
configs: map[string]*config.TCPServiceInfo{
"provider-1@serviceName": {
"serviceName@provider-1": {
TCPService: &config.TCPService{
LoadBalancer: &config.TCPLoadBalancerService{},
},
@ -90,7 +90,7 @@ func TestManager_BuildTCP(t *testing.T) {
desc: "Service name with provider in context",
serviceName: "serviceName",
configs: map[string]*config.TCPServiceInfo{
"provider-1@serviceName": {
"serviceName@provider-1": {
TCPService: &config.TCPService{
LoadBalancer: &config.TCPLoadBalancerService{},
},
@ -102,7 +102,7 @@ func TestManager_BuildTCP(t *testing.T) {
desc: "Server with correct host:port as address",
serviceName: "serviceName",
configs: map[string]*config.TCPServiceInfo{
"provider-1@serviceName": {
"serviceName@provider-1": {
TCPService: &config.TCPService{
LoadBalancer: &config.TCPLoadBalancerService{
Servers: []config.TCPServer{
@ -120,7 +120,7 @@ func TestManager_BuildTCP(t *testing.T) {
desc: "Server with correct ip:port as address",
serviceName: "serviceName",
configs: map[string]*config.TCPServiceInfo{
"provider-1@serviceName": {
"serviceName@provider-1": {
TCPService: &config.TCPService{
LoadBalancer: &config.TCPLoadBalancerService{
Servers: []config.TCPServer{
@ -138,7 +138,7 @@ func TestManager_BuildTCP(t *testing.T) {
desc: "missing port in address with hostname, server is skipped, error is logged",
serviceName: "serviceName",
configs: map[string]*config.TCPServiceInfo{
"provider-1@serviceName": {
"serviceName@provider-1": {
TCPService: &config.TCPService{
LoadBalancer: &config.TCPLoadBalancerService{
Servers: []config.TCPServer{
@ -156,7 +156,7 @@ func TestManager_BuildTCP(t *testing.T) {
desc: "missing port in address with ip, server is skipped, error is logged",
serviceName: "serviceName",
configs: map[string]*config.TCPServiceInfo{
"provider-1@serviceName": {
"serviceName@provider-1": {
TCPService: &config.TCPService{
LoadBalancer: &config.TCPLoadBalancerService{
Servers: []config.TCPServer{
@ -183,7 +183,7 @@ func TestManager_BuildTCP(t *testing.T) {
ctx := context.Background()
if len(test.providerName) > 0 {
ctx = internal.AddProviderInContext(ctx, test.providerName+"@foobar")
ctx = internal.AddProviderInContext(ctx, "foobar@"+test.providerName)
}
handler, err := manager.BuildTCP(ctx, test.serviceName)