diff options
author | Andrey Nering <andrey.nering@gmail.com> | 2017-01-28 11:27:45 -0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-28 11:27:45 -0200 |
commit | 31c717f57957902081e64e9db3211216bf61f45b (patch) | |
tree | baedbf658a6bcc1aadb962d4b5c61694f1369109 | |
parent | abf3fbf0b1f682628c941b21cbae55a5df5bad83 (diff) | |
parent | bb76285762186c7ca2add7c199114786a3b2e207 (diff) | |
download | gitea-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.go | 10 | ||||
-rw-r--r-- | models/wiki.go | 2 | ||||
-rw-r--r-- | models/wiki_test.go | 57 |
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) |