From 34f8cc6b77de609eb483a380eb529ea45cb0be00 Mon Sep 17 00:00:00 2001 From: Jannis Mattheis Date: Sat, 24 Mar 2018 16:38:09 +0100 Subject: [PATCH] Add create default user flag for testing --- app.go | 6 +++--- database/database.go | 6 ++++-- database/database_test.go | 4 ++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app.go b/app.go index 5077861..ac87e9b 100644 --- a/app.go +++ b/app.go @@ -8,10 +8,10 @@ import ( "github.com/gotify/server/config" "github.com/gotify/server/database" + "github.com/gotify/server/mode" "github.com/gotify/server/model" "github.com/gotify/server/router" "github.com/gotify/server/runner" - "github.com/gotify/server/mode" ) var ( @@ -27,12 +27,12 @@ var ( func main() { vInfo := &model.VersionInfo{Version: Version, Commit: Commit, BuildDate: BuildDate} - mode.Set(Mode); + mode.Set(Mode) fmt.Println("Starting Gotify version", vInfo.Version+"@"+BuildDate) rand.Seed(time.Now().UnixNano()) 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 { panic(err) } diff --git a/database/database.go b/database/database.go index 12772f8..d658d0b 100644 --- a/database/database.go +++ b/database/database.go @@ -10,7 +10,7 @@ import ( ) // 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) if err != nil { 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)) && !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.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 diff --git a/database/database_test.go b/database/database_test.go index d1772ca..562b212 100644 --- a/database/database_test.go +++ b/database/database_test.go @@ -18,7 +18,7 @@ type DatabaseSuite struct { } 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) s.db = db } @@ -29,6 +29,6 @@ func (s *DatabaseSuite) AfterTest(suiteName, testName string) { } 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) }