Add unit test

This commit is contained in:
Abhishek Pandey 2023-04-05 20:56:09 -07:00
parent 5aca592f16
commit 5c774de630

View File

@ -0,0 +1,46 @@
package events
import (
"os"
"os/signal"
"testing"
"time"
"github.com/alcionai/corso/src/internal/tester"
"github.com/armon/go-metrics"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
)
type EventsSignalUnitSuite struct {
tester.Suite
}
func TestEventsSignalUnitSuite(t *testing.T) {
suite.Run(t, &EventsSignalUnitSuite{Suite: tester.NewUnitSuite(t)})
}
func (suite *EventsSignalUnitSuite) TestSignalDump() {
ctx, flush := tester.NewContext()
defer flush()
var (
t = suite.T()
)
sigCh := make(chan os.Signal, 1)
signal.Notify(sigCh, metrics.DefaultSignal)
go func() {
signalDump(ctx)
}()
select {
case sig := <-sigCh:
assert.Equal(t, metrics.DefaultSignal, sig, "received wrong signal")
case <-time.After(1 * time.Second):
assert.Fail(t, "timeout waiting for signal")
}
signal.Stop(sigCh)
}