{
	"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": [ ]
		}
	]
}
