influxdb/cmd/influxd/inspect/dump_tsi/dump_tsi_test.go

45 lines
1.2 KiB
Go

package dump_tsi_test
import (
"bytes"
"os"
"path/filepath"
"testing"
"github.com/influxdata/influxdb/v2/cmd/influxd/inspect/dump_tsi"
"github.com/influxdata/influxdb/v2/pkg/tar"
"github.com/stretchr/testify/require"
)
func Test_DumpTSI_NoError(t *testing.T) {
// Create the Command object
cmd := dump_tsi.NewDumpTSICommand()
b := bytes.NewBufferString("")
cmd.SetOut(b)
// Create the temp-dir for our un-tared files to live in
dir := t.TempDir()
// Untar the test data
file, err := os.Open("../tsi-test-data.tar.gz")
require.NoError(t, err)
require.NoError(t, tar.Untar(dir, file))
require.NoError(t, file.Close())
// Run the test
cmd.SetArgs([]string{
"--series-file", filepath.Join(dir, "test-db-low-cardinality", "_series"),
filepath.Join(dir, "test-db-low-cardinality", "autogen", "1", "index", "0", "L0-00000001.tsl"),
})
require.NoError(t, cmd.Execute())
// Validate output is as-expected
out := b.String()
require.Contains(t, out, "[LOG FILE] L0-00000001.tsl")
require.Contains(t, out, "Series:\t\t1")
require.Contains(t, out, "Measurements:\t1")
require.Contains(t, out, "Tag Keys:\t6")
require.Contains(t, out, "Tag Values:\t6")
}