38 lines
787 B
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()))
|
|
}
|