45 lines
1.2 KiB
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")
|
|
}
|