Merge pull request #777 from ethantkoenig/tests/wiki

Unit tests for models/wiki
This commit is contained in:
Andrey Nering 2017-01-28 11:27:45 -02:00 committed by GitHub
commit 31c717f579
3 changed files with 68 additions and 1 deletions

View file

@ -9,6 +9,8 @@ import (
"os" "os"
"testing" "testing"
"code.gitea.io/gitea/modules/setting"
"github.com/go-xorm/core" "github.com/go-xorm/core"
"github.com/go-xorm/xorm" "github.com/go-xorm/xorm"
_ "github.com/mattn/go-sqlite3" // for the test engine _ "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) fmt.Printf("Error creating test engine: %v\n", err)
os.Exit(1) 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()) os.Exit(m.Run())
} }

View file

@ -41,7 +41,7 @@ func ToWikiPageName(urlString string) string {
} }
// WikiCloneLink returns clone URLs of repository wiki. // WikiCloneLink returns clone URLs of repository wiki.
func (repo *Repository) WikiCloneLink() (cl *CloneLink) { func (repo *Repository) WikiCloneLink() *CloneLink {
return repo.cloneLink(true) return repo.cloneLink(true)
} }

57
models/wiki_test.go Normal file
View file

@ -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)