From 18895efdc48850b71e6cd1e6e8776cf1b618615f Mon Sep 17 00:00:00 2001 From: aliiohs <rzy1107@163.com> Date: Sat, 22 Jun 2019 14:44:54 +0800 Subject: [PATCH] fix some bug --- cluster/router/condition_router_test.go | 50 ++++++++++++------------- common/constant/key.go | 3 -- go.mod | 2 - go.sum | 1 + 4 files changed, 26 insertions(+), 30 deletions(-) diff --git a/cluster/router/condition_router_test.go b/cluster/router/condition_router_test.go index 69d842a2b..01673ae47 100644 --- a/cluster/router/condition_router_test.go +++ b/cluster/router/condition_router_test.go @@ -109,39 +109,39 @@ func (bi *MockInvoker) Destroy() { func TestRoute_matchWhen(t *testing.T) { inv := &invocation.RPCInvocation{} rule := base64.URLEncoding.EncodeToString([]byte("=> host = 1.2.3.4")) - router, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule)) + router, _ := NewConditionRouterFactory().Router(getRouteUrl(rule)) cUrl, _ := common.NewURL(context.TODO(), "consumer://1.1.1.1/com.foo.BarService") matchWhen, _ := router.(*ConditionRouter).MatchWhen(cUrl, inv) assert.Equal(t, true, matchWhen) rule1 := base64.URLEncoding.EncodeToString([]byte("host = 2.2.2.2,1.1.1.1,3.3.3.3 => host = 1.2.3.4")) - router1, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule1)) + router1, _ := NewConditionRouterFactory().Router(getRouteUrl(rule1)) matchWhen1, _ := router1.(*ConditionRouter).MatchWhen(cUrl, inv) assert.Equal(t, true, matchWhen1) rule2 := base64.URLEncoding.EncodeToString([]byte("host = 2.2.2.2,1.1.1.1,3.3.3.3 & host !=1.1.1.1 => host = 1.2.3.4")) - router2, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule2)) + router2, _ := NewConditionRouterFactory().Router(getRouteUrl(rule2)) matchWhen2, _ := router2.(*ConditionRouter).MatchWhen(cUrl, inv) assert.Equal(t, false, matchWhen2) rule3 := base64.URLEncoding.EncodeToString([]byte("host !=4.4.4.4 & host = 2.2.2.2,1.1.1.1,3.3.3.3 => host = 1.2.3.4")) - router3, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule3)) + router3, _ := NewConditionRouterFactory().Router(getRouteUrl(rule3)) matchWhen3, _ := router3.(*ConditionRouter).MatchWhen(cUrl, inv) assert.Equal(t, true, matchWhen3) rule4 := base64.URLEncoding.EncodeToString([]byte("host !=4.4.4.* & host = 2.2.2.2,1.1.1.1,3.3.3.3 => host = 1.2.3.4")) - router4, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule4)) + router4, _ := NewConditionRouterFactory().Router(getRouteUrl(rule4)) matchWhen4, _ := router4.(*ConditionRouter).MatchWhen(cUrl, inv) assert.Equal(t, true, matchWhen4) rule5 := base64.URLEncoding.EncodeToString([]byte("host = 2.2.2.2,1.1.1.*,3.3.3.3 & host != 1.1.1.1 => host = 1.2.3.4")) - router5, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule5)) + router5, _ := NewConditionRouterFactory().Router(getRouteUrl(rule5)) matchWhen5, _ := router5.(*ConditionRouter).MatchWhen(cUrl, inv) assert.Equal(t, false, matchWhen5) rule6 := base64.URLEncoding.EncodeToString([]byte("host = 2.2.2.2,1.1.1.*,3.3.3.3 & host != 1.1.1.2 => host = 1.2.3.4")) - router6, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule6)) + router6, _ := NewConditionRouterFactory().Router(getRouteUrl(rule6)) matchWhen6, _ := router6.(*ConditionRouter).MatchWhen(cUrl, inv) assert.Equal(t, true, matchWhen6) } @@ -156,12 +156,12 @@ func TestRoute_matchFilter(t *testing.T) { rule4 := base64.URLEncoding.EncodeToString([]byte("host = " + LocalIp() + " => " + " host = 10.20.3.2,10.20.3.3,10.20.3.4")) rule5 := base64.URLEncoding.EncodeToString([]byte("host = " + LocalIp() + " => " + " host != 10.20.3.3")) rule6 := base64.URLEncoding.EncodeToString([]byte("host = " + LocalIp() + " => " + " serialization = fastjson")) - router1, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule1)) - router2, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule2)) - router3, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule3)) - router4, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule4)) - router5, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule5)) - router6, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule6)) + router1, _ := NewConditionRouterFactory().Router(getRouteUrl(rule1)) + router2, _ := NewConditionRouterFactory().Router(getRouteUrl(rule2)) + router3, _ := NewConditionRouterFactory().Router(getRouteUrl(rule3)) + router4, _ := NewConditionRouterFactory().Router(getRouteUrl(rule4)) + router5, _ := NewConditionRouterFactory().Router(getRouteUrl(rule5)) + router6, _ := NewConditionRouterFactory().Router(getRouteUrl(rule6)) cUrl, _ := common.NewURL(context.TODO(), "consumer://"+LocalIp()+"/com.foo.BarService") fileredInvokers1 := router1.Route(invokers, cUrl, &invocation.RPCInvocation{}) @@ -183,7 +183,7 @@ func TestRoute_methodRoute(t *testing.T) { inv := invocation.NewRPCInvocation("getFoo", []reflect.Type{}, []interface{}{}) rule := base64.URLEncoding.EncodeToString([]byte("host !=4.4.4.* & host = 2.2.2.2,1.1.1.1,3.3.3.3 => host = 1.2.3.4")) - router, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule)) + router, _ := NewConditionRouterFactory().Router(getRouteUrl(rule)) url, _ := common.NewURL(context.TODO(), "consumer://1.1.1.1/com.foo.BarService?methods=setFoo,getFoo,findFoo") matchWhen, _ := router.(*ConditionRouter).MatchWhen(url, inv) @@ -195,13 +195,13 @@ func TestRoute_methodRoute(t *testing.T) { url2, _ := common.NewURL(context.TODO(), "consumer://1.1.1.1/com.foo.BarService?methods=getFoo") rule2 := base64.URLEncoding.EncodeToString([]byte("methods=getFoo & host!=1.1.1.1 => host = 1.2.3.4")) - router2, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule2)) + router2, _ := NewConditionRouterFactory().Router(getRouteUrl(rule2)) matchWhen, _ = router2.(*ConditionRouter).MatchWhen(url2, inv) assert.Equal(t, false, matchWhen) url3, _ := common.NewURL(context.TODO(), "consumer://1.1.1.1/com.foo.BarService?methods=getFoo") rule3 := base64.URLEncoding.EncodeToString([]byte("methods=getFoo & host=1.1.1.1 => host = 1.2.3.4")) - router3, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule3)) + router3, _ := NewConditionRouterFactory().Router(getRouteUrl(rule3)) matchWhen, _ = router3.(*ConditionRouter).MatchWhen(url3, inv) assert.Equal(t, true, matchWhen) @@ -214,7 +214,7 @@ func TestRoute_ReturnFalse(t *testing.T) { rule := base64.URLEncoding.EncodeToString([]byte("host = " + LocalIp() + " => false")) curl, _ := common.NewURL(context.TODO(), "consumer://"+LocalIp()+"/com.foo.BarService") - router, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule)) + router, _ := NewConditionRouterFactory().Router(getRouteUrl(rule)) fileredInvokers := router.(*ConditionRouter).Route(invokers, curl, inv) assert.Equal(t, 0, len(fileredInvokers)) } @@ -225,7 +225,7 @@ func TestRoute_ReturnEmpty(t *testing.T) { rule := base64.URLEncoding.EncodeToString([]byte("host = " + LocalIp() + " => ")) curl, _ := common.NewURL(context.TODO(), "consumer://"+LocalIp()+"/com.foo.BarService") - router, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule)) + router, _ := NewConditionRouterFactory().Router(getRouteUrl(rule)) fileredInvokers := router.(*ConditionRouter).Route(invokers, curl, inv) assert.Equal(t, 0, len(fileredInvokers)) } @@ -235,7 +235,7 @@ func TestRoute_ReturnAll(t *testing.T) { rule := base64.URLEncoding.EncodeToString([]byte("host = " + LocalIp() + " => " + " host = " + LocalIp())) curl, _ := common.NewURL(context.TODO(), "consumer://"+LocalIp()+"/com.foo.BarService") - router, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule)) + router, _ := NewConditionRouterFactory().Router(getRouteUrl(rule)) fileredInvokers := router.(*ConditionRouter).Route(invokers, curl, inv) assert.Equal(t, invokers, fileredInvokers) } @@ -252,7 +252,7 @@ func TestRoute_HostFilter(t *testing.T) { rule := base64.URLEncoding.EncodeToString([]byte("host = " + LocalIp() + " => " + " host = " + LocalIp())) curl, _ := common.NewURL(context.TODO(), "consumer://"+LocalIp()+"/com.foo.BarService") - router, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule)) + router, _ := NewConditionRouterFactory().Router(getRouteUrl(rule)) fileredInvokers := router.(*ConditionRouter).Route(invokers, curl, inv) assert.Equal(t, 2, len(fileredInvokers)) assert.Equal(t, invoker2, fileredInvokers[0]) @@ -270,7 +270,7 @@ func TestRoute_Empty_HostFilter(t *testing.T) { rule := base64.URLEncoding.EncodeToString([]byte(" => " + " host = " + LocalIp())) curl, _ := common.NewURL(context.TODO(), "consumer://"+LocalIp()+"/com.foo.BarService") - router, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule)) + router, _ := NewConditionRouterFactory().Router(getRouteUrl(rule)) fileredInvokers := router.(*ConditionRouter).Route(invokers, curl, inv) assert.Equal(t, 2, len(fileredInvokers)) assert.Equal(t, invoker2, fileredInvokers[0]) @@ -288,7 +288,7 @@ func TestRoute_False_HostFilter(t *testing.T) { rule := base64.URLEncoding.EncodeToString([]byte("true => " + " host = " + LocalIp())) curl, _ := common.NewURL(context.TODO(), "consumer://"+LocalIp()+"/com.foo.BarService") - router, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule)) + router, _ := NewConditionRouterFactory().Router(getRouteUrl(rule)) fileredInvokers := router.(*ConditionRouter).Route(invokers, curl, inv) assert.Equal(t, 2, len(fileredInvokers)) assert.Equal(t, invoker2, fileredInvokers[0]) @@ -306,7 +306,7 @@ func TestRoute_Placeholder(t *testing.T) { rule := base64.URLEncoding.EncodeToString([]byte("host = " + LocalIp() + " => " + " host = $host")) curl, _ := common.NewURL(context.TODO(), "consumer://"+LocalIp()+"/com.foo.BarService") - router, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule)) + router, _ := NewConditionRouterFactory().Router(getRouteUrl(rule)) fileredInvokers := router.(*ConditionRouter).Route(invokers, curl, inv) assert.Equal(t, 2, len(fileredInvokers)) assert.Equal(t, invoker2, fileredInvokers[0]) @@ -324,7 +324,7 @@ func TestRoute_NoForce(t *testing.T) { rule := base64.URLEncoding.EncodeToString([]byte("host = " + LocalIp() + " => " + " host = 1.2.3.4")) curl, _ := common.NewURL(context.TODO(), "consumer://"+LocalIp()+"/com.foo.BarService") - router, _ := NewConditionRouterFactory().GetRouter(getRouteUrlWithNoForce(rule)) + router, _ := NewConditionRouterFactory().Router(getRouteUrlWithNoForce(rule)) fileredInvokers := router.(*ConditionRouter).Route(invokers, curl, inv) assert.Equal(t, invokers, fileredInvokers) } @@ -340,7 +340,7 @@ func TestRoute_Force(t *testing.T) { rule := base64.URLEncoding.EncodeToString([]byte("host = " + LocalIp() + " => " + " host = 1.2.3.4")) curl, _ := common.NewURL(context.TODO(), "consumer://"+LocalIp()+"/com.foo.BarService") - router, _ := NewConditionRouterFactory().GetRouter(getRouteUrlWithForce(rule, "true")) + router, _ := NewConditionRouterFactory().Router(getRouteUrlWithForce(rule, "true")) fileredInvokers := router.(*ConditionRouter).Route(invokers, curl, inv) assert.Equal(t, 0, len(fileredInvokers)) } diff --git a/common/constant/key.go b/common/constant/key.go index b155c3b0f..55bf7b7c8 100644 --- a/common/constant/key.go +++ b/common/constant/key.go @@ -75,7 +75,4 @@ const ( const ( CONFIG_NAMESPACE_KEY = "config.namespace" CONFIG_TIMEOUT_KET = "config.timeout" - METHOD_KEY = "method" - METHOD_KEYS = "methods" - RULE_KEY = "rule" ) diff --git a/go.mod b/go.mod index 709124241..213d7ee8e 100644 --- a/go.mod +++ b/go.mod @@ -4,11 +4,9 @@ require ( github.com/dubbogo/getty v1.0.7 github.com/dubbogo/hessian2 v1.0.2 github.com/pkg/errors v0.8.1 - github.com/robertkrimen/otto v0.0.0-20180617131154-15f95af6e78d github.com/samuel/go-zookeeper v0.0.0-20180130194729-c4fab1ac1bec github.com/stretchr/testify v1.3.0 go.uber.org/atomic v1.4.0 go.uber.org/zap v1.10.0 - gopkg.in/sourcemap.v1 v1.0.5 // indirect gopkg.in/yaml.v2 v2.2.2 ) diff --git a/go.sum b/go.sum index f39e814c8..821abcdce 100644 --- a/go.sum +++ b/go.sum @@ -31,5 +31,6 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/sourcemap.v1 v1.0.5/go.mod h1:2RlvNNSMglmRrcvhfuzp4hQHwOtjxlbjX7UPY/GXb78= gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -- GitLab