52 lines
1.5 KiB
Go
52 lines
1.5 KiB
Go
package buildermgr
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/fission/fission/pkg/utils"
|
|
"github.com/fission/fission/pkg/utils/manager"
|
|
)
|
|
|
|
type fakeBuilderEnvNamespaceAdder struct {
|
|
lastNamespace string
|
|
calls int
|
|
}
|
|
|
|
func (f *fakeBuilderEnvNamespaceAdder) AddNamespace(ctx context.Context, ns string, mgr manager.Interface) {
|
|
f.lastNamespace = ns
|
|
f.calls++
|
|
}
|
|
|
|
type fakeBuilderPkgNamespaceAdder struct {
|
|
lastNamespace string
|
|
calls int
|
|
}
|
|
|
|
func (f *fakeBuilderPkgNamespaceAdder) AddNamespace(ctx context.Context, ns string, mgr manager.Interface) {
|
|
f.lastNamespace = ns
|
|
f.calls++
|
|
}
|
|
|
|
func TestNewNamespaceSubscriberAddAndResync(t *testing.T) {
|
|
envw := &fakeBuilderEnvNamespaceAdder{}
|
|
pkgw := &fakeBuilderPkgNamespaceAdder{}
|
|
subscriber := NewNamespaceSubscriber(envw, pkgw, nil)
|
|
record := utils.NamespaceRecord{Name: "tenant-builder-a"}
|
|
|
|
if subscriber.Name() != "buildermgr" {
|
|
t.Fatalf("expected buildermgr subscriber name")
|
|
}
|
|
if err := subscriber.OnNamespaceAdd(context.Background(), record); err != nil {
|
|
t.Fatalf("expected add to succeed: %v", err)
|
|
}
|
|
if err := subscriber.OnNamespaceResync(context.Background(), record); err != nil {
|
|
t.Fatalf("expected resync to succeed: %v", err)
|
|
}
|
|
if envw.calls != 2 || pkgw.calls != 2 {
|
|
t.Fatalf("expected both watchers to be called for add and resync")
|
|
}
|
|
if envw.lastNamespace != "tenant-builder-a" || pkgw.lastNamespace != "tenant-builder-a" {
|
|
t.Fatalf("expected namespace to be forwarded to both watchers")
|
|
}
|
|
} |