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  }