Susumu Yata
null+****@clear*****
Thu Jul 6 15:03:20 JST 2017
Susumu Yata 2017-07-06 15:03:20 +0900 (Thu, 06 Jul 2017) New Revision: d636b0c57ddb026806a018d64bbc6a27139416a2 https://github.com/groonga/grnci/commit/d636b0c57ddb026806a018d64bbc6a27139416a2 Message: Move db_test.go into libgran and enable a test for status. Renamed files: v2/libgrn/db_test.go (from v2/db_test.go) Renamed: v2/libgrn/db_test.go (+70 -20) 88% =================================================================== --- v2/db_test.go 2017-07-06 14:42:53 +0900 (995747b) +++ v2/libgrn/db_test.go 2017-07-06 15:03:20 +0900 (b8c763d) @@ -1,4 +1,73 @@ -package grnci +package libgrn + +import ( + "io/ioutil" + "os" + "path/filepath" + "testing" + "time" + + "github.com/groonga/grnci/v2" +) + +// makeDB creates a temporary DB. +func makeDB(t *testing.T) (db *grnci.DB, dir string) { + dir, err := ioutil.TempDir("", "libgrn") + if err != nil { + t.Fatalf("ioutil.TempDir failed: %v", err) + } + conn, err := Create(filepath.Join(dir, "db")) + if err != nil { + os.RemoveAll(dir) + t.Fatalf("Open failed: %v", err) + } + return grnci.NewDB(conn), dir +} + +// removeDB removes a temporary DB. +func removeDB(db *grnci.DB, dir string) { + db.Close() + os.RemoveAll(dir) +} + +func TestDBStatus(t *testing.T) { + db, dir := makeDB(t) + defer removeDB(db, dir) + result, resp, err := db.Status() + if err == nil { + err = resp.Err() + } + if err != nil { + t.Fatalf("db.Status failed: %v", err) + } + if result.AllocCount == 0 { + t.Fatalf("AllocCount is wrong: result = %#v", result) + } + if result.CacheHitRate != 0.0 { + t.Fatalf("CacheHitRate is wrong: result = %#v", result) + } + if result.CommandVersion != 1 { + t.Fatalf("CommandVersion is wrong: result = %#v", result) + } + if result.DefaultCommandVersion != 1 { + t.Fatalf("DefaultCommandVersion is wrong: result = %#v", result) + } + if result.MaxCommandVersion != 3 { + t.Fatalf("MaxCommandVersion is wrong: result = %#v", result) + } + if result.NQueries != 0 { + t.Fatalf("NQueries is wrong: result = %#v", result) + } + if result.StartTime.IsZero() { + t.Fatalf("StartTime is wrong: result = %#v", result) + } + if result.Uptime < 0 || result.Uptime > time.Minute { + t.Fatalf("Uptime is wrong: result = %#v", result) + } + if result.Version == "" { + t.Fatalf("Version is wrong: result = %#v", result) + } +} // func TestDBColumnList(t *testing.T) { // client, err := NewHTTPClient("", nil) @@ -344,25 +413,6 @@ package grnci // } // } -// func TestDBStatus(t *testing.T) { -// client, err := NewHTTPClient("", nil) -// if err != nil { -// t.Skipf("NewHTTPClient failed: %v", err) -// } -// db := NewDB(client) -// defer db.Close() - -// result, resp, err := db.Status() -// if err != nil { -// t.Fatalf("db.Status failed: %v", err) -// } -// log.Printf("result = %#v", result) -// log.Printf("resp = %#v", resp) -// if err := resp.Err(); err != nil { -// log.Printf("error = %#v", err) -// } -// } - // func TestDBTableList(t *testing.T) { // client, err := NewHTTPClient("", nil) // if err != nil { -------------- next part -------------- HTML����������������������������...ダウンロード