summaryrefslogtreecommitdiffstats
path: root/models
diff options
context:
space:
mode:
authorEthan Koenig <etk39@cornell.edu>2017-04-25 03:24:51 -0400
committerLunny Xiao <xiaolunwen@gmail.com>2017-04-25 15:24:51 +0800
commitc58708d3eedb352bb277feb2c12bb1652a8a58b7 (patch)
tree97aeed6a13031618baa7d67185b04faea506da38 /models
parent3012971e92b79683178a286511c091fb31ee90f6 (diff)
downloadgitea-c58708d3eedb352bb277feb2c12bb1652a8a58b7.tar.gz
gitea-c58708d3eedb352bb277feb2c12bb1652a8a58b7.zip
Integration test framework (#1290)
* Integration test framework * udpate drone sign * Formatting fixes and move router.go to routers/ * update sign for drone
Diffstat (limited to 'models')
-rw-r--r--models/setup_for_test.go8
-rw-r--r--models/test_fixtures.go23
2 files changed, 25 insertions, 6 deletions
diff --git a/models/setup_for_test.go b/models/setup_for_test.go
index 5a17eac789..9fb83f15c4 100644
--- a/models/setup_for_test.go
+++ b/models/setup_for_test.go
@@ -37,11 +37,8 @@ func TestMain(m *testing.M) {
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 {
@@ -52,8 +49,7 @@ func CreateTestEngine() error {
return err
}
- fixtures, err = testfixtures.NewFolder(x.DB().DB, &testfixtures.SQLite{}, "fixtures/")
- return err
+ return InitFixtures(&testfixtures.SQLite{}, "fixtures/")
}
func TestFixturesAreConsistent(t *testing.T) {
@@ -63,7 +59,7 @@ func TestFixturesAreConsistent(t *testing.T) {
// PrepareTestDatabase load test fixtures into test database
func PrepareTestDatabase() error {
- return fixtures.Load()
+ return LoadFixtures()
}
func loadBeanIfExists(bean interface{}, conditions ...interface{}) (bool, error) {
diff --git a/models/test_fixtures.go b/models/test_fixtures.go
new file mode 100644
index 0000000000..d7f59ec3b5
--- /dev/null
+++ b/models/test_fixtures.go
@@ -0,0 +1,23 @@
+// Copyright 2017 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 (
+ "gopkg.in/testfixtures.v2"
+)
+
+var fixtures *testfixtures.Context
+
+// InitFixtures initialize test fixtures for a test database
+func InitFixtures(helper testfixtures.Helper, dir string) (err error) {
+ testfixtures.SkipDatabaseNameCheck(true)
+ fixtures, err = testfixtures.NewFolder(x.DB().DB, helper, dir)
+ return err
+}
+
+// LoadFixtures load fixtures for a test database
+func LoadFixtures() error {
+ return fixtures.Load()
+}