use subtest for table units (pkg/kubectl)

This commit is contained in:
Guoliang Wang
2018-05-12 17:24:28 +08:00
parent d057795f3b
commit bae074ef38
34 changed files with 1841 additions and 1301 deletions

View File

@@ -27,11 +27,13 @@ import (
func TestGenerateService(t *testing.T) {
tests := []struct {
name string
generator Generator
params map[string]interface{}
expected v1.Service
}{
{
name: "test1",
generator: ServiceGeneratorV2{},
params: map[string]interface{}{
"selector": "foo=bar,baz=blah",
@@ -60,7 +62,7 @@ func TestGenerateService(t *testing.T) {
},
},
{
name: "test2",
generator: ServiceGeneratorV2{},
params: map[string]interface{}{
"selector": "foo=bar,baz=blah",
@@ -89,6 +91,7 @@ func TestGenerateService(t *testing.T) {
},
},
{
name: "test3",
generator: ServiceGeneratorV2{},
params: map[string]interface{}{
"selector": "foo=bar,baz=blah",
@@ -122,6 +125,7 @@ func TestGenerateService(t *testing.T) {
},
},
{
name: "test4",
generator: ServiceGeneratorV2{},
params: map[string]interface{}{
"selector": "foo=bar,baz=blah",
@@ -152,6 +156,7 @@ func TestGenerateService(t *testing.T) {
},
},
{
name: "test5",
generator: ServiceGeneratorV2{},
params: map[string]interface{}{
"selector": "foo=bar,baz=blah",
@@ -184,6 +189,7 @@ func TestGenerateService(t *testing.T) {
},
},
{
name: "test6",
generator: ServiceGeneratorV2{},
params: map[string]interface{}{
"selector": "foo=bar,baz=blah",
@@ -214,6 +220,7 @@ func TestGenerateService(t *testing.T) {
},
},
{
name: "test7",
generator: ServiceGeneratorV2{},
params: map[string]interface{}{
"selector": "foo=bar,baz=blah",
@@ -245,6 +252,7 @@ func TestGenerateService(t *testing.T) {
},
},
{
name: "test8",
generator: ServiceGeneratorV1{},
params: map[string]interface{}{
"selector": "foo=bar,baz=blah",
@@ -274,6 +282,7 @@ func TestGenerateService(t *testing.T) {
},
},
{
name: "test9",
generator: ServiceGeneratorV1{},
params: map[string]interface{}{
"selector": "foo=bar,baz=blah",
@@ -305,6 +314,7 @@ func TestGenerateService(t *testing.T) {
},
},
{
name: "test10",
generator: ServiceGeneratorV2{},
params: map[string]interface{}{
"selector": "foo=bar,baz=blah",
@@ -335,6 +345,7 @@ func TestGenerateService(t *testing.T) {
},
},
{
name: "test11",
generator: ServiceGeneratorV2{},
params: map[string]interface{}{
"selector": "foo=bar,baz=blah",
@@ -365,6 +376,7 @@ func TestGenerateService(t *testing.T) {
},
},
{
name: "test12",
generator: ServiceGeneratorV1{},
params: map[string]interface{}{
"selector": "foo=bar",
@@ -399,6 +411,7 @@ func TestGenerateService(t *testing.T) {
},
},
{
name: "test13",
generator: ServiceGeneratorV2{},
params: map[string]interface{}{
"selector": "foo=bar",
@@ -433,6 +446,7 @@ func TestGenerateService(t *testing.T) {
},
},
{
name: "test14",
generator: ServiceGeneratorV2{},
params: map[string]interface{}{
"selector": "foo=bar",
@@ -466,6 +480,7 @@ func TestGenerateService(t *testing.T) {
},
},
{
name: "test15",
generator: ServiceGeneratorV2{},
params: map[string]interface{}{
"selector": "foo=bar",
@@ -499,6 +514,7 @@ func TestGenerateService(t *testing.T) {
},
},
{
name: "test16",
generator: ServiceGeneratorV2{},
params: map[string]interface{}{
"selector": "foo=bar",
@@ -538,6 +554,7 @@ func TestGenerateService(t *testing.T) {
},
},
{
name: "test17",
generator: ServiceGeneratorV2{},
params: map[string]interface{}{
"selector": "foo=bar,baz=blah",
@@ -561,6 +578,7 @@ func TestGenerateService(t *testing.T) {
},
},
{
name: "test18",
generator: ServiceGeneratorV2{},
params: map[string]interface{}{
"selector": "foo=bar",
@@ -581,13 +599,15 @@ func TestGenerateService(t *testing.T) {
},
},
}
for _, test := range tests {
obj, err := test.generator.Generate(test.params)
if !reflect.DeepEqual(obj, &test.expected) {
t.Errorf("expected:\n%#v\ngot\n%#v\n", &test.expected, obj)
}
if err != nil {
t.Errorf("unexpected error: %v", err)
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
obj, err := tt.generator.Generate(tt.params)
if !reflect.DeepEqual(obj, &tt.expected) {
t.Errorf("expected:\n%#v\ngot\n%#v\n", &tt.expected, obj)
}
if err != nil {
t.Errorf("unexpected error: %v", err)
}
})
}
}