chronograf/kv/kv_test.go

38 lines
787 B
Go

package kv_test
import (
"context"
"errors"
"io/ioutil"
"github.com/influxdata/chronograf"
"github.com/influxdata/chronograf/kv"
"github.com/influxdata/chronograf/kv/bolt"
"github.com/influxdata/chronograf/mocks"
)
// NewTestClient creates new *bolt.Client with a set time and temp path.
func NewTestClient() (*kv.Service, error) {
f, err := ioutil.TempFile("", "chronograf-bolt-")
if err != nil {
return nil, errors.New("unable to open temporary boltdb file")
}
f.Close()
build := chronograf.BuildInfo{
Version: "version",
Commit: "commit",
}
ctx := context.TODO()
b, err := bolt.NewClient(ctx,
bolt.WithPath(f.Name()),
bolt.WithBuildInfo(build),
)
if err != nil {
return nil, err
}
return kv.NewService(ctx, b, kv.WithLogger(mocks.NewLogger()))
}