Skip to content

Commit 73978e5

Browse files
committed
[#2268] Fix unstable test
1 parent 617c5c5 commit 73978e5

File tree

1 file changed

+32
-31
lines changed

1 file changed

+32
-31
lines changed

backend/server/eventcenter/eventcenter_test.go

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package eventcenter
22

33
import (
44
"testing"
5-
"time"
5+
"testing/synctest"
66

77
pkgerrors "github.com/pkg/errors"
88
"github.com/stretchr/testify/require"
@@ -381,37 +381,38 @@ func TestAddEvent(t *testing.T) {
381381
db, _, teardown := dbtest.SetupDatabaseTestCase(t)
382382
defer teardown()
383383

384-
ec := NewEventCenter(db)
384+
synctest.Test(t, func(t *testing.T) {
385+
ec := NewEventCenter(db)
386+
defer ec.Shutdown()
385387

386-
subnet := &dbmodel.Subnet{
387-
ID: 345,
388-
}
389-
machine := &dbmodel.Machine{
390-
ID: 456,
391-
}
392-
daemon := &dbmodel.Daemon{
393-
Name: "dhcp4",
394-
MachineID: machine.ID,
395-
Machine: machine,
396-
}
397-
398-
ec.AddInfoEvent("some text", daemon, machine)
399-
ec.AddWarningEvent("some text", subnet, machine)
400-
ec.AddErrorEvent("some text", daemon, machine)
401-
402-
// events are stored in db in separate goroutine so it may be delay
403-
// so wait for it a little bit
404-
var events []dbmodel.Event
405-
var total int64
406-
var err error
407-
408-
require.Eventually(t, func() bool {
388+
subnet := &dbmodel.Subnet{
389+
ID: 345,
390+
}
391+
machine := &dbmodel.Machine{
392+
ID: 456,
393+
}
394+
daemon := &dbmodel.Daemon{
395+
Name: "dhcp4",
396+
MachineID: machine.ID,
397+
Machine: machine,
398+
}
399+
400+
ec.AddInfoEvent("some text", daemon, machine)
401+
ec.AddWarningEvent("some text", subnet, machine)
402+
ec.AddErrorEvent("some text", daemon, machine)
403+
404+
// events are stored in db in separate goroutine so it may be delay
405+
// so wait for it a little bit
406+
var events []dbmodel.Event
407+
var total int64
408+
var err error
409+
410+
synctest.Wait()
409411
events, total, err = dbmodel.GetEventsByPage(db, 0, 10, 0, nil, nil, nil, nil, "", dbmodel.SortDirAny)
410-
return total >= 3
411-
}, time.Second, 10*time.Millisecond)
412412

413-
require.NoError(t, err)
414-
require.EqualValues(t, 3, total)
415-
require.Len(t, events, 3)
416-
require.EqualValues(t, "some text", events[0].Text)
413+
require.NoError(t, err)
414+
require.EqualValues(t, 3, total)
415+
require.Len(t, events, 3)
416+
require.EqualValues(t, "some text", events[0].Text)
417+
})
417418
}

0 commit comments

Comments
 (0)