morpheus

A Matrix client written in Go-QT
git clone git://archive.git.mtrnord.blog/Nordgedanken/morpheus.git
Log | Files | Refs | README | LICENSE

userDataDB_test.go (2525B)


      1 package db
      2 
      3 import (
      4 	"os"
      5 	"path/filepath"
      6 
      7 	"github.com/dgraph-io/badger"
      8 	. "github.com/onsi/ginkgo"
      9 
     10 	//. "github.com/onsi/gomega"
     11 	"github.com/shibukawa/configdir"
     12 )
     13 
     14 // OpenUserDB opens or generates the Database file for settings and Cache
     15 func OpenUserDBTest() (db *badger.DB, err error) {
     16 	// Open the data.db file. It will be created if it doesn't exist.
     17 	configDirs := configdir.New("Nordgedanken", "Morpheus")
     18 	if _, StatErr := os.Stat(filepath.ToSlash(configDirs.QueryFolders(configdir.Global)[0].Path) + "/tests/"); os.IsNotExist(StatErr) {
     19 		MkdirErr := os.MkdirAll(filepath.ToSlash(configDirs.QueryFolders(configdir.Global)[0].Path)+"/tests/", 0666)
     20 		if MkdirErr != nil {
     21 			err = MkdirErr
     22 			return
     23 		}
     24 	}
     25 	if _, StatErr := os.Stat(filepath.ToSlash(configDirs.QueryFolders(configdir.Global)[0].Path) + "/tests/data/"); os.IsNotExist(StatErr) {
     26 		MkdirErr := os.MkdirAll(filepath.ToSlash(configDirs.QueryFolders(configdir.Global)[0].Path)+"/tests/data/", 0666)
     27 		if MkdirErr != nil {
     28 			err = MkdirErr
     29 			return
     30 		}
     31 	}
     32 	if _, StatErr := os.Stat(filepath.ToSlash(configDirs.QueryFolders(configdir.Global)[0].Path) + "/tests/data/user/"); os.IsNotExist(StatErr) {
     33 		MkdirErr := os.MkdirAll(filepath.ToSlash(configDirs.QueryFolders(configdir.Global)[0].Path)+"/tests/data/user/", 0666)
     34 		if MkdirErr != nil {
     35 			err = MkdirErr
     36 			return
     37 		}
     38 	}
     39 	if _, StatErr := os.Stat(filepath.ToSlash(configDirs.QueryFolders(configdir.Global)[0].Path) + "/tests/data/userValue/"); os.IsNotExist(StatErr) {
     40 		MkdirErr := os.MkdirAll(filepath.ToSlash(configDirs.QueryFolders(configdir.Global)[0].Path)+"/tests/data/userValue/", 0666)
     41 		if MkdirErr != nil {
     42 			err = MkdirErr
     43 			return
     44 		}
     45 	}
     46 	opts := badger.DefaultOptions
     47 	opts.Dir = filepath.ToSlash(configDirs.QueryFolders(configdir.Global)[0].Path) + "/tests/data/user/"
     48 	opts.ValueDir = filepath.ToSlash(configDirs.QueryFolders(configdir.Global)[0].Path) + "/tests/data/userValue/"
     49 
     50 	expDB, DBErr := badger.Open(opts)
     51 	if DBErr != nil {
     52 		err = DBErr
     53 		return
     54 	}
     55 
     56 	db = expDB
     57 	return
     58 }
     59 
     60 var _ = Describe("UserDataDB", func() {
     61 	var db *badger.DB
     62 	/*BeforeEach(func() {
     63 		DBErr := db.Update(func(txn *badger.Txn) error {
     64 			DeleteErr := txn.DeleteAll()
     65 			return DeleteErr
     66 		})
     67 		if DBErr != nil {
     68 			Fail(DBErr.Error())
     69 		}
     70 	})*/
     71 
     72 	Describe("Test User DB", func() {
     73 		Context("opening", func() {
     74 			It("should open the DB", func() {
     75 				var DBOpenErr error
     76 				db, DBOpenErr = OpenUserDBTest()
     77 				if DBOpenErr != nil {
     78 					Fail(DBOpenErr.Error())
     79 				}
     80 			})
     81 		})
     82 	})
     83 })