mirror of
https://github.com/yannh/kubeconform.git
synced 2026-02-11 14:09:21 +00:00
49 lines
998 B
Go
49 lines
998 B
Go
package resource_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/yannh/kubeconform/pkg/resource"
|
|
)
|
|
|
|
func TestSignatureFromBytes(t *testing.T) {
|
|
testCases := []struct {
|
|
name string
|
|
have []byte
|
|
want resource.Signature
|
|
err error
|
|
}{
|
|
{
|
|
name: "valid deployment",
|
|
have: []byte(`
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: myService
|
|
namespace: default
|
|
labels:
|
|
app: myService
|
|
spec:
|
|
`),
|
|
want: resource.Signature{
|
|
Kind: "Deployment",
|
|
Version: "apps/v1",
|
|
Namespace: "default",
|
|
},
|
|
err: nil,
|
|
},
|
|
}
|
|
|
|
for _, testCase := range testCases {
|
|
sig, err := resource.SignatureFromBytes(testCase.have)
|
|
if err != nil && err.Error() != testCase.err.Error() {
|
|
t.Errorf("test \"%s\" - received error: %s", testCase.name, err)
|
|
}
|
|
if sig.Version != testCase.want.Version ||
|
|
sig.Kind != testCase.want.Kind ||
|
|
sig.Namespace != testCase.want.Namespace {
|
|
t.Errorf("test \"%s\": received %+v, expected %+v", testCase.name, sig, testCase.want)
|
|
}
|
|
|
|
}
|
|
}
|