mirror of
https://github.com/go-gitea/gitea.git
synced 2026-10-31 03:14:17 +09:00
test: consolidate Go tests (#39962)
Consolidate all Go tests. Coverage is identical to before. Go tests are around 5% faster while being 7% smaller. No non-test code is touched.
This commit is contained in:
1 parent
ce7364e215
commit
8abda62312
388 files changed
+18410
-29561
No files matched your search
@@ -9,7 +9,9 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"gitea.dev/modules/options"
|
||||
repo_module "gitea.dev/modules/repository"
|
||||
"gitea.dev/modules/setting"
|
||||
api "gitea.dev/modules/structs"
|
||||
"gitea.dev/tests"
|
||||
|
||||
@@ -19,40 +21,75 @@ import (
|
||||
func TestAPIListLabelTemplates(t *testing.T) {
|
||||
defer tests.PrepareTestEnv(t)()
|
||||
|
||||
req := NewRequest(t, "GET", "/api/v1/label/templates")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
t.Run("list labels", func(t *testing.T) {
|
||||
req := NewRequest(t, "GET", "/api/v1/label/templates")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
templateList := DecodeJSON(t, resp, []string{})
|
||||
templateList := DecodeJSON(t, resp, []string{})
|
||||
|
||||
for i := range repo_module.LabelTemplateFiles {
|
||||
assert.Equal(t, repo_module.LabelTemplateFiles[i].DisplayName, templateList[i])
|
||||
}
|
||||
}
|
||||
|
||||
func TestAPIGetLabelTemplateInfo(t *testing.T) {
|
||||
defer tests.PrepareTestEnv(t)()
|
||||
|
||||
// If Gitea has for some reason no Label templates, we need to skip this test
|
||||
if len(repo_module.LabelTemplateFiles) == 0 {
|
||||
return
|
||||
}
|
||||
|
||||
// Use the first template for the test
|
||||
templateName := repo_module.LabelTemplateFiles[0].DisplayName
|
||||
|
||||
urlStr := "/api/v1/label/templates/" + url.PathEscape(templateName)
|
||||
req := NewRequest(t, "GET", urlStr)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
templateInfo := DecodeJSON(t, resp, []api.LabelTemplate{})
|
||||
|
||||
labels, err := repo_module.LoadTemplateLabelsByDisplayName(templateName)
|
||||
assert.NoError(t, err)
|
||||
|
||||
for i := range labels {
|
||||
assert.Equal(t, strings.TrimLeft(labels[i].Color, "#"), templateInfo[i].Color)
|
||||
assert.Equal(t, labels[i].Description, templateInfo[i].Description)
|
||||
assert.Equal(t, labels[i].Exclusive, templateInfo[i].Exclusive)
|
||||
assert.Equal(t, labels[i].Name, templateInfo[i].Name)
|
||||
}
|
||||
for i := range repo_module.LabelTemplateFiles {
|
||||
assert.Equal(t, repo_module.LabelTemplateFiles[i].DisplayName, templateList[i])
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("label info", func(t *testing.T) {
|
||||
// If Gitea has for some reason no Label templates, we need to skip this test
|
||||
if len(repo_module.LabelTemplateFiles) == 0 {
|
||||
return
|
||||
}
|
||||
|
||||
// Use the first template for the test
|
||||
templateName := repo_module.LabelTemplateFiles[0].DisplayName
|
||||
|
||||
urlStr := "/api/v1/label/templates/" + url.PathEscape(templateName)
|
||||
req := NewRequest(t, "GET", urlStr)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
templateInfo := DecodeJSON(t, resp, []api.LabelTemplate{})
|
||||
|
||||
labels, err := repo_module.LoadTemplateLabelsByDisplayName(templateName)
|
||||
assert.NoError(t, err)
|
||||
|
||||
for i := range labels {
|
||||
assert.Equal(t, strings.TrimLeft(labels[i].Color, "#"), templateInfo[i].Color)
|
||||
assert.Equal(t, labels[i].Description, templateInfo[i].Description)
|
||||
assert.Equal(t, labels[i].Exclusive, templateInfo[i].Exclusive)
|
||||
assert.Equal(t, labels[i].Name, templateInfo[i].Name)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("list licenses", func(t *testing.T) {
|
||||
req := NewRequest(t, "GET", "/api/v1/licenses")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
licenseList := DecodeJSON(t, resp, []api.LicensesTemplateListEntry{})
|
||||
assert.Contains(t, licenseList, api.LicensesTemplateListEntry{
|
||||
Key: "MIT",
|
||||
Name: "MIT",
|
||||
URL: setting.AppURL + "api/v1/licenses/MIT",
|
||||
})
|
||||
})
|
||||
|
||||
t.Run("license info", func(t *testing.T) {
|
||||
// If Gitea has for some reason no License templates, we need to skip this test
|
||||
if len(repo_module.Licenses) == 0 {
|
||||
return
|
||||
}
|
||||
|
||||
// Use the first template for the test
|
||||
licenseName := repo_module.Licenses[0]
|
||||
|
||||
urlStr := "/api/v1/licenses/" + url.PathEscape(licenseName)
|
||||
req := NewRequest(t, "GET", urlStr)
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
licenseInfo := DecodeJSON(t, resp, &api.LicenseTemplateInfo{})
|
||||
|
||||
// We get the text of the template here
|
||||
text, _ := options.License(licenseName)
|
||||
|
||||
assert.Equal(t, licenseInfo.Key, licenseName)
|
||||
assert.Equal(t, licenseInfo.Name, licenseName)
|
||||
assert.Equal(t, licenseInfo.Body, string(text))
|
||||
})
|
||||
}
|
||||
Reference in new issue
Block a user