updated tests
parent
5e83ffffba
commit
1300c376f0
|
@ -1,6 +1,7 @@
|
|||
package approvals
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
|
@ -9,34 +10,10 @@ import (
|
|||
"github.com/rusenask/keel/util/codecs"
|
||||
)
|
||||
|
||||
type fakeProvider struct {
|
||||
submitted []types.Event
|
||||
images []*types.TrackedImage
|
||||
}
|
||||
|
||||
func (p *fakeProvider) Submit(event types.Event) error {
|
||||
p.submitted = append(p.submitted, event)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (p *fakeProvider) TrackedImages() ([]*types.TrackedImage, error) {
|
||||
return p.images, nil
|
||||
}
|
||||
func (p *fakeProvider) List() []string {
|
||||
return []string{"fakeprovider"}
|
||||
}
|
||||
func (p *fakeProvider) Stop() {
|
||||
return
|
||||
}
|
||||
func (p *fakeProvider) GetName() string {
|
||||
return "fp"
|
||||
}
|
||||
|
||||
func TestCreateApproval(t *testing.T) {
|
||||
mem := memory.NewMemoryCache(100*time.Millisecond, 100*time.Millisecond, 10*time.Millisecond)
|
||||
fp := &fakeProvider{}
|
||||
|
||||
am := New(mem, codecs.DefaultSerializer(), fp)
|
||||
am := New(mem, codecs.DefaultSerializer())
|
||||
|
||||
err := am.Create(&types.Approval{
|
||||
Provider: types.ProviderTypeKubernetes,
|
||||
|
@ -62,9 +39,8 @@ func TestCreateApproval(t *testing.T) {
|
|||
|
||||
func TestUpdateApproval(t *testing.T) {
|
||||
mem := memory.NewMemoryCache(100*time.Millisecond, 100*time.Millisecond, 10*time.Millisecond)
|
||||
fp := &fakeProvider{}
|
||||
|
||||
am := New(mem, codecs.DefaultSerializer(), fp)
|
||||
am := New(mem, codecs.DefaultSerializer())
|
||||
|
||||
err := am.Create(&types.Approval{
|
||||
Provider: types.ProviderTypeKubernetes,
|
||||
|
@ -85,6 +61,12 @@ func TestUpdateApproval(t *testing.T) {
|
|||
if err != nil {
|
||||
t.Fatalf("failed to create approval: %s", err)
|
||||
}
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
defer cancel()
|
||||
ch, err := am.SubscribeApproved(ctx)
|
||||
if err != nil {
|
||||
t.Fatalf("failed to subscribe: %s", err)
|
||||
}
|
||||
|
||||
err = am.Update(&types.Approval{
|
||||
Provider: types.ProviderTypeKubernetes,
|
||||
|
@ -102,24 +84,20 @@ func TestUpdateApproval(t *testing.T) {
|
|||
},
|
||||
})
|
||||
|
||||
// checking provider
|
||||
if len(fp.submitted) != 1 {
|
||||
t.Fatalf("expected to find 1 submitted event")
|
||||
}
|
||||
approved := <-ch
|
||||
|
||||
if fp.submitted[0].Repository.Name != "very/repo" {
|
||||
t.Errorf("unexpected repo name in re-submitted event: %s", fp.submitted[0].Repository.Name)
|
||||
if approved.Event.Repository.Name != "very/repo" {
|
||||
t.Errorf("unexpected repo name in re-submitted event: %s", approved.Event.Repository.Name)
|
||||
}
|
||||
if fp.submitted[0].Repository.Tag != "1.2.5" {
|
||||
t.Errorf("unexpected repo tag in re-submitted event: %s", fp.submitted[0].Repository.Tag)
|
||||
if approved.Event.Repository.Tag != "1.2.5" {
|
||||
t.Errorf("unexpected repo tag in re-submitted event: %s", approved.Event.Repository.Tag)
|
||||
}
|
||||
}
|
||||
|
||||
func TestUpdateApprovalRejected(t *testing.T) {
|
||||
mem := memory.NewMemoryCache(100*time.Millisecond, 100*time.Millisecond, 10*time.Millisecond)
|
||||
fp := &fakeProvider{}
|
||||
|
||||
am := New(mem, codecs.DefaultSerializer(), fp)
|
||||
am := New(mem, codecs.DefaultSerializer())
|
||||
|
||||
err := am.Create(&types.Approval{
|
||||
Provider: types.ProviderTypeKubernetes,
|
||||
|
@ -141,6 +119,13 @@ func TestUpdateApprovalRejected(t *testing.T) {
|
|||
t.Fatalf("failed to create approval: %s", err)
|
||||
}
|
||||
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
defer cancel()
|
||||
ch, err := am.SubscribeApproved(ctx)
|
||||
if err != nil {
|
||||
t.Fatalf("failed to subscribe: %s", err)
|
||||
}
|
||||
|
||||
// rejecting
|
||||
err = am.Update(&types.Approval{
|
||||
Provider: types.ProviderTypeKubernetes,
|
||||
|
@ -183,17 +168,20 @@ func TestUpdateApprovalRejected(t *testing.T) {
|
|||
t.Fatalf("failed to update approval: %s", err)
|
||||
}
|
||||
|
||||
// checking provider
|
||||
if len(fp.submitted) == 1 {
|
||||
t.Fatalf("expected to find 0 submitted event as it was rejected but found: %d", len(fp.submitted))
|
||||
select {
|
||||
case <-time.After(500 * time.Millisecond):
|
||||
// success
|
||||
return
|
||||
case approval := <-ch:
|
||||
t.Errorf("unexpected approval got: %s", approval.Identifier)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestApprove(t *testing.T) {
|
||||
mem := memory.NewMemoryCache(100*time.Millisecond, 100*time.Millisecond, 10*time.Millisecond)
|
||||
fp := &fakeProvider{}
|
||||
|
||||
am := New(mem, codecs.DefaultSerializer(), fp)
|
||||
am := New(mem, codecs.DefaultSerializer())
|
||||
|
||||
err := am.Create(&types.Approval{
|
||||
Provider: types.ProviderTypeKubernetes,
|
||||
|
@ -223,9 +211,8 @@ func TestApprove(t *testing.T) {
|
|||
|
||||
func TestReject(t *testing.T) {
|
||||
mem := memory.NewMemoryCache(100*time.Millisecond, 100*time.Millisecond, 10*time.Millisecond)
|
||||
fp := &fakeProvider{}
|
||||
|
||||
am := New(mem, codecs.DefaultSerializer(), fp)
|
||||
am := New(mem, codecs.DefaultSerializer())
|
||||
|
||||
err := am.Create(&types.Approval{
|
||||
Provider: types.ProviderTypeKubernetes,
|
||||
|
|
Loading…
Reference in New Issue