diff options
author | Huabing Zhao <zhaohuabing@gmail.com> | 2018-08-06 08:06:16 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2018-08-06 08:06:16 +0000 |
commit | a8ff5780e3aba5fef8d5c7247ca0b4e2b4523afb (patch) | |
tree | bced8872f98e35074767d64801bed0b3c49d61f7 | |
parent | 23c8b92d3e365bac0f5ef57928cbe2d0df2d13ad (diff) | |
parent | 4933a469c8c76b0b2c5e03ddaedefbc1bd40122d (diff) |
Merge "add ut from create routerule"
-rw-r--r-- | msb2pilot/src/msb2pilot/pilot/msb_test.go | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/msb2pilot/src/msb2pilot/pilot/msb_test.go b/msb2pilot/src/msb2pilot/pilot/msb_test.go new file mode 100644 index 0000000..e3cf7ad --- /dev/null +++ b/msb2pilot/src/msb2pilot/pilot/msb_test.go @@ -0,0 +1,108 @@ +/** + * Copyright (c) 2018 ZTE Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and the Apache License 2.0 which both accompany this distribution, + * and are available at http://www.eclipse.org/legal/epl-v10.html + * and http://www.apache.org/licenses/LICENSE-2.0 + * + * Contributors: + * ZTE - initial Project + */ +package pilot + +import ( + "testing" +) + +func TestCreateRouteRule(t *testing.T) { + cases := []struct { + sService, sPath, tService, tPath, want string + }{ + { // success demo + sService: "sservice", + sPath: "/", + tService: "tservice", + tPath: "/", + want: `{ +"apiVersion": "config.istio.io/v1alpha2", +"kind": "RouteRule", +"metadata": { + "name": "msbcustom.tservice" +}, +"spec": { + "destination":{ + "name":"sservice" + }, + "match":{ + "request":{ + "headers": { + "uri": { + "prefix": "/" + } + } + } + }, + "rewrite": { + "uri": "/" + }, + "route":[ + { + "destination":{ + "name":"tservice" + } + } + ] +} +} + +`, + }, + { // rule name must consist of lower case alphanuberic charactoers, '-' or '.'. and must start and end with an alphanumberic charactore + sService: "sservice", + sPath: "/", + tService: "123ABCrule-name.test~!@#$%^&*()_+321", + tPath: "/", + want: `{ +"apiVersion": "config.istio.io/v1alpha2", +"kind": "RouteRule", +"metadata": { + "name": "msbcustom.123rule-name.test321" +}, +"spec": { + "destination":{ + "name":"sservice" + }, + "match":{ + "request":{ + "headers": { + "uri": { + "prefix": "/" + } + } + } + }, + "rewrite": { + "uri": "/" + }, + "route":[ + { + "destination":{ + "name":"123ABCrule-name.test~!@#$%^&*()_+321" + } + } + ] +} +} + +`, + }, + } + + for _, cas := range cases { + got := createRouteRule(cas.sService, cas.sPath, cas.tService, cas.tPath) + if got != cas.want { + t.Errorf("createRouteRule(%s, %s, %s, %s) => got %s, want %s", cas.sService, cas.sPath, cas.tService, cas.tPath, got, cas.want) + } + } +} |