65 lines
1.5 KiB
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)
|
|
}
|