This commit is contained in:
zhuyasen
2024-05-11 13:38:23 +08:00
parent 7761fcd7b7
commit a7fbe48e2b
3 changed files with 93 additions and 6 deletions

View File

@@ -4,6 +4,8 @@ import (
"reflect" "reflect"
"strings" "strings"
"testing" "testing"
"github.com/stretchr/testify/assert"
) )
func TestPage(t *testing.T) { func TestPage(t *testing.T) {
@@ -457,3 +459,83 @@ func TestParams_ConvertToGormConditions(t *testing.T) {
}) })
} }
} }
func TestConditions_ConvertToGorm(t *testing.T) {
c := Conditions{
Columns: []Column{
{
Name: "name",
Value: "ZhangSan",
},
{
Name: "gender",
Value: "male",
},
}}
str, values, err := c.ConvertToGorm()
if err != nil {
t.Error(err)
}
assert.Equal(t, "name = ? AND gender = ?", str)
assert.Equal(t, len(values), 2)
}
func TestConditions_checkValid(t *testing.T) {
// empty error
c := Conditions{}
err := c.CheckValid()
assert.Error(t, err)
// value is empty error
c = Conditions{
Columns: []Column{
{
Name: "foo",
Value: nil,
},
},
}
err = c.CheckValid()
assert.Error(t, err)
// exp error
c = Conditions{
Columns: []Column{
{
Name: "foo",
Value: "bar",
Exp: "unknown-exp",
},
},
}
err = c.CheckValid()
assert.Error(t, err)
// logic error
c = Conditions{
Columns: []Column{
{
Name: "foo",
Value: "bar",
Logic: "unknown-logic",
},
},
}
err = c.CheckValid()
assert.Error(t, err)
// success
c = Conditions{
Columns: []Column{
{
Name: "name",
Value: "ZhangSan",
},
{
Name: "gender",
Value: "male",
},
}}
err = c.CheckValid()
assert.NoError(t, err)
}

Binary file not shown.

View File

@@ -10,9 +10,13 @@ var sqliteToMysqlTypeMap = map[string]string{
" INTEGER ": " INT ", " INTEGER ": " INT ",
" REAL ": " FLOAT ", " REAL ": " FLOAT ",
" BOOLEAN ": " TINYINT ", " BOOLEAN ": " TINYINT ",
" NUMERIC ": " VARCHAR(255) ",
"AUTOINCREMENT": "auto_increment",
" integer ": " INT ", " integer ": " INT ",
" real ": " FLOAT ", " real ": " FLOAT ",
" boolean ": " TINYINT ", " boolean ": " TINYINT ",
" numeric ": " VARCHAR(255) ",
"autoincrement": "auto_increment",
} }
// GetSqliteTableInfo get table info from sqlite // GetSqliteTableInfo get table info from sqlite
@@ -32,6 +36,7 @@ func GetSqliteTableInfo(dbFile string, tableName string) (string, error) {
for k, v := range sqliteToMysqlTypeMap { for k, v := range sqliteToMysqlTypeMap {
sql = strings.ReplaceAll(sql, k, v) sql = strings.ReplaceAll(sql, k, v)
} }
sql = strings.ReplaceAll(sql, "\"", "")
return sql, nil return sql, nil
} }