Susumu Yata
null+****@clear*****
Fri Jul 7 13:08:52 JST 2017
Susumu Yata 2017-07-07 13:08:52 +0900 (Fri, 07 Jul 2017) New Revision: 113f271a255dca61c65ba9ecca6a5a81462153c0 https://github.com/groonga/grnci/commit/113f271a255dca61c65ba9ecca6a5a81462153c0 Message: Add tests for table_remove. GitHub: #39 Modified files: v2/libgrn/db_test.go Modified: v2/libgrn/db_test.go (+48 -0) =================================================================== --- v2/libgrn/db_test.go 2017-07-07 13:00:53 +0900 (c82a149) +++ v2/libgrn/db_test.go 2017-07-07 13:08:52 +0900 (4b8659c) @@ -705,6 +705,54 @@ func TestDBTokenizeWithOptions(t *testing.T) { // } // } +func TestDBTableRemove(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) + } + _, resp, err := db.TableRemove("Tbl", false) + if err == nil { + err = resp.Err() + } + if err != nil { + t.Fatalf("db.TableRemove failed: %v", err) + } +} + +func TestDBTableRemoveInvalidName(t *testing.T) { + db, dir := makeDB(t) + defer removeDB(db, dir) + + _, resp, err := db.TableRemove("no_such_table", false) + if err != nil { + t.Fatalf("db.TableRemove failed: %v", err) + } + if resp.Err() == nil { + t.Fatalf("db.TableRemove wrongly succeeded") + } +} + +func TestDBTableRemoveDependent(t *testing.T) { + db, dir := makeDB(t) + defer removeDB(db, dir) + + dump := `table_create Referred TABLE_HASH_KEY ShortText +table_create Referrer TABLE_HASH_KEY Referred` + if _, err := db.Restore(strings.NewReader(dump), nil, true); err != nil { + t.Fatalf("db.Restore failed: %v", err) + } + _, resp, err := db.TableRemove("Referred", true) + if err == nil { + err = resp.Err() + } + if err != nil { + t.Fatalf("db.TableRemove failed: %v", err) + } +} + func TestDBTokenizerList(t *testing.T) { db, dir := makeDB(t) defer removeDB(db, dir) -------------- next part -------------- HTML����������������������������... Download