Add create default user flag for testing

This commit is contained in:
Jannis Mattheis 2018-03-24 16:38:09 +01:00 committed by Jannis Mattheis
parent 203791c63b
commit 34f8cc6b77
3 changed files with 9 additions and 7 deletions

6
app.go
View File

@ -8,10 +8,10 @@ import (
"github.com/gotify/server/config" "github.com/gotify/server/config"
"github.com/gotify/server/database" "github.com/gotify/server/database"
"github.com/gotify/server/mode"
"github.com/gotify/server/model" "github.com/gotify/server/model"
"github.com/gotify/server/router" "github.com/gotify/server/router"
"github.com/gotify/server/runner" "github.com/gotify/server/runner"
"github.com/gotify/server/mode"
) )
var ( var (
@ -27,12 +27,12 @@ var (
func main() { func main() {
vInfo := &model.VersionInfo{Version: Version, Commit: Commit, BuildDate: BuildDate} vInfo := &model.VersionInfo{Version: Version, Commit: Commit, BuildDate: BuildDate}
mode.Set(Mode); mode.Set(Mode)
fmt.Println("Starting Gotify version", vInfo.Version+"@"+BuildDate) fmt.Println("Starting Gotify version", vInfo.Version+"@"+BuildDate)
rand.Seed(time.Now().UnixNano()) rand.Seed(time.Now().UnixNano())
conf := config.Get() conf := config.Get()
db, err := database.New(conf.Database.Dialect, conf.Database.Connection, conf.DefaultUser.Name, conf.DefaultUser.Pass, conf.PassStrength) db, err := database.New(conf.Database.Dialect, conf.Database.Connection, conf.DefaultUser.Name, conf.DefaultUser.Pass, conf.PassStrength, true)
if err != nil { if err != nil {
panic(err) panic(err)
} }

View File

@ -10,7 +10,7 @@ import (
) )
// New creates a new wrapper for the gorm database framework. // New creates a new wrapper for the gorm database framework.
func New(dialect, connection, defaultUser, defaultPass string, strength int) (*GormDatabase, error) { func New(dialect, connection, defaultUser, defaultPass string, strength int, createDefaultUser bool) (*GormDatabase, error) {
db, err := gorm.Open(dialect, connection) db, err := gorm.Open(dialect, connection)
if err != nil { if err != nil {
return nil, err return nil, err
@ -31,7 +31,9 @@ func New(dialect, connection, defaultUser, defaultPass string, strength int) (*G
if !db.HasTable(new(model.User)) && !db.HasTable(new(model.Message)) && if !db.HasTable(new(model.User)) && !db.HasTable(new(model.Message)) &&
!db.HasTable(new(model.Client)) && !db.HasTable(new(model.Application)) { !db.HasTable(new(model.Client)) && !db.HasTable(new(model.Application)) {
db.AutoMigrate(new(model.User), new(model.Application), new(model.Message), new(model.Client)) db.AutoMigrate(new(model.User), new(model.Application), new(model.Message), new(model.Client))
db.Create(&model.User{Name: defaultUser, Pass: password.CreatePassword(defaultPass, strength), Admin: true}) if createDefaultUser {
db.Create(&model.User{Name: defaultUser, Pass: password.CreatePassword(defaultPass, strength), Admin: true})
}
} }
return &GormDatabase{DB: db}, nil return &GormDatabase{DB: db}, nil

View File

@ -18,7 +18,7 @@ type DatabaseSuite struct {
} }
func (s *DatabaseSuite) BeforeTest(suiteName, testName string) { func (s *DatabaseSuite) BeforeTest(suiteName, testName string) {
db, err := New("sqlite3", "testdb.db", "defaultUser", "defaultPass", 5) db, err := New("sqlite3", "testdb.db", "defaultUser", "defaultPass", 5, true)
assert.Nil(s.T(), err) assert.Nil(s.T(), err)
s.db = db s.db = db
} }
@ -29,6 +29,6 @@ func (s *DatabaseSuite) AfterTest(suiteName, testName string) {
} }
func TestInvalidDialect(t *testing.T) { func TestInvalidDialect(t *testing.T) {
_, err := New("asdf", "testdb.db", "defaultUser", "defaultPass", 5) _, err := New("asdf", "testdb.db", "defaultUser", "defaultPass", 5, true)
assert.NotNil(t, err) assert.NotNil(t, err)
} }