| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- // Copyright 2017 The Xorm Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- package xorm
- import (
- "strconv"
- "testing"
- "time"
- "github.com/stretchr/testify/assert"
- )
- func TestQueryString(t *testing.T) {
- assert.NoError(t, prepareEngine())
- type GetVar struct {
- Id int64 `xorm:"autoincr pk"`
- Msg string `xorm:"varchar(255)"`
- Age int
- Money float32
- Created time.Time `xorm:"created"`
- }
- assert.NoError(t, testEngine.Sync2(new(GetVar)))
- var data = GetVar{
- Msg: "hi",
- Age: 28,
- Money: 1.5,
- }
- _, err := testEngine.InsertOne(data)
- assert.NoError(t, err)
- records, err := testEngine.QueryString("select * from get_var")
- assert.NoError(t, err)
- assert.Equal(t, 1, len(records))
- assert.Equal(t, 5, len(records[0]))
- assert.Equal(t, "1", records[0]["id"])
- assert.Equal(t, "hi", records[0]["msg"])
- assert.Equal(t, "28", records[0]["age"])
- assert.Equal(t, "1.5", records[0]["money"])
- }
- func TestQuery(t *testing.T) {
- assert.NoError(t, prepareEngine())
- type UserinfoQuery struct {
- Uid int
- Name string
- }
- assert.NoError(t, testEngine.Sync(new(UserinfoQuery)))
- res, err := testEngine.Exec("INSERT INTO `userinfo_query` (uid, name) VALUES (?, ?)", 1, "user")
- assert.NoError(t, err)
- cnt, err := res.RowsAffected()
- assert.NoError(t, err)
- assert.EqualValues(t, 1, cnt)
- results, err := testEngine.Query("select * from userinfo_query")
- assert.NoError(t, err)
- assert.EqualValues(t, 1, len(results))
- id, err := strconv.Atoi(string(results[0]["uid"]))
- assert.NoError(t, err)
- assert.EqualValues(t, 1, id)
- assert.Equal(t, "user", string(results[0]["name"]))
- }
|