Add a test case for database code generation tool (#961)
This commit is contained in:
@@ -128,6 +128,55 @@ func TestGenCacheKeys(t *testing.T) {
|
||||
return true
|
||||
}())
|
||||
})
|
||||
t.Run("no database name", func(t *testing.T) {
|
||||
primariCacheKey, _ = genCacheKeys(parser.Table{
|
||||
Name: stringx.From("user"),
|
||||
Db: stringx.From(""),
|
||||
PrimaryKey: parser.Primary{
|
||||
Field: *primaryField,
|
||||
AutoIncrement: true,
|
||||
},
|
||||
UniqueIndex: map[string][]*parser.Field{
|
||||
"mobile_unique": {
|
||||
mobileField,
|
||||
},
|
||||
"class_name_unique": {
|
||||
classField,
|
||||
nameField,
|
||||
},
|
||||
},
|
||||
Fields: []*parser.Field{
|
||||
primaryField,
|
||||
mobileField,
|
||||
classField,
|
||||
nameField,
|
||||
{
|
||||
Name: stringx.From("createTime"),
|
||||
DataType: "time.Time",
|
||||
Comment: "创建时间",
|
||||
},
|
||||
{
|
||||
Name: stringx.From("updateTime"),
|
||||
DataType: "time.Time",
|
||||
Comment: "更新时间",
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
assert.Equal(t, true, func() bool {
|
||||
return cacheKeyEqual(primariCacheKey, Key{
|
||||
VarLeft: "cacheUserIdPrefix",
|
||||
VarRight: `"cache:user:id:"`,
|
||||
VarExpression: `cacheUserIdPrefix = "cache:user:id:"`,
|
||||
KeyLeft: "userIdKey",
|
||||
KeyRight: `fmt.Sprintf("%s%v", cacheUserIdPrefix, id)`,
|
||||
DataKeyRight: `fmt.Sprintf("%s%v", cacheUserIdPrefix, data.Id)`,
|
||||
KeyExpression: `userIdKey := fmt.Sprintf("%s%v", cacheUserIdPrefix, id)`,
|
||||
DataKeyExpression: `userIdKey := fmt.Sprintf("%s%v", cacheUserIdPrefix, data.Id)`,
|
||||
FieldNameJoin: []string{"id"},
|
||||
})
|
||||
}())
|
||||
})
|
||||
}
|
||||
|
||||
func cacheKeyEqual(k1, k2 Key) bool {
|
||||
|
||||
Reference in New Issue
Block a user