util test
This commit is contained in:
		
							parent
							
								
									a576d29017
								
							
						
					
					
						commit
						3ab8537b8b
					
				|  | @ -0,0 +1,118 @@ | |||
| package util | ||||
| 
 | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"reflect" | ||||
| 	"testing" | ||||
| 
 | ||||
| 	"k8s.io/client-go/pkg/api/v1" | ||||
| 
 | ||||
| 	"github.com/zalando-incubator/postgres-operator/pkg/spec" | ||||
| ) | ||||
| 
 | ||||
| var pgUsers = []struct { | ||||
| 	in  spec.PgUser | ||||
| 	out string | ||||
| }{{spec.PgUser{ | ||||
| 	Name:     "test", | ||||
| 	Password: "password", | ||||
| 	Flags:    []string{}, | ||||
| 	MemberOf: []string{}}, | ||||
| 	"md587f77988ccb5aa917c93201ba314fcd4"}, | ||||
| 	{spec.PgUser{ | ||||
| 		Name:     "test", | ||||
| 		Password: "md592f413f3974bdf3799bb6fecb5f9f2c6", | ||||
| 		Flags:    []string{}, | ||||
| 		MemberOf: []string{}}, | ||||
| 		"md592f413f3974bdf3799bb6fecb5f9f2c6"}} | ||||
| 
 | ||||
| var prettyTest = []struct { | ||||
| 	in  interface{} | ||||
| 	out string | ||||
| }{ | ||||
| 	{pgUsers, `[{{test password [] []} md587f77988ccb5aa917c93201ba314fcd4} {{test md592f413f3974bdf3799bb6fecb5f9f2c6 [] []} md592f413f3974bdf3799bb6fecb5f9f2c6}]`}, | ||||
| } | ||||
| 
 | ||||
| var prettyDiffTest = []struct { | ||||
| 	inA interface{} | ||||
| 	inB interface{} | ||||
| 	out string | ||||
| }{ | ||||
| 	{[]int{1, 2, 3, 4}, []int{1, 2, 3}, "[]int[4] != []int[3]"}, | ||||
| 	{[]int{1, 2, 3, 4}, []int{1, 2, 3, 4}, ""}, | ||||
| } | ||||
| 
 | ||||
| var substractTest = []struct { | ||||
| 	inA      []string | ||||
| 	inB      []string | ||||
| 	out      []string | ||||
| 	outEqual bool | ||||
| }{ | ||||
| 	{[]string{"a", "b", "c", "d"}, []string{"a", "b", "c", "d"}, []string{}, true}, | ||||
| 	{[]string{"a", "b", "c", "d"}, []string{"a", "bb", "c", "d"}, []string{"b"}, false}, | ||||
| } | ||||
| 
 | ||||
| func TestRandomPassword(t *testing.T) { | ||||
| 	const pwdLength = 10 | ||||
| 	pwd := RandomPassword(pwdLength) | ||||
| 	if a := len(pwd); a != pwdLength { | ||||
| 		t.Errorf("Password length expected: %d, got: %d", pwdLength, a) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func TestNameFromMeta(t *testing.T) { | ||||
| 	meta := v1.ObjectMeta{ | ||||
| 		Name:      "testcluster", | ||||
| 		Namespace: "default", | ||||
| 	} | ||||
| 
 | ||||
| 	expected := spec.NamespacedName{ | ||||
| 		Name:      "testcluster", | ||||
| 		Namespace: "default", | ||||
| 	} | ||||
| 
 | ||||
| 	actual := NameFromMeta(meta) | ||||
| 	if actual != expected { | ||||
| 		t.Errorf("NameFromMeta expected: %#v, got: %#v", expected, actual) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func TestPGUserPassword(t *testing.T) { | ||||
| 	for _, tt := range pgUsers { | ||||
| 		pwd := PGUserPassword(tt.in) | ||||
| 		if pwd != tt.out { | ||||
| 			t.Errorf("PgUserPassword expected: %s, got: %s", tt.out, pwd) | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func TestPretty(t *testing.T) { | ||||
| 	for _, tt := range prettyTest { | ||||
| 		if actual := Pretty(tt.in); fmt.Sprintf("%v", actual) != tt.out { | ||||
| 			t.Errorf("Pretty expected: %s, got: %s", tt.out, actual) | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func TestPrettyDiff(t *testing.T) { | ||||
| 	for _, tt := range prettyDiffTest { | ||||
| 		if actual := PrettyDiff(tt.inA, tt.inB); actual != tt.out { | ||||
| 			t.Errorf("PrettyDiff expected: %s, got: %s", tt.out, actual) | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func TestSubstractSlices(t *testing.T) { | ||||
| 	for _, tt := range substractTest { | ||||
| 		actualRes, actualEqual := SubstractStringSlices(tt.inA, tt.inB) | ||||
| 		if actualEqual != tt.outEqual { | ||||
| 			t.Errorf("SubstractStringSlices expected equal: %t, got: %t", tt.outEqual, actualEqual) | ||||
| 		} | ||||
| 
 | ||||
| 		if len(actualRes) == 0 && len(tt.out) == 0 { | ||||
| 			continue | ||||
| 		} else if !reflect.DeepEqual(actualRes, tt.out) { | ||||
| 			t.Errorf("SubstractStringSlices expected res: %v, got: %v", tt.out, actualRes) | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
		Loading…
	
		Reference in New Issue