33 lines
626 B
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)
|
|
}
|
|
}
|
|
}
|