Susumu Yata
null+****@clear*****
Thu Sep 14 15:41:10 JST 2017
Susumu Yata 2017-09-14 15:41:10 +0900 (Thu, 14 Sep 2017) New Revision: 092a14efa473a5f1c9da82f9b39606b8e87e3222 https://github.com/groonga/grnci/commit/092a14efa473a5f1c9da82f9b39606b8e87e3222 Message: Add tests for DB.ColumnCopy. Ref: #39 Modified files: v2/libgrn/db_test.go Modified: v2/libgrn/db_test.go (+49 -17) =================================================================== --- v2/libgrn/db_test.go 2017-09-14 15:20:56 +0900 (ee81f92) +++ v2/libgrn/db_test.go 2017-09-14 15:41:10 +0900 (441290f) @@ -54,24 +54,56 @@ func TestDBCacheLimit(t *testing.T) { } } -// func TestDBColumnCopy(t *testing.T) { -// client, err := NewHTTPClient("", nil) -// if err != nil { -// t.Skipf("NewHTTPClient failed: %v", err) -// } -// db := NewDB(client) -// defer db.Close() +func TestDBColumnCopy(t *testing.T) { + db, dir := makeDB(t) + defer removeDB(db, dir) -// result, resp, err := db.ColumnCopy("Tbl.col", "Tbl.col2") -// if err != nil { -// t.Fatalf("db.ColumnCopy failed: %v", err) -// } -// log.Printf("result = %#v", result) -// log.Printf("resp = %#v", resp) -// if err := resp.Err(); err != nil { -// log.Printf("error = %#v", err) -// } -// } + dump := `table_create Tbl TABLE_NO_KEY +column_create Tbl col COLUMN_SCALAR ShortText +column_create Tbl col2 COLUMN_SCALAR ShortText` + if _, err := db.Restore(strings.NewReader(dump), nil, true); err != nil { + t.Fatalf("db.Restore failed: %v", err) + } + if err := db.ColumnCopy("Tbl.col", "Tbl.col2"); err != nil { + t.Fatalf("db.ColumnCopy failed: %v", err) + } +} + +func TestDBColumnCopyInvalidFrom(t *testing.T) { + db, dir := makeDB(t) + defer removeDB(db, dir) + + dump := `table_create Tbl TABLE_NO_KEY +column_create Tbl col COLUMN_SCALAR ShortText +column_create Tbl col2 COLUMN_SCALAR ShortText` + if _, err := db.Restore(strings.NewReader(dump), nil, true); err != nil { + t.Fatalf("db.Restore failed: %v", err) + } + if err := db.ColumnCopy("no_such_table.col", "Tbl.col2"); err == nil { + t.Fatalf("db.ColumnCopy wrongly succeeded.") + } + if err := db.ColumnCopy("Tbl.no_such_column", "Tbl.col2"); err == nil { + t.Fatalf("db.ColumnCopy wrongly succeeded.") + } +} + +func TestDBColumnCopyInvalidTo(t *testing.T) { + db, dir := makeDB(t) + defer removeDB(db, dir) + + dump := `table_create Tbl TABLE_NO_KEY +column_create Tbl col COLUMN_SCALAR ShortText +column_create Tbl col2 COLUMN_SCALAR ShortText` + if _, err := db.Restore(strings.NewReader(dump), nil, true); err != nil { + t.Fatalf("db.Restore failed: %v", err) + } + if err := db.ColumnCopy("Tbl.col", "no_such_table.col2"); err == nil { + t.Fatalf("db.ColumnCopy wrongly succeeded.") + } + if err := db.ColumnCopy("Tbl.col", "Tbl.no_such_column"); err == nil { + t.Fatalf("db.ColumnCopy wrongly succeeded.") + } +} func TestDBColumnCreate(t *testing.T) { db, dir := makeDB(t) -------------- next part -------------- HTML����������������������������... URL: https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20170914/bb943a85/attachment-0001.htm