influxdb/sqlite/sqlite_test.go

65 lines
1.5 KiB
Go

package sqlite
import (
"context"
"testing"
"github.com/stretchr/testify/require"
)
func TestFlush(t *testing.T) {
t.Parallel()
ctx := context.Background()
store, clean := NewTestStore(t)
defer clean(t)
err := store.execTrans(ctx, `CREATE TABLE test_table_1 (id TEXT NOT NULL PRIMARY KEY)`)
require.NoError(t, err)
err = store.execTrans(ctx, `INSERT INTO test_table_1 (id) VALUES ("one"), ("two"), ("three")`)
require.NoError(t, err)
vals, err := store.queryToStrings(`SELECT * FROM test_table_1`)
require.NoError(t, err)
require.Equal(t, 3, len(vals))
store.Flush(context.Background())
vals, err = store.queryToStrings(`SELECT * FROM test_table_1`)
require.NoError(t, err)
require.Equal(t, 0, len(vals))
}
func TestUserVersion(t *testing.T) {
t.Parallel()
store, clean := NewTestStore(t)
defer clean(t)
ctx := context.Background()
err := store.execTrans(ctx, `PRAGMA user_version=12`)
require.NoError(t, err)
got, err := store.userVersion()
require.NoError(t, err)
require.Equal(t, 12, got)
}
func TestTableNames(t *testing.T) {
t.Parallel()
store, clean := NewTestStore(t)
defer clean(t)
ctx := context.Background()
err := store.execTrans(ctx, `CREATE TABLE test_table_1 (id TEXT NOT NULL PRIMARY KEY);
CREATE TABLE test_table_3 (id TEXT NOT NULL PRIMARY KEY);
CREATE TABLE test_table_2 (id TEXT NOT NULL PRIMARY KEY);`)
require.NoError(t, err)
got, err := store.tableNames()
require.NoError(t, err)
require.Equal(t, []string{"test_table_1", "test_table_3", "test_table_2"}, got)
}