[Groonga-commit] groonga/grnci at 092a14e [master] Add tests for DB.ColumnCopy.

Back to archive index

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 



More information about the Groonga-commit mailing list
Back to archive index