12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package db
- import (
- uuid "github.com/satori/go.uuid"
- "github.com/stretchr/testify/assert"
- "os"
- "path/filepath"
- "strconv"
- "testing"
- )
- func TestSqlite(t *testing.T) {
- err := os.Remove(filepath.Join(os.TempDir(), "test.db"))
- assert.NoError(t, err)
- d := NewSqliteDb(filepath.Join(os.TempDir(), "test.db"))
- err = d.Init()
- assert.NoError(t, err)
- for _, tableName := range []string{"rule", "cert"} {
- var firstUuid, lastUuid string
- for i := 0; i < 1000; i++ {
- uid := uuid.NewV4().String()
- if i == 0 {
- firstUuid = uid
- }
- lastUuid = uid
- err = d.Insert(tableName, uid, "test"+strconv.Itoa(i))
- assert.NoError(t, err)
- }
- n, err := d.Count(tableName,"")
- assert.NoError(t, err)
- assert.Equal(t, int(n), 1000)
- list, err := d.QueryAll(tableName, "")
- assert.NoError(t, err)
- assert.Equal(t, len(list), 1000)
- one, err := d.QueryOne(tableName, firstUuid)
- assert.NoError(t, err)
- assert.Equal(t, one, "test0")
- list, err = d.QueryPage(tableName, 10, 10, "")
- assert.NoError(t, err)
- assert.Equal(t, len(list), 10)
- assert.Equal(t, list[0], "test989")
- err = d.Delete(tableName, lastUuid)
- assert.NoError(t, err)
- n, err = d.Count(tableName,"")
- assert.NoError(t, err)
- assert.Equal(t, n, int64(999))
- one, err = d.QueryOne(tableName, firstUuid)
- assert.NoError(t, err)
- err = d.Update(tableName, firstUuid, "test_new")
- assert.NoError(t, err)
- one, err = d.QueryOne(tableName, firstUuid)
- assert.NoError(t, err)
- assert.Equal(t, one, "test_new")
- }
- err = d.SetConfig("test_key1", "test_val1")
- assert.NoError(t, err)
- v, err := d.GetConfig("test_key1")
- assert.NoError(t, err)
- assert.Equal(t, v, "test_val1")
- v, err = d.GetConfig("test_key2")
- assert.Error(t, err)
- assert.Equal(t, v, "")
- err = d.SetConfig("test_key2", "test_val2")
- assert.NoError(t, err)
- v, err = d.GetConfig("test_key2")
- assert.NoError(t, err)
- assert.Equal(t, v, "test_val2")
- err = d.SetConfig("test_key1", "test_val2")
- assert.NoError(t, err)
- v, err = d.GetConfig("test_key1")
- assert.NoError(t, err)
- assert.Equal(t, v, "test_val2")
- }
|