Skip to content

Commit

Permalink
fix unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
lionelvillard committed Mar 26, 2021
1 parent 108d668 commit 78aae2c
Show file tree
Hide file tree
Showing 2 changed files with 90 additions and 70 deletions.
63 changes: 35 additions & 28 deletions pkg/adapter/v2/main_injection_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,28 +61,32 @@ func TestMain_WithController_DisableHA(t *testing.T) {
})

env := ConstructEnvOrDie(func() EnvConfigAccessor { return &myEnvConfig{} })
MainWithInformers(ctx,
"mycomponent",
env,
func(ctx context.Context, processed EnvConfigAccessor, client cloudevents.Client) Adapter {
env := processed.(*myEnvConfig)

if env.Mode != "mymode" {
t.Error("Expected mode mymode, got:", env.Mode)
}

if env.Sink != "http://sink" {
t.Error("Expected sinkURI http://sink, got:", env.Sink)
}

if leaderelection.HasLeaderElection(ctx) {
t.Error("Expected no leader election, but got leader election")
}
return &myAdapter{}
})
done := make(chan bool)
go func() {
MainWithInformers(ctx,
"mycomponent",
env,
func(ctx context.Context, processed EnvConfigAccessor, client cloudevents.Client) Adapter {
env := processed.(*myEnvConfig)

if env.Mode != "mymode" {
t.Error("Expected mode mymode, got:", env.Mode)
}

if env.Sink != "http://sink" {
t.Error("Expected sinkURI http://sink, got:", env.Sink)
}

if leaderelection.HasLeaderElection(ctx) {
t.Error("Expected no leader election, but got leader election")
}
return &myAdapter{blocking: true}
})
done <- true
}()

cancel()

<-done
defer view.Unregister(metrics.NewMemStatsAll().DefaultViews()...)
}

Expand Down Expand Up @@ -116,14 +120,17 @@ func TestMain_WithControllerHA(t *testing.T) {
})

env := ConstructEnvOrDie(func() EnvConfigAccessor { return &myEnvConfig{} })
MainWithInformers(ctx,
"mycomponent",
env,
func(ctx context.Context, processed EnvConfigAccessor, client cloudevents.Client) Adapter {
return &myAdapter{}
})

done := make(chan bool)
go func() {
MainWithInformers(ctx,
"mycomponent",
env,
func(ctx context.Context, processed EnvConfigAccessor, client cloudevents.Client) Adapter {
return &myAdapter{blocking: true}
})
done <- true
}()
cancel()

<-done
defer view.Unregister(metrics.NewMemStatsAll().DefaultViews()...)
}
97 changes: 55 additions & 42 deletions pkg/adapter/v2/main_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@ import (
_ "knative.dev/pkg/system/testing"
)

type myAdapter struct{}
type myAdapter struct {
blocking bool
}

func TestMainWithNothing(t *testing.T) {
os.Setenv("K_SINK", "http://sink")
Expand Down Expand Up @@ -87,28 +89,32 @@ func TestMainWithInformerNoLeaderElection(t *testing.T) {

ctx, cancel := context.WithCancel(context.TODO())
env := ConstructEnvOrDie(func() EnvConfigAccessor { return &myEnvConfig{} })
MainWithInformers(ctx,
"mycomponent",
env,
func(ctx context.Context, processed EnvConfigAccessor, client cloudevents.Client) Adapter {
env := processed.(*myEnvConfig)

if env.Mode != "mymode" {
t.Error("Expected mode mymode, got:", env.Mode)
}

if env.Sink != "http://sink" {
t.Error("Expected sinkURI http://sink, got:", env.Sink)
}

if leaderelection.HasLeaderElection(ctx) {
t.Error("Expected no leader election, but got leader election")
}
return &myAdapter{}
})
done := make(chan bool)
go func() {
MainWithInformers(ctx,
"mycomponent",
env,
func(ctx context.Context, processed EnvConfigAccessor, client cloudevents.Client) Adapter {
env := processed.(*myEnvConfig)

if env.Mode != "mymode" {
t.Error("Expected mode mymode, got:", env.Mode)
}

if env.Sink != "http://sink" {
t.Error("Expected sinkURI http://sink, got:", env.Sink)
}

if leaderelection.HasLeaderElection(ctx) {
t.Error("Expected no leader election, but got leader election")
}
return &myAdapter{blocking: true}
})
done <- true
}()

cancel()

<-done
defer view.Unregister(metrics.NewMemStatsAll().DefaultViews()...)
}

Expand Down Expand Up @@ -141,28 +147,32 @@ func TestMain_MetricsConfig(t *testing.T) {

ctx, cancel := context.WithCancel(context.TODO())
env := ConstructEnvOrDie(func() EnvConfigAccessor { return &myEnvConfig{} })
MainWithInformers(ctx,
"mycomponent",
env,
func(ctx context.Context, processed EnvConfigAccessor, client cloudevents.Client) Adapter {
env := processed.(*myEnvConfig)

if env.Mode != "mymode" {
t.Error("Expected mode mymode, got:", env.Mode)
}

if env.Sink != "http://sink" {
t.Error("Expected sinkURI http://sink, got:", env.Sink)
}

if leaderelection.HasLeaderElection(ctx) {
t.Error("Expected no leader election, but got leader election")
}
return &myAdapter{}
})
done := make(chan bool)
go func() {
MainWithInformers(ctx,
"mycomponent",
env,
func(ctx context.Context, processed EnvConfigAccessor, client cloudevents.Client) Adapter {
env := processed.(*myEnvConfig)

if env.Mode != "mymode" {
t.Error("Expected mode mymode, got:", env.Mode)
}

if env.Sink != "http://sink" {
t.Error("Expected sinkURI http://sink, got:", env.Sink)
}

if leaderelection.HasLeaderElection(ctx) {
t.Error("Expected no leader election, but got leader election")
}
return &myAdapter{blocking: true}
})
done <- true
}()

cancel()

<-done
defer view.Unregister(metrics.NewMemStatsAll().DefaultViews()...)
}

Expand Down Expand Up @@ -196,7 +206,10 @@ func (m *myAdapter) Reconcile(ctx context.Context, key string) error {
return nil
}

func (m *myAdapter) Start(_ context.Context) error {
func (m *myAdapter) Start(ctx context.Context) error {
if m.blocking {
<-ctx.Done()
}
return nil
}

Expand Down

0 comments on commit 78aae2c

Please sign in to comment.