aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Nering <andrey.nering@gmail.com>2017-01-28 11:27:45 -0200
committerGitHub <noreply@github.com>2017-01-28 11:27:45 -0200
commit31c717f57957902081e64e9db3211216bf61f45b (patch)
treebaedbf658a6bcc1aadb962d4b5c61694f1369109
parentabf3fbf0b1f682628c941b21cbae55a5df5bad83 (diff)
parentbb76285762186c7ca2add7c199114786a3b2e207 (diff)
downloadgitea-31c717f57957902081e64e9db3211216bf61f45b.tar.gz
gitea-31c717f57957902081e64e9db3211216bf61f45b.zip
Merge pull request #777 from ethantkoenig/tests/wiki
Unit tests for models/wiki
-rw-r--r--models/setup_for_test.go10
-rw-r--r--models/wiki.go2
-rw-r--r--models/wiki_test.go57
3 files changed, 68 insertions, 1 deletions
diff --git a/models/setup_for_test.go b/models/setup_for_test.go
index aec409622b..0073e93456 100644
--- a/models/setup_for_test.go
+++ b/models/setup_for_test.go
@@ -9,6 +9,8 @@ import (
"os"
"testing"
+ "code.gitea.io/gitea/modules/setting"
+
"github.com/go-xorm/core"
"github.com/go-xorm/xorm"
_ "github.com/mattn/go-sqlite3" // for the test engine
@@ -23,6 +25,14 @@ func TestMain(m *testing.M) {
fmt.Printf("Error creating test engine: %v\n", err)
os.Exit(1)
}
+
+ setting.AppURL = "https://try.gitea.io/"
+ setting.RunUser = "runuser"
+ setting.SSH.Port = 3000
+ setting.SSH.Domain = "try.gitea.io"
+ setting.RepoRootPath = "/repos"
+ setting.AppDataPath = "/appdata"
+
os.Exit(m.Run())
}
diff --git a/models/wiki.go b/models/wiki.go
index b20b118641..2e2c1d03fa 100644
--- a/models/wiki.go
+++ b/models/wiki.go
@@ -41,7 +41,7 @@ func ToWikiPageName(urlString string) string {
}
// WikiCloneLink returns clone URLs of repository wiki.
-func (repo *Repository) WikiCloneLink() (cl *CloneLink) {
+func (repo *Repository) WikiCloneLink() *CloneLink {
return repo.cloneLink(true)
}
diff --git a/models/wiki_test.go b/models/wiki_test.go
new file mode 100644
index 0000000000..a662ff92f2
--- /dev/null
+++ b/models/wiki_test.go
@@ -0,0 +1,57 @@
+// 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 (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestToWikiPageURL(t *testing.T) {
+ assert.Equal(t, "wiki-name", ToWikiPageURL("wiki-name"))
+ assert.Equal(t, "wiki-name-with-many-spaces", ToWikiPageURL("wiki name with many spaces"))
+}
+
+func TestToWikiPageName(t *testing.T) {
+ assert.Equal(t, "wiki name", ToWikiPageName("wiki name"))
+ assert.Equal(t, "wiki name", ToWikiPageName("wiki-name"))
+ assert.Equal(t, "wiki name", ToWikiPageName("wiki\tname"))
+ assert.Equal(t, "wiki name", ToWikiPageName("./.././wiki/name"))
+}
+
+func TestRepository_WikiCloneLink(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+
+ repo := AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository)
+ cloneLink := repo.WikiCloneLink()
+ assert.Equal(t, "ssh://runuser@try.gitea.io:3000/user2/repo1.wiki.git", cloneLink.SSH)
+ assert.Equal(t, "https://try.gitea.io/user2/repo1.wiki.git", cloneLink.HTTPS)
+}
+
+func TestWikiPath(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+ assert.Equal(t, "/repos/user2/repo1.wiki.git", WikiPath("user2", "repo1"))
+}
+
+func TestRepository_WikiPath(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+ repo := AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository)
+ assert.Equal(t, "/repos/user2/repo1.wiki.git", repo.WikiPath())
+}
+
+// TODO TestRepository_HasWiki
+
+// TODO TestRepository_InitWiki
+
+func TestRepository_LocalWikiPath(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+ repo := AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository)
+ assert.Equal(t, "/appdata/tmp/local-wiki/1", repo.LocalWikiPath())
+}
+
+// TODO TestRepository_UpdateLocalWiki
+
+// TODO ... (all remaining untested functions)