mirror of
https://github.com/grafana/grafana.git
synced 2025-08-02 22:58:35 +08:00
32 lines
834 B
Go
32 lines
834 B
Go
package xorm
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestSequenceGenerator(t *testing.T) {
|
|
eng, err := NewEngine("sqlite3", ":memory:")
|
|
require.NoError(t, err)
|
|
require.NotNil(t, eng)
|
|
require.Equal(t, "sqlite3", eng.DriverName())
|
|
|
|
_, err = eng.Exec("CREATE TABLE `autoincrement_sequences` (`name` STRING(128) NOT NULL PRIMARY KEY, `next_value` INT64 NOT NULL)")
|
|
require.NoError(t, err)
|
|
|
|
sg := newSequenceGenerator(eng.db.DB)
|
|
val, err := sg.Next(context.Background(), "test", "test")
|
|
require.NoError(t, err)
|
|
require.Equal(t, int64(1), val)
|
|
|
|
val, err = sg.Next(context.Background(), "test", "different")
|
|
require.NoError(t, err)
|
|
require.Equal(t, int64(1), val)
|
|
|
|
val, err = sg.Next(context.Background(), "test", "different")
|
|
require.NoError(t, err)
|
|
require.Equal(t, int64(2), val)
|
|
}
|