github.com/keysonZZZ/kmg@v0.0.0-20151121023212-05317bfd7d39/kmgSql/Functions_test.go (about) 1 package kmgSql 2 3 import ( 4 "testing" 5 6 . "github.com/bronze1man/kmg/kmgTest" 7 ) 8 9 func TestConnectToDb(t *testing.T) { 10 db := GetDb() 11 err := db.Ping() 12 Equal(err, nil) 13 } 14 15 func TestExec(t *testing.T) { 16 setTestSqlTable() 17 _, err := Exec("DELETE FROM `kmgSql_test_table` WHERE Id=? AND Info=?", "2", "World") 18 Equal(err, nil) 19 } 20 21 func TestQuery(t *testing.T) { 22 setTestSqlTable() 23 row, err := Query("select * from kmgSql_test_table") 24 Equal(err, nil) 25 Equal(len(row), 2) 26 setTestSqlTable() 27 rowA, err := Query("select * from kmgSql_test_table limit 1") 28 rowB, err := QueryOne("select * from kmgSql_test_table") 29 Equal(rowA[0]["Id"], rowB["Id"]) 30 Equal(rowA[0]["Info"], rowB["Info"]) 31 32 _, err = Query("SELECT * from kmgSql_test_table WHERE (Id=?) LIMIT 0,10", "2") 33 Equal(err, nil) 34 35 } 36 37 func TestQuestError(t *testing.T) { 38 _, err := Exec("DROP TABLE IF EXISTS `kmgSql_test_table`") 39 Equal(err, nil) 40 _, err = Query("show table status where name=?;", "kmgSql_test_table") 41 Ok(err == nil) 42 } 43 44 func TestInsert(t *testing.T) { 45 setTestSqlTable() 46 id, err := Insert("kmgSql_test_table", map[string]string{ 47 "Id": "3", 48 "Info": "Tom", 49 }) 50 Equal(err, nil) 51 Equal(id, 3) 52 one, err := QueryOne("select * from kmgSql_test_table where Id=?", "3") 53 Equal(one["Info"], "Tom") 54 Equal(err, nil) 55 } 56 57 func TestUpdateById(t *testing.T) { 58 setTestSqlTable() 59 err := UpdateById("kmgSql_test_table", "Id", map[string]string{ 60 "Id": "1", 61 "Info": "Ok", 62 }) 63 Equal(err, nil) 64 one, err := QueryOne("select * from kmgSql_test_table where Id=?", "1") 65 Equal(one["Info"], "Ok") 66 Equal(err, nil) 67 } 68 69 func TestReplaceById(t *testing.T) { 70 setTestSqlTable() 71 row := map[string]string{ 72 "Id": "1", 73 "Info": "Sky", 74 } 75 id, err := ReplaceById("kmgSql_test_table", "Id", row) 76 Equal(err, nil) 77 Equal(id, 1) 78 setTestSqlTable() 79 row = map[string]string{ 80 "Info": "Sky", 81 } 82 id, err = ReplaceById("kmgSql_test_table", "Id", row) 83 Equal(err, nil) 84 Equal(id, 3) 85 one, err := GetOneWhere("kmgSql_test_table", "Id", "3") 86 Equal(one["Info"], "Sky") 87 Equal(err, nil) 88 setTestSqlTable() 89 row = map[string]string{ 90 "Id": "10", 91 "Info": "Sky", 92 } 93 id, err = ReplaceById("kmgSql_test_table", "Id", row) 94 Equal(err, nil) 95 Equal(id, 10) 96 one, err = GetOneWhere("kmgSql_test_table", "Id", "10") 97 Equal(one["Info"], "Sky") 98 Equal(err, nil) 99 } 100 101 func TestGetOneWhere(t *testing.T) { 102 setTestSqlTable() 103 one, err := GetOneWhere("kmgSql_test_table", "Id", "1") 104 Equal(err, nil) 105 Equal(one["Info"], "Hello") 106 107 one, err = GetOneWhere("kmgSql_test_table", "Id", "100") 108 Equal(err, nil) 109 Equal(one, nil) 110 } 111 112 func TestDeleteById(t *testing.T) { 113 setTestSqlTable() 114 err := DeleteById("kmgSql_test_table", "Id", "1") 115 Equal(err, nil) 116 one, err := GetOneWhere("kmgSql_test_table", "Id", "1") 117 Equal(one, nil) 118 Equal(err, nil) 119 } 120 121 func TestGetAllInTable(t *testing.T) { 122 setTestSqlTable() 123 row, err := GetAllInTable("kmgSql_test_table") 124 Equal(err, nil) 125 Equal(len(row), 2) 126 } 127 128 func setTestSqlTable() { 129 MustExec("DROP TABLE IF EXISTS `kmgSql_test_table`") 130 MustExec("CREATE TABLE `kmgSql_test_table` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `Info` varchar(255) COLLATE utf8_bin DEFAULT NULL, PRIMARY KEY (`Id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin") 131 MustSetTableDataYaml(` 132 kmgSql_test_table: 133 - Id: 1 134 Info: Hello 135 - Id: 2 136 Info: World 137 `) 138 }