storj/pkg/utils/utils_test.go
Dylan Lott fc2fe0c294
pkg/utils CollectErrors tests (#496)
* Sets up test harness for CollectErrors

* pkg/utils tests passing

* updates to utils tests
2018-10-18 10:55:00 -06:00

40 lines
750 B
Go

package utils_test
import (
"testing"
"time"
"github.com/stretchr/testify/assert"
"github.com/zeebo/errs"
"storj.io/storj/pkg/utils"
)
func TestCollectSingleError(t *testing.T) {
errchan := make(chan error)
defer close(errchan)
go func() {
errchan <- errs.New("error")
}()
err := utils.CollectErrors(errchan, 1*time.Second)
assert.Error(t, err)
assert.Equal(t, err.Error(), "error")
}
func TestCollecMultipleError(t *testing.T) {
errchan := make(chan error)
defer close(errchan)
go func() {
errchan <- errs.New("error1")
errchan <- errs.New("error2")
errchan <- errs.New("error3")
}()
err := utils.CollectErrors(errchan, 1*time.Second)
assert.Error(t, err)
assert.Equal(t, err.Error(), "error1\nerror2\nerror3")
}