session_raw_test.go 1002 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // Copyright 2017 The Xorm Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style
  3. // license that can be found in the LICENSE file.
  4. package xorm
  5. import (
  6. "testing"
  7. "time"
  8. "github.com/stretchr/testify/assert"
  9. )
  10. func TestQueryString(t *testing.T) {
  11. assert.NoError(t, prepareEngine())
  12. type GetVar struct {
  13. Id int64 `xorm:"autoincr pk"`
  14. Msg string `xorm:"varchar(255)"`
  15. Age int
  16. Money float32
  17. Created time.Time `xorm:"created"`
  18. }
  19. assert.NoError(t, testEngine.Sync2(new(GetVar)))
  20. var data = GetVar{
  21. Msg: "hi",
  22. Age: 28,
  23. Money: 1.5,
  24. }
  25. _, err := testEngine.InsertOne(data)
  26. assert.NoError(t, err)
  27. records, err := testEngine.QueryString("select * from get_var")
  28. assert.NoError(t, err)
  29. assert.Equal(t, 1, len(records))
  30. assert.Equal(t, 5, len(records[0]))
  31. assert.Equal(t, "1", records[0]["id"])
  32. assert.Equal(t, "hi", records[0]["msg"])
  33. assert.Equal(t, "28", records[0]["age"])
  34. assert.Equal(t, "1.5", records[0]["money"])
  35. }