diff options
author | Ethan Koenig <ethantkoenig@gmail.com> | 2016-12-28 20:03:40 -0500 |
---|---|---|
committer | Kim "BKC" Carlbäcker <kim.carlbacker@gmail.com> | 2016-12-31 10:17:45 +0100 |
commit | de8b73dd9241375d78a08bb01910d2c820b5e481 (patch) | |
tree | bfa78d8524398eee3416b1c0cb5e8aaf4bdd0daa /models/setup_for_test.go | |
parent | c0904f1942071ce870ab9d87bd6c7f49f614ee82 (diff) | |
download | gitea-de8b73dd9241375d78a08bb01910d2c820b5e481.tar.gz gitea-de8b73dd9241375d78a08bb01910d2c820b5e481.zip |
Unit tests for token and update models
Diffstat (limited to 'models/setup_for_test.go')
-rw-r--r-- | models/setup_for_test.go | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/models/setup_for_test.go b/models/setup_for_test.go new file mode 100644 index 0000000000..b585a7490e --- /dev/null +++ b/models/setup_for_test.go @@ -0,0 +1,47 @@ +// Copyright 2016 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package models + +import ( + "fmt" + "os" + "testing" + + "github.com/go-xorm/core" + "github.com/go-xorm/xorm" + _ "github.com/mattn/go-sqlite3" // for the test engine + "gopkg.in/testfixtures.v2" +) + +func TestMain(m *testing.M) { + if err := CreateTestEngine(); err != nil { + fmt.Printf("Error creating test engine: %v\n", err) + os.Exit(1) + } + os.Exit(m.Run()) +} + +var fixtures *testfixtures.Context + +// CreateTestEngine create an xorm engine for testing +func CreateTestEngine() error { + testfixtures.SkipDatabaseNameCheck(true) + var err error + x, err = xorm.NewEngine("sqlite3", "file::memory:?cache=shared") + if err != nil { + return err + } + x.SetMapper(core.GonicMapper{}) + if err = x.StoreEngine("InnoDB").Sync2(tables...); err != nil { + return err + } + fixtures, err = testfixtures.NewFolder(x.DB().DB, &testfixtures.SQLite{}, "fixtures/") + return err +} + +// PrepareTestDatabase load test fixtures into test database +func PrepareTestDatabase() error { + return fixtures.Load() +} |