Files
influx-cli/clients/write/dryrun_test.go
Sam Arnold 9747d05ae1 refactor: expose generated code and client business logic to share with Kapacitor (#103)
* refactor: take clients out of internal

* refactor: move stdio to pkg

* Move internal/api to api

* refactor: final changes for Kapacitor to access shared functionality

* chore: regenerate mocks

* fix: bad automated refactor

* chore: extra formatting not caught by make fmt
2021-05-25 10:05:01 -04:00

43 lines
1.0 KiB
Go

package write_test
import (
"bytes"
"context"
"io"
"strings"
"testing"
"github.com/golang/mock/gomock"
"github.com/influxdata/influx-cli/v2/clients"
"github.com/influxdata/influx-cli/v2/clients/write"
"github.com/influxdata/influx-cli/v2/internal/config"
"github.com/influxdata/influx-cli/v2/internal/mock"
"github.com/stretchr/testify/require"
)
func TestWriteDryRun(t *testing.T) {
t.Parallel()
inLines := `
fake line protocol 1
fake line protocol 2
fake line protocol 3
`
mockReader := bufferReader{}
_, err := io.Copy(&mockReader.buf, strings.NewReader(inLines))
require.NoError(t, err)
ctrl := gomock.NewController(t)
stdio := mock.NewMockStdIO(ctrl)
bytesWritten := bytes.Buffer{}
stdio.EXPECT().Write(gomock.Any()).DoAndReturn(bytesWritten.Write).AnyTimes()
cli := write.DryRunClient{
CLI: clients.CLI{ActiveConfig: config.Config{Org: "my-default-org"}, StdIO: stdio},
LineReader: &mockReader,
}
require.NoError(t, cli.WriteDryRun(context.Background()))
require.Equal(t, inLines, bytesWritten.String())
}