From 3e7d7f55c6f4f94aa16cc07de77bca6cc4b505f2 Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Thu, 2 Dec 2021 07:08:06 -0500 Subject: [PATCH] Chore: Fix flaky serverlock integration test (#42633) (#42639) (cherry picked from commit 54fa7b57fe0f9c961259763be2b52b8db7999c1d) Co-authored-by: Marcus Efraimsson --- .../serverlock/serverlock_integration_test.go | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/pkg/infra/serverlock/serverlock_integration_test.go b/pkg/infra/serverlock/serverlock_integration_test.go index e3f21187988..e80a8e87e9d 100644 --- a/pkg/infra/serverlock/serverlock_integration_test.go +++ b/pkg/infra/serverlock/serverlock_integration_test.go @@ -8,7 +8,7 @@ import ( "testing" "time" - "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func TestServerLok(t *testing.T) { @@ -16,21 +16,22 @@ func TestServerLok(t *testing.T) { counter := 0 fn := func(context.Context) { counter++ } - atInterval := time.Second * 1 + atInterval := time.Hour ctx := context.Background() //this time `fn` should be executed - assert.Nil(t, sl.LockAndExecute(ctx, "test-operation", atInterval, fn)) + require.Nil(t, sl.LockAndExecute(ctx, "test-operation", atInterval, fn)) + require.Equal(t, 1, counter) //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)) + require.Nil(t, sl.LockAndExecute(ctx, "test-operation", atInterval, fn)) + require.Nil(t, sl.LockAndExecute(ctx, "test-operation", atInterval, fn)) + require.Equal(t, 1, counter) - // wait 2 second. - <-time.After(time.Second * 2) + atInterval = time.Millisecond // now `fn` should be executed again err := sl.LockAndExecute(ctx, "test-operation", atInterval, fn) - assert.Nil(t, err) - assert.Equal(t, counter, 2) + require.Nil(t, err) + require.Equal(t, 2, counter) }