github.com/Go-GraphQL-Group/GraphQL-Service@v0.0.0-20181226133140-0967350219a7/test/dbOp_test.go (about) 1 package test 2 3 import ( 4 "encoding/json" 5 "fmt" 6 "os" 7 "testing" 8 9 boltdb "github.com/Go-GraphQL-Group/GraphQL-Service/db" 10 "github.com/Go-GraphQL-Group/GraphQL-Service/model" 11 "github.com/boltdb/bolt" 12 ) 13 14 func init() { 15 os.Chdir("..") 16 } 17 18 func TestGetFilmByID(t *testing.T) { 19 film2 := &model.Film{} 20 db, _ := bolt.Open("data/data.db", 0600, nil) 21 defer db.Close() 22 err, film1 := boltdb.GetFilmByID("2", db) 23 if err != nil { 24 t.Error("测试失败") 25 } 26 27 db.View(func(tx *bolt.Tx) error { 28 b := tx.Bucket([]byte("Film")) 29 json.Unmarshal(b.Get([]byte("2")), film2) 30 return nil 31 }) 32 if film2.ID == film1.ID && film2.Title == film1.Title && *(film2.EpisodeID) == *(film1.EpisodeID) { 33 t.Log("测试通过") 34 } else { 35 t.Error("测试失败") 36 } 37 } 38 39 func TestGetPeopleByID(t *testing.T) { 40 people2 := &model.People{} 41 db, _ := bolt.Open("data/data.db", 0600, nil) 42 defer db.Close() 43 err, people1 := boltdb.GetPeopleByID("1", db) 44 if err != nil { 45 t.Error("测试失败") 46 } 47 48 db.View(func(tx *bolt.Tx) error { 49 b := tx.Bucket([]byte("People")) 50 json.Unmarshal(b.Get([]byte("1")), people2) 51 return nil 52 }) 53 fmt.Println(people2.ID, people1.ID, people2.Name, people1.Name) 54 if people2.ID == people1.ID && people2.Name == people1.Name { 55 t.Log("测试通过") 56 } else { 57 t.Error("测试失败") 58 } 59 } 60 61 func TestGetPlanetByID(t *testing.T) { 62 Planet2 := &model.Planet{} 63 db, _ := bolt.Open("data/data.db", 0600, nil) 64 defer db.Close() 65 err, Planet1 := boltdb.GetPlanetByID("1", db) 66 if err != nil { 67 t.Error("测试失败") 68 } 69 70 db.View(func(tx *bolt.Tx) error { 71 b := tx.Bucket([]byte("Planet")) 72 json.Unmarshal(b.Get([]byte("1")), Planet2) 73 return nil 74 }) 75 fmt.Println(Planet2.ID, Planet1.ID, Planet2.Name, Planet1.Name) 76 if Planet2.ID == Planet1.ID && Planet2.Name == Planet1.Name { 77 t.Log("测试通过") 78 } else { 79 t.Error("测试失败") 80 } 81 } 82 83 func TestGetSpecieByID(t *testing.T) { 84 Specie2 := &model.Specie{} 85 db, _ := bolt.Open("data/data.db", 0600, nil) 86 defer db.Close() 87 err, Specie1 := boltdb.GetSpeciesByID("1", db) 88 if err != nil { 89 t.Error("测试失败") 90 } 91 92 db.View(func(tx *bolt.Tx) error { 93 b := tx.Bucket([]byte("Specie")) 94 json.Unmarshal(b.Get([]byte("1")), Specie2) 95 return nil 96 }) 97 fmt.Println(Specie2.ID, Specie1.ID, Specie2.Name, Specie1.Name) 98 if Specie2.ID == Specie1.ID && Specie2.Name == Specie1.Name { 99 t.Log("测试通过") 100 } else { 101 t.Error("测试失败") 102 } 103 } 104 105 func TestGetStarshipByID(t *testing.T) { 106 Starship2 := &model.Starship{} 107 db, _ := bolt.Open("data/data.db", 0600, nil) 108 defer db.Close() 109 err, Starship1 := boltdb.GetStarshipByID("1", db) 110 if err != nil { 111 t.Error("测试失败") 112 } 113 114 db.View(func(tx *bolt.Tx) error { 115 b := tx.Bucket([]byte("Starship")) 116 json.Unmarshal(b.Get([]byte("1")), Starship2) 117 return nil 118 }) 119 fmt.Println(Starship2.ID, Starship1.ID, Starship2.Name, Starship1.Name) 120 if Starship2.ID == Starship1.ID && Starship2.Name == Starship1.Name { 121 t.Log("测试通过") 122 } else { 123 t.Error("测试失败") 124 } 125 } 126 func TestGetVehicleByID(t *testing.T) { 127 Vehicle2 := &model.Vehicle{} 128 db, _ := bolt.Open("data/data.db", 0600, nil) 129 defer db.Close() 130 err, Vehicle1 := boltdb.GetVehicleByID("1", db) 131 if err != nil { 132 t.Error("测试失败") 133 } 134 135 db.View(func(tx *bolt.Tx) error { 136 b := tx.Bucket([]byte("Vehicle")) 137 json.Unmarshal(b.Get([]byte("1")), Vehicle2) 138 return nil 139 }) 140 fmt.Println(Vehicle2.ID, Vehicle1.ID, Vehicle2.Name, Vehicle1.Name) 141 if Vehicle2.ID == Vehicle1.ID && Vehicle2.Name == Vehicle1.Name { 142 t.Log("测试通过") 143 } else { 144 t.Error("测试失败") 145 } 146 }