package gorqlite import "testing" func TestQueryOne (t *testing.T) { var wr WriteResult var qr QueryResult var wResults []WriteResult var qResults []QueryResult var err error t.Logf("trying Open") conn, err := Open(testUrl()) if ( err != nil ) { t.Logf("--> FATAL") t.Fatal() } t.Logf("trying WriteOne DROP") wr, err = conn.WriteOne("DROP TABLE IF EXISTS " + testTableName()) if ( err != nil ) { t.Logf("--> FATAL") t.Fatal() } t.Logf("trying WriteOne CREATE") wr, err = conn.WriteOne("CREATE TABLE " + testTableName() + " (id integer, name text)") if ( err != nil ) { t.Logf("--> FATAL") t.Fatal() } t.Logf("trying Write INSERT") s := make([]string,0) s = append(s,"INSERT INTO " + testTableName() + " (id, name) VALUES ( 1, 'Romulan' )") s = append(s,"INSERT INTO " + testTableName() + " (id, name) VALUES ( 2, 'Vulcan' )") s = append(s,"INSERT INTO " + testTableName() + " (id, name) VALUES ( 3, 'Klingon' )") s = append(s,"INSERT INTO " + testTableName() + " (id, name) VALUES ( 4, 'Ferengi' )") s = append(s,"INSERT INTO " + testTableName() + " (id, name) VALUES ( 5, 'Cardassian' )") wResults, err = conn.Write(s) if ( err != nil ) { t.Logf("--> FATAL") t.Fatal() } t.Logf("trying QueryOne") qr, err = conn.QueryOne("SELECT name FROM " + testTableName() + " WHERE id > 3") if ( err != nil ) { t.Logf("--> FAILED") t.Fail() } t.Logf("trying Next()") na := qr.Next() if ( na != true ) { t.Logf("--> FAILED") t.Fail() } t.Logf("trying Map()") r, err := qr.Map() if ( err != nil ) { t.Logf("--> FAILED") t.Fail() } if ( r["name"].(string) != "Ferengi" ) { t.Logf("--> FAILED") t.Fail() } t.Logf("trying Scan(), also float64->int64 in Scan()") var id int64 var name string err = qr.Scan(&id,&name) if ( err == nil ) { t.Logf("--> FAILED (%s)",err.Error()) t.Fail() } err = qr.Scan(&name) if ( err != nil ) { t.Logf("--> FAILED (%s)",err.Error()) t.Fail() } if ( name != "Ferengi" ) { t.Logf("--> FAILED, name should be 'Ferengi' but it's '%s'",name) t.Fail() } qr.Next() err = qr.Scan(&name) if ( name != "Cardassian" ) { t.Logf("--> FAILED") t.Fail() } t.Logf("trying WriteOne DROP") wr, err = conn.WriteOne("DROP TABLE IF EXISTS " + testTableName() + "") if ( err != nil ) { t.Logf("--> FAILED") t.Fail() } t.Logf("trying Close") conn.Close() t.Logf("trying WriteOne after Close") wr, err = conn.WriteOne("DROP TABLE IF EXISTS " + testTableName() + "") if ( err == nil ) { t.Logf("--> FAILED") t.Fail() } _ = wr t.Logf("trying Write after Close") t1 := make([]string,0) t1 = append(t1,"DROP TABLE IF EXISTS " + testTableName() + "") t1 = append(t1,"DROP TABLE IF EXISTS " + testTableName() + "") wResults, err = conn.Write(t1) if ( err == nil ) { t.Logf("--> FAILED") t.Fail() } _ = wResults t.Logf("trying QueryOne after Close") qr, err = conn.QueryOne("SELECT id FROM " + testTableName() + "") if ( err == nil ) { t.Logf("--> FAILED") t.Fail() } _ = qr t.Logf("trying Query after Close") t2 := make([]string,0) t2 = append(t2,"SELECT id FROM " + testTableName() + "") t2 = append(t2,"SELECT name FROM " + testTableName() + "") t2 = append(t2,"SELECT id,name FROM " + testTableName() + "") qResults, err = conn.Query(t2) if ( err == nil ) { t.Logf("--> FAILED") t.Fail() } _ = qResults }