testing updated
parent
4285948c98
commit
8a1b939a06
|
@ -7,7 +7,6 @@ import (
|
|||
"k8s.io/client-go/pkg/apis/extensions/v1beta1"
|
||||
|
||||
"github.com/rusenask/keel/types"
|
||||
// "github.com/rusenask/keel/util/version"
|
||||
|
||||
"testing"
|
||||
)
|
||||
|
@ -16,6 +15,9 @@ type fakeImplementer struct {
|
|||
namespaces *v1.NamespaceList
|
||||
deployment *v1beta1.Deployment
|
||||
deploymentList *v1beta1.DeploymentList
|
||||
|
||||
// stores value of an updated deployment
|
||||
updated *v1beta1.Deployment
|
||||
}
|
||||
|
||||
func (i *fakeImplementer) Namespaces() (*v1.NamespaceList, error) {
|
||||
|
@ -31,6 +33,7 @@ func (i *fakeImplementer) Deployments(namespace string) (*v1beta1.DeploymentList
|
|||
}
|
||||
|
||||
func (i *fakeImplementer) Update(deployment *v1beta1.Deployment) error {
|
||||
i.updated = deployment
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -218,38 +221,80 @@ func TestGetImpacted(t *testing.T) {
|
|||
|
||||
}
|
||||
|
||||
// func TestProcessEvent(t *testing.T) {
|
||||
// provider, err := NewProvider(&fakeImplementer{})
|
||||
// if err != nil {
|
||||
// t.Fatalf("failed to get provider: %s", err)
|
||||
// }
|
||||
func TestProcessEvent(t *testing.T) {
|
||||
fp := &fakeImplementer{}
|
||||
fp.namespaces = &v1.NamespaceList{
|
||||
Items: []v1.Namespace{
|
||||
v1.Namespace{
|
||||
meta_v1.TypeMeta{},
|
||||
meta_v1.ObjectMeta{Name: "xxxx"},
|
||||
v1.NamespaceSpec{},
|
||||
v1.NamespaceStatus{},
|
||||
},
|
||||
},
|
||||
}
|
||||
fp.deploymentList = &v1beta1.DeploymentList{
|
||||
Items: []v1beta1.Deployment{
|
||||
v1beta1.Deployment{
|
||||
meta_v1.TypeMeta{},
|
||||
meta_v1.ObjectMeta{
|
||||
Name: "deployment-1",
|
||||
Namespace: "xxxx",
|
||||
Labels: map[string]string{types.KeelPolicyLabel: "all"},
|
||||
},
|
||||
v1beta1.DeploymentSpec{
|
||||
Template: v1.PodTemplateSpec{
|
||||
Spec: v1.PodSpec{
|
||||
Containers: []v1.Container{
|
||||
v1.Container{
|
||||
Image: "gcr.io/v2-namespace/hello-world:1.1.1",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
v1beta1.DeploymentStatus{},
|
||||
},
|
||||
v1beta1.Deployment{
|
||||
meta_v1.TypeMeta{},
|
||||
meta_v1.ObjectMeta{
|
||||
Name: "deployment-2",
|
||||
Namespace: "xxxx",
|
||||
Labels: map[string]string{"whatever": "all"},
|
||||
},
|
||||
v1beta1.DeploymentSpec{
|
||||
Template: v1.PodTemplateSpec{
|
||||
Spec: v1.PodSpec{
|
||||
Containers: []v1.Container{
|
||||
v1.Container{
|
||||
Image: "gcr.io/v2-namespace/bye-world:1.1.1",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
v1beta1.DeploymentStatus{},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
// repo := types.Repository{
|
||||
// Name: "karolisr/webhook-demo",
|
||||
// Tag: newVersion,
|
||||
// }
|
||||
provider, err := NewProvider(fp)
|
||||
if err != nil {
|
||||
t.Fatalf("failed to get provider: %s", err)
|
||||
}
|
||||
|
||||
// event := &types.Event{Repository: repo}
|
||||
// updated, err := provider.processEvent(event)
|
||||
// if err != nil {
|
||||
// t.Errorf("got error while processing event: %s", err)
|
||||
// }
|
||||
repo := types.Repository{
|
||||
Name: "gcr.io/v2-namespace/hello-world",
|
||||
Tag: "1.4.5",
|
||||
}
|
||||
|
||||
// //
|
||||
// time.Sleep(100 * time.Millisecond)
|
||||
// for _, upd := range updated {
|
||||
// current, err := provider.getDeployment(upd.Namespace, upd.Name)
|
||||
// if err != nil {
|
||||
// t.Fatalf("failed to get deployment %s, error: %s", upd.Name, err)
|
||||
// }
|
||||
// currentVer, err := version.GetVersionFromImageName(current.Spec.Template.Spec.Containers[0].Image)
|
||||
// if err != nil {
|
||||
// t.Fatalf("failed to get version from %s, error: %s", current.Spec.Template.Spec.Containers[0].Image, err)
|
||||
// }
|
||||
event := &types.Event{Repository: repo}
|
||||
_, err = provider.processEvent(event)
|
||||
if err != nil {
|
||||
t.Errorf("got error while processing event: %s", err)
|
||||
}
|
||||
|
||||
// if currentVer.String() != newVersion {
|
||||
// t.Errorf("deployment version wasn't updated, got: %s while expected: %s", currentVer.String(), newVersion)
|
||||
// }
|
||||
// }
|
||||
|
||||
// }
|
||||
if fp.updated.Spec.Template.Spec.Containers[0].Image != repo.Name+":"+repo.Tag {
|
||||
t.Errorf("expected to find a deployment with updated image but found: %s", fp.updated.Spec.Template.Spec.Containers[0].Image)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue