[Groonga-commit] groonga/grnci at ea93020 [master] Add tests for DB.DeleteBy*.

Back to archive index

Susumu Yata null+****@clear*****
Thu Sep 14 14:45:52 JST 2017


Susumu Yata	2017-09-14 14:45:52 +0900 (Thu, 14 Sep 2017)

  New Revision: ea93020eca3f664784e19e4a155d8a378b60349d
  https://github.com/groonga/grnci/commit/ea93020eca3f664784e19e4a155d8a378b60349d

  Message:
    Add tests for DB.DeleteBy*.
    
    Ref: #39

  Modified files:
    v2/libgrn/db_test.go

  Modified: v2/libgrn/db_test.go (+81 -0)
===================================================================
--- v2/libgrn/db_test.go    2017-09-14 14:37:09 +0900 (a2e61cd)
+++ v2/libgrn/db_test.go    2017-09-14 14:45:52 +0900 (d42869d)
@@ -301,6 +301,87 @@ func TestDBDatabaseUnmap(t *testing.T) {
 	}
 }
 
+func TestDBDeleteByFilter(t *testing.T) {
+	db, dir := makeDB(t)
+	defer removeDB(db, dir)
+
+	dump := `table_create Tbl TABLE_PAT_KEY ShortText
+	load --table Tbl --values '[["_key"],["foo"]]'`
+	if _, err := db.Restore(strings.NewReader(dump), nil, true); err != nil {
+		t.Fatalf("db.Restore failed: %v", err)
+	}
+	if err := db.DeleteByFilter("Tbl", "_key == \"foo\""); err != nil {
+		t.Fatalf("db.DeleteByFilter failed: %v", err)
+	}
+}
+
+func TestDBDeleteByFilterInvalidFilter(t *testing.T) {
+	db, dir := makeDB(t)
+	defer removeDB(db, dir)
+
+	dump := `table_create Tbl TABLE_NO_KEY`
+	if _, err := db.Restore(strings.NewReader(dump), nil, true); err != nil {
+		t.Fatalf("db.Restore failed: %v", err)
+	}
+	if err := db.DeleteByFilter("Tbl", "no_such_filter"); err == nil {
+		t.Fatalf("db.DeleteByFilter wrongly succeeded")
+	}
+}
+
+func TestDBDeleteByID(t *testing.T) {
+	db, dir := makeDB(t)
+	defer removeDB(db, dir)
+
+	dump := `table_create Tbl TABLE_NO_KEY
+load --table Tbl --values '[[],[]]'`
+	if _, err := db.Restore(strings.NewReader(dump), nil, true); err != nil {
+		t.Fatalf("db.Restore failed: %v", err)
+	}
+	if err := db.DeleteByID("Tbl", 1); err != nil {
+		t.Fatalf("db.DeleteByID failed: %v", err)
+	}
+}
+
+func TestDBDeleteByIDInvalidID(t *testing.T) {
+	db, dir := makeDB(t)
+	defer removeDB(db, dir)
+
+	dump := `table_create Tbl TABLE_NO_KEY`
+	if _, err := db.Restore(strings.NewReader(dump), nil, true); err != nil {
+		t.Fatalf("db.Restore failed: %v", err)
+	}
+	if err := db.DeleteByID("Tbl", 1); err == nil {
+		t.Fatalf("db.DeleteByID wrongly succeeded")
+	}
+}
+
+func TestDBDeleteByKey(t *testing.T) {
+	db, dir := makeDB(t)
+	defer removeDB(db, dir)
+
+	dump := `table_create Tbl TABLE_PAT_KEY ShortText
+load --table Tbl --values '[["_key"],["foo"]]'`
+	if _, err := db.Restore(strings.NewReader(dump), nil, true); err != nil {
+		t.Fatalf("db.Restore failed: %v", err)
+	}
+	if err := db.DeleteByKey("Tbl", "foo"); err != nil {
+		t.Fatalf("db.DeleteByKey failed: %v", err)
+	}
+}
+
+func TestDBDeleteByKeyInvalidKey(t *testing.T) {
+	db, dir := makeDB(t)
+	defer removeDB(db, dir)
+
+	dump := `table_create Tbl TABLE_NO_KEY`
+	if _, err := db.Restore(strings.NewReader(dump), nil, true); err != nil {
+		t.Fatalf("db.Restore failed: %v", err)
+	}
+	if err := db.DeleteByKey("Tbl", "no_such_key"); err == nil {
+		t.Fatalf("db.DeleteByKey wrongly succeeded")
+	}
+}
+
 func TestDBDump(t *testing.T) {
 	db, dir := makeDB(t)
 	defer removeDB(db, dir)
-------------- next part --------------
HTML����������������������������...
URL: https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20170914/443d3f18/attachment-0001.htm 



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