From 3df94c6f279fbaf67a15dfb58b5c7b545c89b2e9 Mon Sep 17 00:00:00 2001 From: Carl Bergquist Date: Tue, 14 May 2019 15:38:18 +0200 Subject: [PATCH] serverlock: run tests async should be more linear time wise (#17059) --- .../serverlock/serverlock_integration_test.go | 37 ++++++++----------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/pkg/infra/serverlock/serverlock_integration_test.go b/pkg/infra/serverlock/serverlock_integration_test.go index 8bcd9c2ca25..60c3cf17875 100644 --- a/pkg/infra/serverlock/serverlock_integration_test.go +++ b/pkg/infra/serverlock/serverlock_integration_test.go @@ -7,34 +7,29 @@ import ( "testing" "time" - . "github.com/smartystreets/goconvey/convey" + "github.com/stretchr/testify/assert" ) func TestServerLok(t *testing.T) { sl := createTestableServerLock(t) - Convey("Server lock integration tests", t, func() { - counter := 0 - var err error - incCounter := func() { counter++ } - atInterval := time.Second * 1 - ctx := context.Background() + counter := 0 + fn := func() { counter++ } + atInterval := time.Second * 1 + ctx := context.Background() - //this time `fn` should be executed - So(sl.LockAndExecute(ctx, "test-operation", atInterval, incCounter), ShouldBeNil) + //this time `fn` should be executed + assert.Nil(t, sl.LockAndExecute(ctx, "test-operation", atInterval, fn)) - //this should not execute `fn` - So(sl.LockAndExecute(ctx, "test-operation", atInterval, incCounter), ShouldBeNil) - So(sl.LockAndExecute(ctx, "test-operation", atInterval, incCounter), ShouldBeNil) - So(sl.LockAndExecute(ctx, "test-operation", atInterval, incCounter), ShouldBeNil) - So(sl.LockAndExecute(ctx, "test-operation", atInterval, incCounter), ShouldBeNil) + //this should not execute `fn` + assert.Nil(t, sl.LockAndExecute(ctx, "test-operation", atInterval, fn)) + assert.Nil(t, sl.LockAndExecute(ctx, "test-operation", atInterval, fn)) - // wait 5 second. - <-time.After(atInterval * 2) + // wait 2 second. + <-time.After(time.Second * 2) - // now `fn` should be executed again - err = sl.LockAndExecute(ctx, "test-operation", atInterval, incCounter) - So(err, ShouldBeNil) - So(counter, ShouldEqual, 2) - }) + // now `fn` should be executed again + err := sl.LockAndExecute(ctx, "test-operation", atInterval, fn) + assert.Nil(t, err) + assert.Equal(t, counter, 2) }