getter test

pull/65/head
Karolis Rusenas 2017-07-28 22:54:11 +01:00
parent 855e6ee3a0
commit bb9bf97aff
1 changed files with 48 additions and 0 deletions

48
secrets/secrets_test.go Normal file
View File

@ -0,0 +1,48 @@
package secrets
import (
"github.com/rusenask/keel/types"
"github.com/rusenask/keel/util/image"
"k8s.io/client-go/pkg/api/v1"
testutil "github.com/rusenask/keel/util/testing"
"testing"
)
var secretDataPayload = `{"https://index.docker.io/v1/":{"username":"user-x","password":"pass-x","email":"karolis.rusenas@gmail.com","auth":"somethinghere"}}`
func TestGetSecret(t *testing.T) {
imgRef, _ := image.Parse("karolisr/webhook-demo:0.0.11")
impl := &testutil.FakeK8sImplementer{
AvailableSecret: &v1.Secret{
Data: map[string][]byte{
dockerConfigJSONKey: []byte(secretDataPayload),
},
Type: v1.SecretTypeDockercfg,
},
}
getter := NewGetter(impl)
trackedImage := &types.TrackedImage{
Image: imgRef,
Namespace: "default",
Secrets: []string{"myregistrysecret"},
}
creds, err := getter.Get(trackedImage)
if err != nil {
t.Errorf("failed to get creds: %s", err)
}
if creds.Username != "user-x" {
t.Errorf("unexpected username: %s", creds.Username)
}
if creds.Password != "pass-x" {
t.Errorf("unexpected pass: %s", creds.Password)
}
}