ziggs/internal/haptic/feedback_test.go

33 lines
626 B
Go

package haptic
import (
"context"
"os"
"testing"
)
func TestListenToEvents(t *testing.T) {
if os.Getenv("ZIGGS_CI_KEY") == "" {
t.Skip("skipping test requiring ZIGGS_CI_KEY environment variable.")
}
events := make(chan string, 5)
errCh := make(chan error, 1)
ctx, cancel := context.WithCancel(context.Background())
go func() {
errCh <- ListenToEvents(ctx, events, os.Getenv("ZIGGS_CI_HOST"), os.Getenv("ZIGGS_CI_KEY"))
}()
for {
select {
case err := <-errCh:
cancel()
t.Fatal(err)
case <-ctx.Done():
cancel()
t.Log("context cancelled")
return
case in := <-events:
t.Log(in)
}
}
}