Updates to the affinity router test framework as
well as bug fixes to the affinity router found by
the test framework.
Change-Id: I90e6baa9e9ee11bd8034498b8651e9e14512e528
diff --git a/tests/afrouter/suites/test3.tmpl.json b/tests/afrouter/suites/test3.tmpl.json
new file mode 100644
index 0000000..b3118ff
--- /dev/null
+++ b/tests/afrouter/suites/test3.tmpl.json
@@ -0,0 +1,235 @@
+{
+ "environment":{
+ "cmdLine":"afrouter -config arouter_test.json -logLevel 1",
+ "protoFiles": [
+ {
+ "importPath":"github.com/opencord/voltha-go/protos/",
+ "service":"VolthaService",
+ "package":"voltha"
+ },
+ {
+ "importPath":"github.com/opencord/voltha-go/protos/",
+ "service":"Configuration",
+ "package":"afrouter"
+ }
+ ],
+ "imports": [
+ "github.com/golang/protobuf/ptypes/empty",
+ "github.com/opencord/voltha-go/protos/openflow_13"
+ ],
+ "protoDesc":"voltha.pb",
+ "protoSubst": [
+ {
+ "from":"google.protobuf.Empty",
+ "to":"empty.Empty"
+ }
+ ],
+ "clients": {
+ "imports": [
+ "github.com/golang/protobuf/ptypes/empty",
+ "github.com/opencord/voltha-go/protos/openflow_13"
+ ],
+ "endpoints": [
+ {
+ "name":"client",
+ "port":"5000"
+ },
+ {
+ "name":"stats",
+ "port":"55554"
+ }
+ ]
+ },
+ "servers": {
+ "imports": [
+ "github.com/golang/protobuf/ptypes/empty",
+ "github.com/opencord/voltha-go/protos/openflow_13"
+ ],
+ "endpoints": [
+ {
+ "name":"core11",
+ "port":"5011"
+ },
+ {
+ "name":"core12",
+ "port":"5012"
+ },
+ {
+ "name":"core21",
+ "port":"5021"
+ },
+ {
+ "name":"core22",
+ "port":"5022"
+ },
+ {
+ "name":"core31",
+ "port":"5031"
+ },
+ {
+ "name":"core32",
+ "port":"5032"
+ },
+ {
+ "name":"roCore1",
+ "port":"5001"
+ },
+ {
+ "name":"roCore2",
+ "port":"5002"
+ },
+ {
+ "name":"roCore3",
+ "port":"5003"
+ }
+ ]
+ }
+ },
+ "tests":[
+ {{range $k,$v := .RoTests}}
+ {
+ "name":"{{$v.Name}}",
+ "send": {
+ "client":"client",
+ "method":"{{$v.Method}}",
+ "param":"{{$v.Param}}",
+ "expect":"{{$v.Expect}}",
+ "_meta":""
+ },
+ "servers": [
+ {
+ "name":"core{{$v.Core}}1",
+ "meta": [
+ {
+ "key":"voltha_serial_number",
+ "value":"{{$v.SerNo}}"
+ }
+ ]
+ },
+ {
+ "name":"core{{$v.Core}}2",
+ "meta": [
+ {
+ "key":"voltha_serial_number",
+ "value":"{{$v.SerNo}}"
+ }
+ ]
+ }
+ ]
+ },
+ {{end}}
+ {{range $k,$v := .RwTests}}
+ {
+ "name":"{{$v.Name}}",
+ "send": {
+ "client":"client",
+ "method":"{{$v.Method}}",
+ "param":"{{$v.Param}}",
+ "expect":"{{$v.Expect}}",
+ "_meta":""
+ },
+ "servers": [
+ {
+ "name":"core{{$v.Core}}1",
+ "meta": [
+ {
+ "key":"voltha_serial_number",
+ "value":"{{$v.SerNo}}"
+ }
+ ]
+ },
+ {
+ "name":"core{{$v.Core}}2",
+ "meta": [
+ {
+ "key":"voltha_serial_number",
+ "value":"{{$v.SerNo}}"
+ }
+ ]
+ }
+ ]
+ },
+ {{end}}
+ {{range $k,$v := .CtlTests}}
+ {
+ "name":"{{$v.Name}}",
+ "send": {
+ "client":"client",
+ "method":"{{$v.Method}}",
+ "param":"{{$v.Param}}",
+ "expect":"{{$v.Expect}}",
+ "_meta":""
+ },
+ "servers": [
+ {
+ "name":"core{{$v.Core}}1",
+ "meta": [
+ {
+ "key":"voltha_serial_number",
+ "value":"{{$v.SerNo}}"
+ }
+ ]
+ },
+ {
+ "name":"core{{$v.Core}}2",
+ "meta": [
+ {
+ "key":"voltha_serial_number",
+ "value":"{{$v.SerNo}}"
+ }
+ ]
+ }
+ ]
+ },
+ {{end}}
+ {
+ "name":"Test Subscribe",
+ "send": {
+ "client":"client",
+ "method":"Subscribe",
+ "param":"{OfagentId:\"Agent007\"}",
+ "meta": [
+ {
+ "key":"voltha_backend_name",
+ "value":""
+ }
+ ],
+ "expect":"{OfagentId:\"Agent007\",VolthaId:\"core11\"}",
+ "expectMeta": [
+ {
+ "key":"voltha_backend_name",
+ "value":"vcore1"
+ }
+ ]
+ },
+ "servers": [
+ {
+ "name":"core11",
+ "meta": [
+ {
+ "key":"voltha_serial_number",
+ "value":"44"
+ },
+ {
+ "key":"voltha_backend_name",
+ "value":""
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "_COMMENT":"If this test case fails, there could be a goroutine leak",
+ "name":"Get goroutine count",
+ "send": {
+ "client":"stats",
+ "method":"GetGoroutineCount",
+ "param":"{}",
+ "meta": [ ],
+ "expect":"{Count:39}",
+ "expectMeta": [ ]
+ },
+ "servers": [ ]
+ }
+ ]
+}