dbbolt_test.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package dbbolt_test
  2. import (
  3. "os"
  4. "testing"
  5. "imuslab.com/zoraxy/mod/database/dbbolt"
  6. )
  7. func TestNewBoltDatabase(t *testing.T) {
  8. dbfile := "test.db"
  9. defer os.Remove(dbfile)
  10. db, err := dbbolt.NewBoltDatabase(dbfile)
  11. if err != nil {
  12. t.Fatalf("Failed to create new Bolt database: %v", err)
  13. }
  14. defer db.Close()
  15. if db.Db == nil {
  16. t.Fatalf("Expected non-nil database object")
  17. }
  18. }
  19. func TestNewTable(t *testing.T) {
  20. dbfile := "test.db"
  21. defer os.Remove(dbfile)
  22. db, err := dbbolt.NewBoltDatabase(dbfile)
  23. if err != nil {
  24. t.Fatalf("Failed to create new Bolt database: %v", err)
  25. }
  26. defer db.Close()
  27. err = db.NewTable("testTable")
  28. if err != nil {
  29. t.Fatalf("Failed to create new table: %v", err)
  30. }
  31. }
  32. func TestTableExists(t *testing.T) {
  33. dbfile := "test.db"
  34. defer os.Remove(dbfile)
  35. db, err := dbbolt.NewBoltDatabase(dbfile)
  36. if err != nil {
  37. t.Fatalf("Failed to create new Bolt database: %v", err)
  38. }
  39. defer db.Close()
  40. tableName := "testTable"
  41. err = db.NewTable(tableName)
  42. if err != nil {
  43. t.Fatalf("Failed to create new table: %v", err)
  44. }
  45. exists := db.TableExists(tableName)
  46. if !exists {
  47. t.Fatalf("Expected table %s to exist", tableName)
  48. }
  49. nonExistentTable := "nonExistentTable"
  50. exists = db.TableExists(nonExistentTable)
  51. if exists {
  52. t.Fatalf("Expected table %s to not exist", nonExistentTable)
  53. }
  54. }