namespacedname decoder tests
This commit is contained in:
		
							parent
							
								
									295b00b379
								
							
						
					
					
						commit
						20e343ebc9
					
				|  | @ -0,0 +1,55 @@ | |||
| package spec | ||||
| 
 | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"testing" | ||||
| ) | ||||
| 
 | ||||
| var nnTests = []struct { | ||||
| 	s               string | ||||
| 	expected        NamespacedName | ||||
| 	expectedMarshal []byte | ||||
| }{ | ||||
| 	{`acid/cluster`, NamespacedName{Namespace: "acid", Name: "cluster"}, []byte(`"acid/cluster"`)}, | ||||
| 	{`/name`, NamespacedName{Namespace: "default", Name: "name"}, []byte(`"default/name"`)}, | ||||
| 	{`test`, NamespacedName{Namespace: "default", Name: "test"}, []byte(`"default/test"`)}, | ||||
| } | ||||
| 
 | ||||
| var nnErr = []string{"test/", "/", "", "//"} | ||||
| 
 | ||||
| func TestNamespacedNameDecode(t *testing.T) { | ||||
| 	for _, tt := range nnTests { | ||||
| 		var actual NamespacedName | ||||
| 		err := actual.Decode(tt.s) | ||||
| 		if err != nil { | ||||
| 			t.Errorf("Decode error: %v", err) | ||||
| 		} | ||||
| 		if actual != tt.expected { | ||||
| 			t.Errorf("Expected: %v, got %#v", tt.expected, actual) | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func TestNamespacedNameMarshal(t *testing.T) { | ||||
| 	for _, tt := range nnTests { | ||||
| 		var actual NamespacedName | ||||
| 		err := actual.Decode(tt.s) | ||||
| 		m, err := actual.MarshalJSON() | ||||
| 		if err != nil { | ||||
| 			t.Errorf("Marshal error: %v", err) | ||||
| 		} | ||||
| 		if bytes.Compare(m, tt.expectedMarshal) != 0 { | ||||
| 			t.Errorf("Expected marshal: %v, got %#v", tt.expected, actual) | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func TestNamespacedNameError(t *testing.T) { | ||||
| 	for _, tt := range nnErr { | ||||
| 		var actual NamespacedName | ||||
| 		err := actual.Decode(tt) | ||||
| 		if err == nil { | ||||
| 			t.Errorf("Error expected for '%s', got: %#v", tt, actual) | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
		Loading…
	
		Reference in New Issue