Unit tests for models/wiki

This commit is contained in:
Ethan Koenig 2017-01-27 13:04:53 -05:00
parent bb5a6b7a07
commit bb76285762
3 changed files with 68 additions and 1 deletions

View File

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

View File

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

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)