d8a994ef24 (diff-2)
")
}
+func TestRender_IssueIndexPatternRef(t *testing.T) {
+ setting.AppURL = TestAppURL
+
+ test := func(input, expected string) {
+ var buf strings.Builder
+ err := postProcess(&RenderContext{
+ Ctx: git.DefaultContext,
+ Metas: numericMetas,
+ }, []processor{issueIndexPatternProcessor}, strings.NewReader(input), &buf)
+ require.NoError(t, err)
+ assert.Equal(t, expected, buf.String(), "input=%q", input)
+ }
+
+ test("alan-turin/Enigma-cryptanalysis#1", `alan-turin/Enigma-cryptanalysis#1`)
+}
+
func TestRender_FullIssueURLs(t *testing.T) {
setting.AppURL = TestAppURL
@@ -353,7 +370,7 @@ func TestRender_FullIssueURLs(t *testing.T) {
},
Metas: localMetas,
}, []processor{fullIssuePatternProcessor}, strings.NewReader(input), &result)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, expected, result.String())
}
test("Here is a link https://git.osgeo.org/gogs/postgis/postgis/pulls/6",
diff --git a/modules/markup/html_test.go b/modules/markup/html_test.go
index fa49e60a16..42ce99903d 100644
--- a/modules/markup/html_test.go
+++ b/modules/markup/html_test.go
@@ -51,7 +51,7 @@ func TestRender_Commits(t *testing.T) {
},
Metas: localMetas,
}, input)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(buffer))
}
@@ -105,7 +105,7 @@ func TestRender_CrossReferences(t *testing.T) {
},
Metas: localMetas,
}, input)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(buffer))
}
@@ -146,7 +146,7 @@ func TestRender_links(t *testing.T) {
Base: markup.TestRepoURL,
},
}, input)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(buffer))
}
// Text that should be turned into URL
@@ -248,7 +248,7 @@ func TestRender_email(t *testing.T) {
Base: markup.TestRepoURL,
},
}, input)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(res))
}
// Text that should be turned into email link
@@ -321,7 +321,7 @@ func TestRender_emoji(t *testing.T) {
Base: markup.TestRepoURL,
},
}, input)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(buffer))
}
@@ -387,7 +387,7 @@ func TestRender_ShortLinks(t *testing.T) {
BranchPath: "master",
},
}, input)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(string(buffer)))
buffer, err = markdown.RenderString(&markup.RenderContext{
Ctx: git.DefaultContext,
@@ -397,7 +397,7 @@ func TestRender_ShortLinks(t *testing.T) {
Metas: localMetas,
IsWiki: true,
}, input)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, strings.TrimSpace(expectedWiki), strings.TrimSpace(string(buffer)))
}
@@ -500,7 +500,7 @@ func TestRender_RelativeImages(t *testing.T) {
},
Metas: localMetas,
}, input)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(string(buffer)))
buffer, err = markdown.RenderString(&markup.RenderContext{
Ctx: git.DefaultContext,
@@ -510,7 +510,7 @@ func TestRender_RelativeImages(t *testing.T) {
Metas: localMetas,
IsWiki: true,
}, input)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, strings.TrimSpace(expectedWiki), strings.TrimSpace(string(buffer)))
}
@@ -546,7 +546,7 @@ func Test_ParseClusterFuzz(t *testing.T) {
},
Metas: localMetas,
}, strings.NewReader(data), &res)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.NotContains(t, res.String(), "783b039...da951ce
", res.String())
}
@@ -707,7 +707,7 @@ func TestRender_FilePreview(t *testing.T) {
RelativePath: ".md",
Metas: metas,
}, input)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(buffer))
}
diff --git a/modules/markup/markdown/callout/github.go b/modules/markup/markdown/callout/github.go
index 443f6fe2a3..debad42b83 100644
--- a/modules/markup/markdown/callout/github.go
+++ b/modules/markup/markdown/callout/github.go
@@ -36,6 +36,10 @@ func (g *GitHubCalloutTransformer) Transform(node *ast.Document, reader text.Rea
switch v := n.(type) {
case *ast.Blockquote:
+ if v.ChildCount() == 0 {
+ return ast.WalkContinue, nil
+ }
+
// We only want attention blockquotes when the AST looks like:
// Text: "["
// Text: "!TYPE"
diff --git a/modules/markup/markdown/callout/github_legacy.go b/modules/markup/markdown/callout/github_legacy.go
index e9aaecccfb..eb15e1e64c 100644
--- a/modules/markup/markdown/callout/github_legacy.go
+++ b/modules/markup/markdown/callout/github_legacy.go
@@ -25,6 +25,10 @@ func (g *GitHubLegacyCalloutTransformer) Transform(node *ast.Document, reader te
switch v := n.(type) {
case *ast.Blockquote:
+ if v.ChildCount() == 0 {
+ return ast.WalkContinue, nil
+ }
+
// The first paragraph contains the callout type.
firstParagraph := v.FirstChild()
if firstParagraph.ChildCount() < 1 {
diff --git a/modules/markup/markdown/markdown_test.go b/modules/markup/markdown/markdown_test.go
index 68428552c4..32426e0d76 100644
--- a/modules/markup/markdown/markdown_test.go
+++ b/modules/markup/markdown/markdown_test.go
@@ -20,6 +20,7 @@ import (
"code.gitea.io/gitea/modules/util"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
const (
@@ -57,7 +58,7 @@ func TestRender_StandardLinks(t *testing.T) {
Base: FullURL,
},
}, input)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(string(buffer)))
buffer, err = markdown.RenderString(&markup.RenderContext{
@@ -67,7 +68,7 @@ func TestRender_StandardLinks(t *testing.T) {
},
IsWiki: true,
}, input)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, strings.TrimSpace(expectedWiki), strings.TrimSpace(string(buffer)))
}
@@ -91,7 +92,7 @@ func TestRender_Images(t *testing.T) {
Base: FullURL,
},
}, input)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(string(buffer)))
}
@@ -300,7 +301,7 @@ func TestTotal_RenderWiki(t *testing.T) {
Metas: localMetas,
IsWiki: true,
}, sameCases[i])
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, template.HTML(answers[i]), line)
}
@@ -325,7 +326,7 @@ func TestTotal_RenderWiki(t *testing.T) {
},
IsWiki: true,
}, testCases[i])
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, template.HTML(testCases[i+1]), line)
}
}
@@ -344,7 +345,7 @@ func TestTotal_RenderString(t *testing.T) {
},
Metas: localMetas,
}, sameCases[i])
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, template.HTML(answers[i]), line)
}
@@ -357,7 +358,7 @@ func TestTotal_RenderString(t *testing.T) {
Base: FullURL,
},
}, testCases[i])
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, template.HTML(testCases[i+1]), line)
}
}
@@ -365,17 +366,17 @@ func TestTotal_RenderString(t *testing.T) {
func TestRender_RenderParagraphs(t *testing.T) {
test := func(t *testing.T, str string, cnt int) {
res, err := markdown.RenderRawString(&markup.RenderContext{Ctx: git.DefaultContext}, str)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, cnt, strings.Count(res, "\n\n
0
") +} diff --git a/modules/markup/markdown/meta_test.go b/modules/markup/markdown/meta_test.go index 6949966328..d341ae43e4 100644 --- a/modules/markup/markdown/meta_test.go +++ b/modules/markup/markdown/meta_test.go @@ -9,6 +9,7 @@ import ( "testing" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) /* @@ -31,7 +32,7 @@ func TestExtractMetadata(t *testing.T) { t.Run("ValidFrontAndBody", func(t *testing.T) { var meta IssueTemplate body, err := ExtractMetadata(fmt.Sprintf("%s\n%s\n%s\n%s", sepTest, frontTest, sepTest, bodyTest), &meta) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, bodyTest, body) assert.Equal(t, metaTest, meta) assert.True(t, meta.Valid()) @@ -40,19 +41,19 @@ func TestExtractMetadata(t *testing.T) { t.Run("NoFirstSeparator", func(t *testing.T) { var meta IssueTemplate _, err := ExtractMetadata(fmt.Sprintf("%s\n%s\n%s", frontTest, sepTest, bodyTest), &meta) - assert.Error(t, err) + require.Error(t, err) }) t.Run("NoLastSeparator", func(t *testing.T) { var meta IssueTemplate _, err := ExtractMetadata(fmt.Sprintf("%s\n%s\n%s", sepTest, frontTest, bodyTest), &meta) - assert.Error(t, err) + require.Error(t, err) }) t.Run("NoBody", func(t *testing.T) { var meta IssueTemplate body, err := ExtractMetadata(fmt.Sprintf("%s\n%s\n%s", sepTest, frontTest, sepTest), &meta) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, "", body) assert.Equal(t, metaTest, meta) assert.True(t, meta.Valid()) @@ -63,7 +64,7 @@ func TestExtractMetadataBytes(t *testing.T) { t.Run("ValidFrontAndBody", func(t *testing.T) { var meta IssueTemplate body, err := ExtractMetadataBytes([]byte(fmt.Sprintf("%s\n%s\n%s\n%s", sepTest, frontTest, sepTest, bodyTest)), &meta) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, bodyTest, string(body)) assert.Equal(t, metaTest, meta) assert.True(t, meta.Valid()) @@ -72,19 +73,19 @@ func TestExtractMetadataBytes(t *testing.T) { t.Run("NoFirstSeparator", func(t *testing.T) { var meta IssueTemplate _, err := ExtractMetadataBytes([]byte(fmt.Sprintf("%s\n%s\n%s", frontTest, sepTest, bodyTest)), &meta) - assert.Error(t, err) + require.Error(t, err) }) t.Run("NoLastSeparator", func(t *testing.T) { var meta IssueTemplate _, err := ExtractMetadataBytes([]byte(fmt.Sprintf("%s\n%s\n%s", sepTest, frontTest, bodyTest)), &meta) - assert.Error(t, err) + require.Error(t, err) }) t.Run("NoBody", func(t *testing.T) { var meta IssueTemplate body, err := ExtractMetadataBytes([]byte(fmt.Sprintf("%s\n%s\n%s", sepTest, frontTest, sepTest)), &meta) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, "", string(body)) assert.Equal(t, metaTest, meta) assert.True(t, meta.Valid()) diff --git a/modules/markup/orgmode/orgmode_test.go b/modules/markup/orgmode/orgmode_test.go index 5ced819984..f41d86a8a8 100644 --- a/modules/markup/orgmode/orgmode_test.go +++ b/modules/markup/orgmode/orgmode_test.go @@ -13,6 +13,7 @@ import ( "code.gitea.io/gitea/modules/util" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) const ( @@ -32,7 +33,7 @@ func TestRender_StandardLinks(t *testing.T) { Base: setting.AppSubURL, }, }, input) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(buffer)) } @@ -60,7 +61,7 @@ func TestRender_BaseLinks(t *testing.T) { BranchPath: "branch/main", }, }, input) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(buffer)) } @@ -73,7 +74,7 @@ func TestRender_BaseLinks(t *testing.T) { TreePath: "deep/nested/folder", }, }, input) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(buffer)) } @@ -99,7 +100,7 @@ func TestRender_Media(t *testing.T) { Base: setting.AppSubURL, }, }, input) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(buffer)) } @@ -140,7 +141,7 @@ func TestRender_Source(t *testing.T) { buffer, err := RenderString(&markup.RenderContext{ Ctx: git.DefaultContext, }, input) - assert.NoError(t, err) + require.NoError(t, err) assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(buffer)) } diff --git a/modules/markup/renderer.go b/modules/markup/renderer.go index f1beee964a..2ac9ca96ba 100644 --- a/modules/markup/renderer.go +++ b/modules/markup/renderer.go @@ -67,14 +67,18 @@ type Header struct { // RenderContext represents a render context type RenderContext struct { - Ctx context.Context - RelativePath string // relative path from tree root of the branch - Type string - IsWiki bool - Links Links - Metas map[string]string - DefaultLink string - GitRepo *git.Repository + Ctx context.Context + RelativePath string // relative path from tree root of the branch + Type string + IsWiki bool + Links Links + Metas map[string]string + DefaultLink string + GitRepo *git.Repository + // reporting the target blob that is to-be-rendered enables + // deeper inspection in the handler for external renderer + // (i.e., more targeted handling of annexed files) + Blob *git.Blob ShaExistCache map[string]bool cancelFn func() SidebarTocNode ast.Node diff --git a/modules/markup/sanitizer.go b/modules/markup/sanitizer.go index c0b449ea5b..d07bba3004 100644 --- a/modules/markup/sanitizer.go +++ b/modules/markup/sanitizer.go @@ -179,6 +179,7 @@ func createDefaultPolicy() *bluemonday.Policy { // repository descriptions. func createRepoDescriptionPolicy() *bluemonday.Policy { policy := bluemonday.NewPolicy() + policy.AllowStandardURLs() // Allow italics and bold. policy.AllowElements("i", "b", "em", "strong") diff --git a/modules/markup/sanitizer_test.go b/modules/markup/sanitizer_test.go index b7b8792bd7..163620c2ec 100644 --- a/modules/markup/sanitizer_test.go +++ b/modules/markup/sanitizer_test.go @@ -82,12 +82,15 @@ func TestDescriptionSanitizer(t *testing.T) { `THUMBS UP`, `THUMBS UP`, `Hello World`, `Hello World`, `wg(8)
tool`, `Provides alternative wg(8)
tool`,
+ `Click me.`, `Click me.`,
+ `Click me.`, `Click me.`,
+ `Click me.`, `Click me.`,
}
for i := 0; i < len(testCases); i += 2 {
diff --git a/modules/migration/file_format_test.go b/modules/migration/file_format_test.go
index da997f645b..9638d82462 100644
--- a/modules/migration/file_format_test.go
+++ b/modules/migration/file_format_test.go
@@ -9,14 +9,15 @@ import (
"github.com/santhosh-tekuri/jsonschema/v5"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestMigrationJSON_IssueOK(t *testing.T) {
issues := make([]*Issue, 0, 10)
err := Load("file_format_testdata/issue_a.json", &issues, true)
- assert.NoError(t, err)
+ require.NoError(t, err)
err = Load("file_format_testdata/issue_a.yml", &issues, true)
- assert.NoError(t, err)
+ require.NoError(t, err)
}
func TestMigrationJSON_IssueFail(t *testing.T) {
@@ -34,5 +35,5 @@ func TestMigrationJSON_IssueFail(t *testing.T) {
func TestMigrationJSON_MilestoneOK(t *testing.T) {
milestones := make([]*Milestone, 0, 10)
err := Load("file_format_testdata/milestones.json", &milestones, true)
- assert.NoError(t, err)
+ require.NoError(t, err)
}
diff --git a/modules/migration/pullrequest.go b/modules/migration/pullrequest.go
index 4e7500f0d6..1435991bd2 100644
--- a/modules/migration/pullrequest.go
+++ b/modules/migration/pullrequest.go
@@ -45,7 +45,7 @@ func (p *PullRequest) GetContext() DownloaderContext { return p.Context }
// IsForkPullRequest returns true if the pull request from a forked repository but not the same repository
func (p *PullRequest) IsForkPullRequest() bool {
- return p.Head.RepoPath() != p.Base.RepoPath()
+ return p.Head.RepoFullName() != p.Base.RepoFullName()
}
// GetGitRefName returns pull request relative path to head
@@ -62,8 +62,8 @@ type PullRequestBranch struct {
OwnerName string `yaml:"owner_name"`
}
-// RepoPath returns pull request repo path
-func (p PullRequestBranch) RepoPath() string {
+// RepoFullName returns pull request repo full name
+func (p PullRequestBranch) RepoFullName() string {
return fmt.Sprintf("%s/%s", p.OwnerName, p.RepoName)
}
diff --git a/modules/optional/serialization_test.go b/modules/optional/serialization_test.go
index 09a4bddea0..c852b8a70f 100644
--- a/modules/optional/serialization_test.go
+++ b/modules/optional/serialization_test.go
@@ -11,6 +11,7 @@ import (
"code.gitea.io/gitea/modules/optional"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
"gopkg.in/yaml.v3"
)
@@ -50,11 +51,11 @@ func TestOptionalToJson(t *testing.T) {
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
b, err := json.Marshal(tc.obj)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.EqualValues(t, tc.want, string(b), "gitea json module returned unexpected")
b, err = std_json.Marshal(tc.obj)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.EqualValues(t, tc.want, string(b), "std json module returned unexpected")
})
}
@@ -88,12 +89,12 @@ func TestOptionalFromJson(t *testing.T) {
t.Run(tc.name, func(t *testing.T) {
var obj1 testSerializationStruct
err := json.Unmarshal([]byte(tc.data), &obj1)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.EqualValues(t, tc.want, obj1, "gitea json module returned unexpected")
var obj2 testSerializationStruct
err = std_json.Unmarshal([]byte(tc.data), &obj2)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.EqualValues(t, tc.want, obj2, "std json module returned unexpected")
})
}
@@ -134,7 +135,7 @@ optional_two_string: null
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
b, err := yaml.Marshal(tc.obj)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.EqualValues(t, tc.want, string(b), "yaml module returned unexpected")
})
}
@@ -183,7 +184,7 @@ optional_twostring: null
t.Run(tc.name, func(t *testing.T) {
var obj testSerializationStruct
err := yaml.Unmarshal([]byte(tc.data), &obj)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.EqualValues(t, tc.want, obj, "yaml module returned unexpected")
})
}
diff --git a/modules/packages/alpine/metadata_test.go b/modules/packages/alpine/metadata_test.go
index 2a3c48ffb9..8167b4902a 100644
--- a/modules/packages/alpine/metadata_test.go
+++ b/modules/packages/alpine/metadata_test.go
@@ -11,6 +11,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
const (
@@ -77,7 +78,7 @@ func TestParsePackage(t *testing.T) {
pp, err := ParsePackage(data)
assert.Nil(t, pp)
- assert.ErrorIs(t, err, ErrMissingPKGINFOFile)
+ require.ErrorIs(t, err, ErrMissingPKGINFOFile)
})
t.Run("InvalidPKGINFOFile", func(t *testing.T) {
@@ -85,14 +86,14 @@ func TestParsePackage(t *testing.T) {
pp, err := ParsePackage(data)
assert.Nil(t, pp)
- assert.ErrorIs(t, err, ErrInvalidName)
+ require.ErrorIs(t, err, ErrInvalidName)
})
t.Run("Valid", func(t *testing.T) {
data := createPackage(".PKGINFO", createPKGINFOContent(packageName, packageVersion))
p, err := ParsePackage(data)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.NotNil(t, p)
assert.Equal(t, "Q1SRYURM5+uQDqfHSwTnNIOIuuDVQ=", p.FileMetadata.Checksum)
@@ -105,7 +106,7 @@ func TestParsePackageInfo(t *testing.T) {
p, err := ParsePackageInfo(bytes.NewReader(data))
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidName)
+ require.ErrorIs(t, err, ErrInvalidName)
})
t.Run("InvalidVersion", func(t *testing.T) {
@@ -113,14 +114,14 @@ func TestParsePackageInfo(t *testing.T) {
p, err := ParsePackageInfo(bytes.NewReader(data))
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidVersion)
+ require.ErrorIs(t, err, ErrInvalidVersion)
})
t.Run("Valid", func(t *testing.T) {
data := createPKGINFOContent(packageName, packageVersion)
p, err := ParsePackageInfo(bytes.NewReader(data))
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.NotNil(t, p)
assert.Equal(t, packageName, p.Name)
diff --git a/modules/packages/cargo/parser_test.go b/modules/packages/cargo/parser_test.go
index 2230a5b499..4b357cb869 100644
--- a/modules/packages/cargo/parser_test.go
+++ b/modules/packages/cargo/parser_test.go
@@ -11,6 +11,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
const (
@@ -51,7 +52,7 @@ func TestParsePackage(t *testing.T) {
cp, err := ParsePackage(data)
assert.Nil(t, cp)
- assert.ErrorIs(t, err, ErrInvalidName)
+ require.ErrorIs(t, err, ErrInvalidName)
}
})
@@ -61,7 +62,7 @@ func TestParsePackage(t *testing.T) {
cp, err := ParsePackage(data)
assert.Nil(t, cp)
- assert.ErrorIs(t, err, ErrInvalidVersion)
+ require.ErrorIs(t, err, ErrInvalidVersion)
}
})
@@ -70,7 +71,7 @@ func TestParsePackage(t *testing.T) {
cp, err := ParsePackage(data)
assert.NotNil(t, cp)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "test", cp.Name)
assert.Equal(t, "1.0.0", cp.Version)
diff --git a/modules/packages/chef/metadata_test.go b/modules/packages/chef/metadata_test.go
index 6def4162a9..8784c629e6 100644
--- a/modules/packages/chef/metadata_test.go
+++ b/modules/packages/chef/metadata_test.go
@@ -11,6 +11,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
const (
@@ -31,7 +32,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(&buf)
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrMissingMetadataFile)
+ require.ErrorIs(t, err, ErrMissingMetadataFile)
})
t.Run("Valid", func(t *testing.T) {
@@ -53,7 +54,7 @@ func TestParsePackage(t *testing.T) {
zw.Close()
p, err := ParsePackage(&buf)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.NotNil(t, p)
assert.Equal(t, packageName, p.Name)
assert.Equal(t, packageVersion, p.Version)
@@ -66,7 +67,7 @@ func TestParseChefMetadata(t *testing.T) {
for _, name := range []string{" test", "test "} {
p, err := ParseChefMetadata(strings.NewReader(`{"name":"` + name + `","version":"1.0.0"}`))
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidName)
+ require.ErrorIs(t, err, ErrInvalidName)
}
})
@@ -74,14 +75,14 @@ func TestParseChefMetadata(t *testing.T) {
for _, version := range []string{"1", "1.2.3.4", "1.0.0 "} {
p, err := ParseChefMetadata(strings.NewReader(`{"name":"test","version":"` + version + `"}`))
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidVersion)
+ require.ErrorIs(t, err, ErrInvalidVersion)
}
})
t.Run("Valid", func(t *testing.T) {
p, err := ParseChefMetadata(strings.NewReader(`{"name":"` + packageName + `","version":"` + packageVersion + `","description":"` + packageDescription + `","maintainer":"` + packageAuthor + `","source_url":"` + packageRepositoryURL + `"}`))
assert.NotNil(t, p)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, packageName, p.Name)
assert.Equal(t, packageVersion, p.Version)
diff --git a/modules/packages/composer/metadata_test.go b/modules/packages/composer/metadata_test.go
index a5e317daf1..2bdb23965b 100644
--- a/modules/packages/composer/metadata_test.go
+++ b/modules/packages/composer/metadata_test.go
@@ -12,6 +12,7 @@ import (
"code.gitea.io/gitea/modules/json"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
const (
@@ -49,20 +50,20 @@ const composerContent = `{
func TestLicenseUnmarshal(t *testing.T) {
var l Licenses
- assert.NoError(t, json.NewDecoder(strings.NewReader(`["MIT"]`)).Decode(&l))
+ require.NoError(t, json.NewDecoder(strings.NewReader(`["MIT"]`)).Decode(&l))
assert.Len(t, l, 1)
assert.Equal(t, "MIT", l[0])
- assert.NoError(t, json.NewDecoder(strings.NewReader(`"MIT"`)).Decode(&l))
+ require.NoError(t, json.NewDecoder(strings.NewReader(`"MIT"`)).Decode(&l))
assert.Len(t, l, 1)
assert.Equal(t, "MIT", l[0])
}
func TestCommentsUnmarshal(t *testing.T) {
var c Comments
- assert.NoError(t, json.NewDecoder(strings.NewReader(`["comment"]`)).Decode(&c))
+ require.NoError(t, json.NewDecoder(strings.NewReader(`["comment"]`)).Decode(&c))
assert.Len(t, c, 1)
assert.Equal(t, "comment", c[0])
- assert.NoError(t, json.NewDecoder(strings.NewReader(`"comment"`)).Decode(&c))
+ require.NoError(t, json.NewDecoder(strings.NewReader(`"comment"`)).Decode(&c))
assert.Len(t, c, 1)
assert.Equal(t, "comment", c[0])
}
@@ -84,7 +85,7 @@ func TestParsePackage(t *testing.T) {
cp, err := ParsePackage(bytes.NewReader(data), int64(len(data)))
assert.Nil(t, cp)
- assert.ErrorIs(t, err, ErrMissingComposerFile)
+ require.ErrorIs(t, err, ErrMissingComposerFile)
})
t.Run("MissingComposerFileInRoot", func(t *testing.T) {
@@ -92,7 +93,7 @@ func TestParsePackage(t *testing.T) {
cp, err := ParsePackage(bytes.NewReader(data), int64(len(data)))
assert.Nil(t, cp)
- assert.ErrorIs(t, err, ErrMissingComposerFile)
+ require.ErrorIs(t, err, ErrMissingComposerFile)
})
t.Run("InvalidComposerFile", func(t *testing.T) {
@@ -100,7 +101,7 @@ func TestParsePackage(t *testing.T) {
cp, err := ParsePackage(bytes.NewReader(data), int64(len(data)))
assert.Nil(t, cp)
- assert.Error(t, err)
+ require.Error(t, err)
})
t.Run("InvalidPackageName", func(t *testing.T) {
@@ -108,7 +109,7 @@ func TestParsePackage(t *testing.T) {
cp, err := ParsePackage(bytes.NewReader(data), int64(len(data)))
assert.Nil(t, cp)
- assert.ErrorIs(t, err, ErrInvalidName)
+ require.ErrorIs(t, err, ErrInvalidName)
})
t.Run("InvalidPackageVersion", func(t *testing.T) {
@@ -116,14 +117,14 @@ func TestParsePackage(t *testing.T) {
cp, err := ParsePackage(bytes.NewReader(data), int64(len(data)))
assert.Nil(t, cp)
- assert.ErrorIs(t, err, ErrInvalidVersion)
+ require.ErrorIs(t, err, ErrInvalidVersion)
})
t.Run("InvalidReadmePath", func(t *testing.T) {
data := createArchive(map[string]string{"composer.json": `{"name": "gitea/composer-package", "readme": "sub/README.md"}`})
cp, err := ParsePackage(bytes.NewReader(data), int64(len(data)))
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.NotNil(t, cp)
assert.Empty(t, cp.Metadata.Readme)
@@ -133,7 +134,7 @@ func TestParsePackage(t *testing.T) {
data := createArchive(map[string]string{"composer.json": composerContent, "README.md": readme})
cp, err := ParsePackage(bytes.NewReader(data), int64(len(data)))
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.NotNil(t, cp)
assert.Equal(t, name, cp.Name)
diff --git a/modules/packages/conan/conanfile_parser_test.go b/modules/packages/conan/conanfile_parser_test.go
index 5801570184..fe867fbe76 100644
--- a/modules/packages/conan/conanfile_parser_test.go
+++ b/modules/packages/conan/conanfile_parser_test.go
@@ -8,6 +8,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
const (
@@ -40,7 +41,7 @@ class ConanPackageConan(ConanFile):
func TestParseConanfile(t *testing.T) {
metadata, err := ParseConanfile(strings.NewReader(contentConanfile))
- assert.Nil(t, err)
+ require.NoError(t, err)
assert.Equal(t, license, metadata.License)
assert.Equal(t, author, metadata.Author)
assert.Equal(t, homepage, metadata.ProjectURL)
diff --git a/modules/packages/conan/conaninfo_parser_test.go b/modules/packages/conan/conaninfo_parser_test.go
index 556a4b939e..dfb1836474 100644
--- a/modules/packages/conan/conaninfo_parser_test.go
+++ b/modules/packages/conan/conaninfo_parser_test.go
@@ -8,6 +8,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
const (
@@ -50,7 +51,7 @@ const (
func TestParseConaninfo(t *testing.T) {
info, err := ParseConaninfo(strings.NewReader(contentConaninfo))
assert.NotNil(t, info)
- assert.Nil(t, err)
+ require.NoError(t, err)
assert.Equal(
t,
map[string]string{
diff --git a/modules/packages/conan/reference_test.go b/modules/packages/conan/reference_test.go
index 6ea86eb0dd..7d39bd8238 100644
--- a/modules/packages/conan/reference_test.go
+++ b/modules/packages/conan/reference_test.go
@@ -7,6 +7,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestNewRecipeReference(t *testing.T) {
@@ -40,53 +41,53 @@ func TestNewRecipeReference(t *testing.T) {
for i, c := range cases {
rref, err := NewRecipeReference(c.Name, c.Version, c.User, c.Channel, c.Revision)
if c.IsValid {
- assert.NoError(t, err, "case %d, should be invalid", i)
+ require.NoError(t, err, "case %d, should be invalid", i)
assert.NotNil(t, rref, "case %d, should not be nil", i)
} else {
- assert.Error(t, err, "case %d, should be valid", i)
+ require.Error(t, err, "case %d, should be valid", i)
}
}
}
func TestRecipeReferenceRevisionOrDefault(t *testing.T) {
rref, err := NewRecipeReference("name", "1.0", "", "", "")
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, DefaultRevision, rref.RevisionOrDefault())
rref, err = NewRecipeReference("name", "1.0", "", "", DefaultRevision)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, DefaultRevision, rref.RevisionOrDefault())
rref, err = NewRecipeReference("name", "1.0", "", "", "Az09")
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "Az09", rref.RevisionOrDefault())
}
func TestRecipeReferenceString(t *testing.T) {
rref, err := NewRecipeReference("name", "1.0", "", "", "")
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "name/1.0", rref.String())
rref, err = NewRecipeReference("name", "1.0", "user", "channel", "")
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "name/1.0@user/channel", rref.String())
rref, err = NewRecipeReference("name", "1.0", "user", "channel", "Az09")
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "name/1.0@user/channel#Az09", rref.String())
}
func TestRecipeReferenceLinkName(t *testing.T) {
rref, err := NewRecipeReference("name", "1.0", "", "", "")
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "name/1.0/_/_/0", rref.LinkName())
rref, err = NewRecipeReference("name", "1.0", "user", "channel", "")
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "name/1.0/user/channel/0", rref.LinkName())
rref, err = NewRecipeReference("name", "1.0", "user", "channel", "Az09")
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "name/1.0/user/channel/Az09", rref.LinkName())
}
@@ -110,10 +111,10 @@ func TestNewPackageReference(t *testing.T) {
for i, c := range cases {
pref, err := NewPackageReference(c.Recipe, c.Reference, c.Revision)
if c.IsValid {
- assert.NoError(t, err, "case %d, should be invalid", i)
+ require.NoError(t, err, "case %d, should be invalid", i)
assert.NotNil(t, pref, "case %d, should not be nil", i)
} else {
- assert.Error(t, err, "case %d, should be valid", i)
+ require.Error(t, err, "case %d, should be valid", i)
}
}
}
@@ -122,15 +123,15 @@ func TestPackageReferenceRevisionOrDefault(t *testing.T) {
rref, _ := NewRecipeReference("name", "1.0", "", "", "")
pref, err := NewPackageReference(rref, "ref", "")
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, DefaultRevision, pref.RevisionOrDefault())
pref, err = NewPackageReference(rref, "ref", DefaultRevision)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, DefaultRevision, pref.RevisionOrDefault())
pref, err = NewPackageReference(rref, "ref", "Az09")
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "Az09", pref.RevisionOrDefault())
}
@@ -138,10 +139,10 @@ func TestPackageReferenceLinkName(t *testing.T) {
rref, _ := NewRecipeReference("name", "1.0", "", "", "")
pref, err := NewPackageReference(rref, "ref", "")
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "ref/0", pref.LinkName())
pref, err = NewPackageReference(rref, "ref", "Az09")
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "ref/Az09", pref.LinkName())
}
diff --git a/modules/packages/conda/metadata_test.go b/modules/packages/conda/metadata_test.go
index 2bb114f030..1bc4695b56 100644
--- a/modules/packages/conda/metadata_test.go
+++ b/modules/packages/conda/metadata_test.go
@@ -13,6 +13,7 @@ import (
"github.com/dsnet/compress/bzip2"
"github.com/klauspost/compress/zstd"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
const (
@@ -46,7 +47,7 @@ func TestParsePackage(t *testing.T) {
p, err := parsePackageTar(buf)
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidStructure)
+ require.ErrorIs(t, err, ErrInvalidStructure)
})
t.Run("MissingAboutFile", func(t *testing.T) {
@@ -54,7 +55,7 @@ func TestParsePackage(t *testing.T) {
p, err := parsePackageTar(buf)
assert.NotNil(t, p)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "name", p.Name)
assert.Equal(t, "1.0", p.Version)
@@ -67,7 +68,7 @@ func TestParsePackage(t *testing.T) {
p, err := parsePackageTar(buf)
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidName)
+ require.ErrorIs(t, err, ErrInvalidName)
}
})
@@ -77,7 +78,7 @@ func TestParsePackage(t *testing.T) {
p, err := parsePackageTar(buf)
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidVersion)
+ require.ErrorIs(t, err, ErrInvalidVersion)
}
})
@@ -89,7 +90,7 @@ func TestParsePackage(t *testing.T) {
p, err := parsePackageTar(buf)
assert.NotNil(t, p)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, packageName, p.Name)
assert.Equal(t, packageVersion, p.Version)
@@ -114,7 +115,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackageBZ2(br)
assert.NotNil(t, p)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, packageName, p.Name)
assert.Equal(t, packageVersion, p.Version)
@@ -141,7 +142,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackageConda(br, int64(br.Len()))
assert.NotNil(t, p)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, packageName, p.Name)
assert.Equal(t, packageVersion, p.Version)
diff --git a/modules/packages/container/metadata_test.go b/modules/packages/container/metadata_test.go
index 665499b2e6..930cf48f68 100644
--- a/modules/packages/container/metadata_test.go
+++ b/modules/packages/container/metadata_test.go
@@ -11,6 +11,7 @@ import (
oci "github.com/opencontainers/image-spec/specs-go/v1"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestParseImageConfig(t *testing.T) {
@@ -24,7 +25,7 @@ func TestParseImageConfig(t *testing.T) {
configOCI := `{"config": {"labels": {"` + labelAuthors + `": "` + author + `", "` + labelLicenses + `": "` + license + `", "` + labelURL + `": "` + projectURL + `", "` + labelSource + `": "` + repositoryURL + `", "` + labelDocumentation + `": "` + documentationURL + `", "` + labelDescription + `": "` + description + `"}}, "history": [{"created_by": "do it 1"}, {"created_by": "dummy #(nop) do it 2"}]}`
metadata, err := ParseImageConfig(oci.MediaTypeImageManifest, strings.NewReader(configOCI))
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, TypeOCI, metadata.Type)
assert.Equal(t, description, metadata.Description)
@@ -51,7 +52,7 @@ func TestParseImageConfig(t *testing.T) {
configHelm := `{"description":"` + description + `", "home": "` + projectURL + `", "sources": ["` + repositoryURL + `"], "maintainers":[{"name":"` + author + `"}]}`
metadata, err = ParseImageConfig(helm.ConfigMediaType, strings.NewReader(configHelm))
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, TypeHelm, metadata.Type)
assert.Equal(t, description, metadata.Description)
diff --git a/modules/packages/cran/metadata_test.go b/modules/packages/cran/metadata_test.go
index ff68c34c51..3287380cf0 100644
--- a/modules/packages/cran/metadata_test.go
+++ b/modules/packages/cran/metadata_test.go
@@ -12,6 +12,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
const (
@@ -62,7 +63,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(buf, buf.Size())
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrMissingDescriptionFile)
+ require.ErrorIs(t, err, ErrMissingDescriptionFile)
})
t.Run("Valid", func(t *testing.T) {
@@ -74,7 +75,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(buf, buf.Size())
assert.NotNil(t, p)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, packageName, p.Name)
assert.Equal(t, packageVersion, p.Version)
@@ -99,7 +100,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(buf, buf.Size())
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrMissingDescriptionFile)
+ require.ErrorIs(t, err, ErrMissingDescriptionFile)
})
t.Run("Valid", func(t *testing.T) {
@@ -110,7 +111,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(buf, buf.Size())
assert.NotNil(t, p)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, packageName, p.Name)
assert.Equal(t, packageVersion, p.Version)
@@ -123,7 +124,7 @@ func TestParseDescription(t *testing.T) {
for _, name := range []string{"123abc", "ab-cd", "ab cd", "ab/cd"} {
p, err := ParseDescription(createDescription(name, packageVersion))
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidName)
+ require.ErrorIs(t, err, ErrInvalidName)
}
})
@@ -131,13 +132,13 @@ func TestParseDescription(t *testing.T) {
for _, version := range []string{"1", "1 0", "1.2.3.4.5", "1-2-3-4-5", "1.", "1.0.", "1-", "1-0-"} {
p, err := ParseDescription(createDescription(packageName, version))
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidVersion)
+ require.ErrorIs(t, err, ErrInvalidVersion)
}
})
t.Run("Valid", func(t *testing.T) {
p, err := ParseDescription(createDescription(packageName, packageVersion))
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.NotNil(t, p)
assert.Equal(t, packageName, p.Name)
diff --git a/modules/packages/debian/metadata_test.go b/modules/packages/debian/metadata_test.go
index 26c2a6fc68..94a9805639 100644
--- a/modules/packages/debian/metadata_test.go
+++ b/modules/packages/debian/metadata_test.go
@@ -13,6 +13,7 @@ import (
"github.com/blakesmith/ar"
"github.com/klauspost/compress/zstd"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
"github.com/ulikunitz/xz"
)
@@ -47,7 +48,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(data)
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrMissingControlFile)
+ require.ErrorIs(t, err, ErrMissingControlFile)
})
t.Run("Compression", func(t *testing.T) {
@@ -56,7 +57,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(data)
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrUnsupportedCompression)
+ require.ErrorIs(t, err, ErrUnsupportedCompression)
})
var buf bytes.Buffer
@@ -112,7 +113,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(data)
assert.NotNil(t, p)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "gitea", p.Name)
t.Run("TrailingSlash", func(t *testing.T) {
@@ -120,7 +121,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(data)
assert.NotNil(t, p)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "gitea", p.Name)
})
})
@@ -147,7 +148,7 @@ func TestParseControlFile(t *testing.T) {
for _, name := range []string{"", "-cd"} {
p, err := ParseControlFile(buildContent(name, packageVersion, packageArchitecture))
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidName)
+ require.ErrorIs(t, err, ErrInvalidName)
}
})
@@ -155,14 +156,14 @@ func TestParseControlFile(t *testing.T) {
for _, version := range []string{"", "1-", ":1.0", "1_0"} {
p, err := ParseControlFile(buildContent(packageName, version, packageArchitecture))
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidVersion)
+ require.ErrorIs(t, err, ErrInvalidVersion)
}
})
t.Run("InvalidArchitecture", func(t *testing.T) {
p, err := ParseControlFile(buildContent(packageName, packageVersion, ""))
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidArchitecture)
+ require.ErrorIs(t, err, ErrInvalidArchitecture)
})
t.Run("Valid", func(t *testing.T) {
@@ -170,7 +171,7 @@ func TestParseControlFile(t *testing.T) {
full := content.String()
p, err := ParseControlFile(content)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.NotNil(t, p)
assert.Equal(t, packageName, p.Name)
diff --git a/modules/packages/goproxy/metadata_test.go b/modules/packages/goproxy/metadata_test.go
index 4e7f394f8b..3a47f10269 100644
--- a/modules/packages/goproxy/metadata_test.go
+++ b/modules/packages/goproxy/metadata_test.go
@@ -9,6 +9,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
const (
@@ -33,7 +34,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(data, int64(data.Len()))
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidStructure)
+ require.ErrorIs(t, err, ErrInvalidStructure)
})
t.Run("InvalidNameOrVersionStructure", func(t *testing.T) {
@@ -43,7 +44,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(data, int64(data.Len()))
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidStructure)
+ require.ErrorIs(t, err, ErrInvalidStructure)
})
t.Run("GoModFileInWrongDirectory", func(t *testing.T) {
@@ -53,7 +54,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(data, int64(data.Len()))
assert.NotNil(t, p)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, packageName, p.Name)
assert.Equal(t, packageVersion, p.Version)
assert.Equal(t, "module gitea.com/go-gitea/gitea", p.GoMod)
@@ -67,7 +68,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(data, int64(data.Len()))
assert.NotNil(t, p)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, packageName, p.Name)
assert.Equal(t, packageVersion, p.Version)
assert.Equal(t, "valid", p.GoMod)
diff --git a/modules/packages/hashed_buffer_test.go b/modules/packages/hashed_buffer_test.go
index 564e782f18..ed5267cd6f 100644
--- a/modules/packages/hashed_buffer_test.go
+++ b/modules/packages/hashed_buffer_test.go
@@ -10,6 +10,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestHashedBuffer(t *testing.T) {
@@ -27,12 +28,12 @@ func TestHashedBuffer(t *testing.T) {
for _, c := range cases {
buf, err := CreateHashedBufferFromReaderWithSize(strings.NewReader(c.Data), c.MaxMemorySize)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.EqualValues(t, len(c.Data), buf.Size())
data, err := io.ReadAll(buf)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, c.Data, string(data))
hashMD5, hashSHA1, hashSHA256, hashSHA512 := buf.Sums()
@@ -41,6 +42,6 @@ func TestHashedBuffer(t *testing.T) {
assert.Equal(t, c.HashSHA256, hex.EncodeToString(hashSHA256))
assert.Equal(t, c.HashSHA512, hex.EncodeToString(hashSHA512))
- assert.NoError(t, buf.Close())
+ require.NoError(t, buf.Close())
}
}
diff --git a/modules/packages/maven/metadata_test.go b/modules/packages/maven/metadata_test.go
index e675467730..d0093013f9 100644
--- a/modules/packages/maven/metadata_test.go
+++ b/modules/packages/maven/metadata_test.go
@@ -8,6 +8,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
"golang.org/x/text/encoding/charmap"
)
@@ -50,12 +51,12 @@ func TestParsePackageMetaData(t *testing.T) {
t.Run("InvalidFile", func(t *testing.T) {
m, err := ParsePackageMetaData(strings.NewReader(""))
assert.Nil(t, m)
- assert.Error(t, err)
+ require.Error(t, err)
})
t.Run("Valid", func(t *testing.T) {
m, err := ParsePackageMetaData(strings.NewReader(pomContent))
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.NotNil(t, m)
assert.Equal(t, groupID, m.GroupID)
@@ -80,10 +81,10 @@ func TestParsePackageMetaData(t *testing.T) {
``,
),
)
- assert.NoError(t, err)
+ require.NoError(t, err)
m, err := ParsePackageMetaData(strings.NewReader(pomContent8859_1))
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.NotNil(t, m)
})
}
diff --git a/modules/packages/multi_hasher_test.go b/modules/packages/multi_hasher_test.go
index a37debbc95..ca333cb0a4 100644
--- a/modules/packages/multi_hasher_test.go
+++ b/modules/packages/multi_hasher_test.go
@@ -8,6 +8,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
const (
@@ -35,11 +36,11 @@ func TestMultiHasherSums(t *testing.T) {
h.Write([]byte("git"))
state, err := h.MarshalBinary()
- assert.NoError(t, err)
+ require.NoError(t, err)
h2 := NewMultiHasher()
err = h2.UnmarshalBinary(state)
- assert.NoError(t, err)
+ require.NoError(t, err)
h2.Write([]byte("ea"))
diff --git a/modules/packages/npm/creator_test.go b/modules/packages/npm/creator_test.go
index 806377a52b..b2cf1aae0e 100644
--- a/modules/packages/npm/creator_test.go
+++ b/modules/packages/npm/creator_test.go
@@ -13,6 +13,7 @@ import (
"code.gitea.io/gitea/modules/json"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestParsePackage(t *testing.T) {
@@ -34,14 +35,14 @@ func TestParsePackage(t *testing.T) {
t.Run("InvalidUpload", func(t *testing.T) {
p, err := ParsePackage(bytes.NewReader([]byte{0}))
assert.Nil(t, p)
- assert.Error(t, err)
+ require.Error(t, err)
})
t.Run("InvalidUploadNoData", func(t *testing.T) {
b, _ := json.Marshal(packageUpload{})
p, err := ParsePackage(bytes.NewReader(b))
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidPackage)
+ require.ErrorIs(t, err, ErrInvalidPackage)
})
t.Run("InvalidPackageName", func(t *testing.T) {
@@ -60,7 +61,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(bytes.NewReader(b))
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidPackageName)
+ require.ErrorIs(t, err, ErrInvalidPackageName)
}
test(t, " test ")
@@ -99,7 +100,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(bytes.NewReader(b))
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidPackageVersion)
+ require.ErrorIs(t, err, ErrInvalidPackageVersion)
}
test(t, "test")
@@ -131,7 +132,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(bytes.NewReader(b))
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidPackageVersion)
+ require.ErrorIs(t, err, ErrInvalidPackageVersion)
})
t.Run("InvalidAttachment", func(t *testing.T) {
@@ -153,7 +154,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(bytes.NewReader(b))
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidAttachment)
+ require.ErrorIs(t, err, ErrInvalidAttachment)
})
t.Run("InvalidData", func(t *testing.T) {
@@ -178,7 +179,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(bytes.NewReader(b))
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidAttachment)
+ require.ErrorIs(t, err, ErrInvalidAttachment)
})
t.Run("InvalidIntegrity", func(t *testing.T) {
@@ -206,7 +207,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(bytes.NewReader(b))
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidIntegrity)
+ require.ErrorIs(t, err, ErrInvalidIntegrity)
})
t.Run("InvalidIntegrity2", func(t *testing.T) {
@@ -234,7 +235,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(bytes.NewReader(b))
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrInvalidIntegrity)
+ require.ErrorIs(t, err, ErrInvalidIntegrity)
})
t.Run("Valid", func(t *testing.T) {
@@ -277,7 +278,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(bytes.NewReader(b))
assert.NotNil(t, p)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, packageFullName, p.Name)
assert.Equal(t, packageVersion, p.Version)
diff --git a/modules/packages/nuget/metadata_test.go b/modules/packages/nuget/metadata_test.go
index f466492f8a..ecce052be4 100644
--- a/modules/packages/nuget/metadata_test.go
+++ b/modules/packages/nuget/metadata_test.go
@@ -9,6 +9,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
const (
@@ -77,7 +78,7 @@ func TestParsePackageMetaData(t *testing.T) {
np, err := ParsePackageMetaData(bytes.NewReader(data), int64(len(data)))
assert.Nil(t, np)
- assert.ErrorIs(t, err, ErrMissingNuspecFile)
+ require.ErrorIs(t, err, ErrMissingNuspecFile)
})
t.Run("MissingNuspecFileInRoot", func(t *testing.T) {
@@ -85,7 +86,7 @@ func TestParsePackageMetaData(t *testing.T) {
np, err := ParsePackageMetaData(bytes.NewReader(data), int64(len(data)))
assert.Nil(t, np)
- assert.ErrorIs(t, err, ErrMissingNuspecFile)
+ require.ErrorIs(t, err, ErrMissingNuspecFile)
})
t.Run("InvalidNuspecFile", func(t *testing.T) {
@@ -93,7 +94,7 @@ func TestParsePackageMetaData(t *testing.T) {
np, err := ParsePackageMetaData(bytes.NewReader(data), int64(len(data)))
assert.Nil(t, np)
- assert.Error(t, err)
+ require.Error(t, err)
})
t.Run("InvalidPackageId", func(t *testing.T) {
@@ -104,7 +105,7 @@ func TestParsePackageMetaData(t *testing.T) {
np, err := ParsePackageMetaData(bytes.NewReader(data), int64(len(data)))
assert.Nil(t, np)
- assert.ErrorIs(t, err, ErrNuspecInvalidID)
+ require.ErrorIs(t, err, ErrNuspecInvalidID)
})
t.Run("InvalidPackageVersion", func(t *testing.T) {
@@ -117,14 +118,14 @@ func TestParsePackageMetaData(t *testing.T) {
np, err := ParsePackageMetaData(bytes.NewReader(data), int64(len(data)))
assert.Nil(t, np)
- assert.ErrorIs(t, err, ErrNuspecInvalidVersion)
+ require.ErrorIs(t, err, ErrNuspecInvalidVersion)
})
t.Run("MissingReadme", func(t *testing.T) {
data := createArchive(map[string]string{"package.nuspec": nuspecContent})
np, err := ParsePackageMetaData(bytes.NewReader(data), int64(len(data)))
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.NotNil(t, np)
assert.Empty(t, np.Metadata.Readme)
})
@@ -136,7 +137,7 @@ func TestParsePackageMetaData(t *testing.T) {
})
np, err := ParsePackageMetaData(bytes.NewReader(data), int64(len(data)))
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.NotNil(t, np)
assert.Equal(t, DependencyPackage, np.PackageType)
@@ -165,7 +166,7 @@ func TestParsePackageMetaData(t *testing.T) {
`})
np, err := ParsePackageMetaData(bytes.NewReader(data), int64(len(data)))
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.NotNil(t, np)
assert.Equal(t, "1.4.5.2-rc.1", np.Version)
})
@@ -175,7 +176,7 @@ func TestParsePackageMetaData(t *testing.T) {
data := createArchive(map[string]string{"package.nuspec": symbolsNuspecContent})
np, err := ParsePackageMetaData(bytes.NewReader(data), int64(len(data)))
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.NotNil(t, np)
assert.Equal(t, SymbolsPackage, np.PackageType)
diff --git a/modules/packages/nuget/symbol_extractor_test.go b/modules/packages/nuget/symbol_extractor_test.go
index fa1b80ee82..b767ed0387 100644
--- a/modules/packages/nuget/symbol_extractor_test.go
+++ b/modules/packages/nuget/symbol_extractor_test.go
@@ -10,6 +10,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
const pdbContent = `QlNKQgEAAQAAAAAADAAAAFBEQiB2MS4wAAAAAAAABgB8AAAAWAAAACNQZGIAAAAA1AAAAAgBAAAj
@@ -31,7 +32,7 @@ func TestExtractPortablePdb(t *testing.T) {
zip.NewWriter(&buf).Close()
pdbs, err := ExtractPortablePdb(bytes.NewReader(buf.Bytes()), int64(buf.Len()))
- assert.ErrorIs(t, err, ErrMissingPdbFiles)
+ require.ErrorIs(t, err, ErrMissingPdbFiles)
assert.Empty(t, pdbs)
})
@@ -39,7 +40,7 @@ func TestExtractPortablePdb(t *testing.T) {
data := createArchive("sub/test.bin", []byte{})
pdbs, err := ExtractPortablePdb(bytes.NewReader(data), int64(len(data)))
- assert.ErrorIs(t, err, ErrInvalidFiles)
+ require.ErrorIs(t, err, ErrInvalidFiles)
assert.Empty(t, pdbs)
})
@@ -48,7 +49,7 @@ func TestExtractPortablePdb(t *testing.T) {
data := createArchive("test.pdb", b)
pdbs, err := ExtractPortablePdb(bytes.NewReader(data), int64(len(data)))
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Len(t, pdbs, 1)
assert.Equal(t, "test.pdb", pdbs[0].Name)
assert.Equal(t, "d910bb6948bd4c6cb40155bcf52c3c94", pdbs[0].ID)
@@ -59,7 +60,7 @@ func TestExtractPortablePdb(t *testing.T) {
func TestParseDebugHeaderID(t *testing.T) {
t.Run("InvalidPdbMagicNumber", func(t *testing.T) {
id, err := ParseDebugHeaderID(bytes.NewReader([]byte{0, 0, 0, 0}))
- assert.ErrorIs(t, err, ErrInvalidPdbMagicNumber)
+ require.ErrorIs(t, err, ErrInvalidPdbMagicNumber)
assert.Empty(t, id)
})
@@ -67,7 +68,7 @@ func TestParseDebugHeaderID(t *testing.T) {
b, _ := base64.StdEncoding.DecodeString(`QlNKQgEAAQAAAAAADAAAAFBEQiB2MS4wAAAAAAAAAQB8AAAAWAAAACNVUwA=`)
id, err := ParseDebugHeaderID(bytes.NewReader(b))
- assert.ErrorIs(t, err, ErrMissingPdbStream)
+ require.ErrorIs(t, err, ErrMissingPdbStream)
assert.Empty(t, id)
})
@@ -75,7 +76,7 @@ func TestParseDebugHeaderID(t *testing.T) {
b, _ := base64.StdEncoding.DecodeString(pdbContent)
id, err := ParseDebugHeaderID(bytes.NewReader(b))
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "d910bb6948bd4c6cb40155bcf52c3c94", id)
})
}
diff --git a/modules/packages/pub/metadata_test.go b/modules/packages/pub/metadata_test.go
index 8f9126e0c9..5ed083b952 100644
--- a/modules/packages/pub/metadata_test.go
+++ b/modules/packages/pub/metadata_test.go
@@ -12,6 +12,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
const (
@@ -65,7 +66,7 @@ func TestParsePackage(t *testing.T) {
pp, err := ParsePackage(data)
assert.Nil(t, pp)
- assert.ErrorIs(t, err, ErrMissingPubspecFile)
+ require.ErrorIs(t, err, ErrMissingPubspecFile)
})
t.Run("PubspecFileTooLarge", func(t *testing.T) {
@@ -73,7 +74,7 @@ func TestParsePackage(t *testing.T) {
pp, err := ParsePackage(data)
assert.Nil(t, pp)
- assert.ErrorIs(t, err, ErrPubspecFileTooLarge)
+ require.ErrorIs(t, err, ErrPubspecFileTooLarge)
})
t.Run("InvalidPubspecFile", func(t *testing.T) {
@@ -81,14 +82,14 @@ func TestParsePackage(t *testing.T) {
pp, err := ParsePackage(data)
assert.Nil(t, pp)
- assert.Error(t, err)
+ require.Error(t, err)
})
t.Run("Valid", func(t *testing.T) {
data := createArchive(map[string][]byte{"pubspec.yaml": []byte(pubspecContent)})
pp, err := ParsePackage(data)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.NotNil(t, pp)
assert.Empty(t, pp.Metadata.Readme)
})
@@ -97,7 +98,7 @@ func TestParsePackage(t *testing.T) {
data := createArchive(map[string][]byte{"pubspec.yaml": []byte(pubspecContent), "README.md": []byte("readme")})
pp, err := ParsePackage(data)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.NotNil(t, pp)
assert.Equal(t, "readme", pp.Metadata.Readme)
})
@@ -108,7 +109,7 @@ func TestParsePubspecMetadata(t *testing.T) {
for _, name := range []string{"123abc", "ab-cd"} {
pp, err := ParsePubspecMetadata(strings.NewReader(`name: ` + name))
assert.Nil(t, pp)
- assert.ErrorIs(t, err, ErrInvalidName)
+ require.ErrorIs(t, err, ErrInvalidName)
}
})
@@ -116,12 +117,12 @@ func TestParsePubspecMetadata(t *testing.T) {
pp, err := ParsePubspecMetadata(strings.NewReader(`name: dummy
version: invalid`))
assert.Nil(t, pp)
- assert.ErrorIs(t, err, ErrInvalidVersion)
+ require.ErrorIs(t, err, ErrInvalidVersion)
})
t.Run("Valid", func(t *testing.T) {
pp, err := ParsePubspecMetadata(strings.NewReader(pubspecContent))
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.NotNil(t, pp)
assert.Equal(t, packageName, pp.Name)
diff --git a/modules/packages/rpm/metadata_test.go b/modules/packages/rpm/metadata_test.go
index bb538ef9d0..dc9b480723 100644
--- a/modules/packages/rpm/metadata_test.go
+++ b/modules/packages/rpm/metadata_test.go
@@ -10,6 +10,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestParsePackage(t *testing.T) {
@@ -42,14 +43,14 @@ Mu0UFYgZ/bYnuvn/vz4wtCz8qMwsHUvP0PX3tbYFUctAPdrY6tiiDtcCddDECahx7SuVNP5dpmb5
7tpp/pEjDS7cGPZ6BY430+7danDq6f42Nw49b9F7zp6BiKpJb9s5P0AYN2+L159cnrur636rx+v1
7ae1K28QbMMcqI8CqwIrgwg9nTOp8Oj9q81plUY7ZuwXN8Vvs8wbAAA=`
rpmPackageContent, err := base64.StdEncoding.DecodeString(base64RpmPackageContent)
- assert.NoError(t, err)
+ require.NoError(t, err)
zr, err := gzip.NewReader(bytes.NewReader(rpmPackageContent))
- assert.NoError(t, err)
+ require.NoError(t, err)
p, err := ParsePackage(zr)
assert.NotNil(t, p)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "gitea-test", p.Name)
assert.Equal(t, "1.0.2-1", p.Version)
diff --git a/modules/packages/rubygems/marshal_test.go b/modules/packages/rubygems/marshal_test.go
index 6d2354cd87..8aa9160e20 100644
--- a/modules/packages/rubygems/marshal_test.go
+++ b/modules/packages/rubygems/marshal_test.go
@@ -8,6 +8,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestMinimalEncoder(t *testing.T) {
@@ -92,7 +93,7 @@ func TestMinimalEncoder(t *testing.T) {
for i, c := range cases {
var b bytes.Buffer
err := NewMarshalEncoder(&b).Encode(c.Value)
- assert.ErrorIs(t, err, c.Error)
+ require.ErrorIs(t, err, c.Error)
assert.Equal(t, c.Expected, b.Bytes(), "case %d", i)
}
}
diff --git a/modules/packages/rubygems/metadata_test.go b/modules/packages/rubygems/metadata_test.go
index ec2fa08b6b..cd3a5bbd10 100644
--- a/modules/packages/rubygems/metadata_test.go
+++ b/modules/packages/rubygems/metadata_test.go
@@ -11,6 +11,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestParsePackageMetaData(t *testing.T) {
@@ -32,7 +33,7 @@ func TestParsePackageMetaData(t *testing.T) {
data := createArchive("dummy.txt", []byte{0})
rp, err := ParsePackageMetaData(data)
- assert.ErrorIs(t, err, ErrMissingMetadataFile)
+ require.ErrorIs(t, err, ErrMissingMetadataFile)
assert.Nil(t, rp)
})
@@ -41,7 +42,7 @@ func TestParsePackageMetaData(t *testing.T) {
data := createArchive("metadata.gz", content)
rp, err := ParsePackageMetaData(data)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.NotNil(t, rp)
})
}
@@ -58,7 +59,7 @@ dVoR6hj07u0HZgAl3SRS8G/fmXcRK20jyq6rDMSYQFgidamqkXbbuspLXE/0k7GphtKqe67GuRC/
yjAbmt9LsOMp8xMamFkSQ38fP5EFjdz8LA4do2C69VvqWXAJgrPbKZb58/xZXrKoW6ttW13Bhvzi
4ftn7/yUxd4YGcglvTmmY8aGY3ZwRn4CqcWcidUGAAA=`)
rp, err := parseMetadataFile(bytes.NewReader(content))
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.NotNil(t, rp)
assert.Equal(t, "gitea", rp.Name)
diff --git a/modules/packages/swift/metadata_test.go b/modules/packages/swift/metadata_test.go
index 3913c2355b..b223d8c15f 100644
--- a/modules/packages/swift/metadata_test.go
+++ b/modules/packages/swift/metadata_test.go
@@ -11,6 +11,7 @@ import (
"github.com/hashicorp/go-version"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
const (
@@ -39,7 +40,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(data, data.Size(), nil)
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrMissingManifestFile)
+ require.ErrorIs(t, err, ErrMissingManifestFile)
})
t.Run("ManifestFileTooLarge", func(t *testing.T) {
@@ -49,7 +50,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(data, data.Size(), nil)
assert.Nil(t, p)
- assert.ErrorIs(t, err, ErrManifestFileTooLarge)
+ require.ErrorIs(t, err, ErrManifestFileTooLarge)
})
t.Run("WithoutMetadata", func(t *testing.T) {
@@ -63,7 +64,7 @@ func TestParsePackage(t *testing.T) {
p, err := ParsePackage(data, data.Size(), nil)
assert.NotNil(t, p)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.NotNil(t, p.Metadata)
assert.Empty(t, p.RepositoryURLs)
@@ -87,7 +88,7 @@ func TestParsePackage(t *testing.T) {
strings.NewReader(`{"name":"`+packageName+`","version":"`+packageVersion+`","description":"`+packageDescription+`","keywords":["swift","package"],"license":"`+packageLicense+`","codeRepository":"`+packageRepositoryURL+`","author":{"givenName":"`+packageAuthor+`"},"repositoryURLs":["`+packageRepositoryURL+`"]}`),
)
assert.NotNil(t, p)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.NotNil(t, p.Metadata)
assert.Len(t, p.Metadata.Manifests, 1)
diff --git a/modules/packages/vagrant/metadata_test.go b/modules/packages/vagrant/metadata_test.go
index d616ffe3d3..f467781a08 100644
--- a/modules/packages/vagrant/metadata_test.go
+++ b/modules/packages/vagrant/metadata_test.go
@@ -13,6 +13,7 @@ import (
"code.gitea.io/gitea/modules/json"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
const (
@@ -46,7 +47,7 @@ func TestParseMetadataFromBox(t *testing.T) {
metadata, err := ParseMetadataFromBox(data)
assert.NotNil(t, metadata)
- assert.NoError(t, err)
+ require.NoError(t, err)
})
t.Run("Valid", func(t *testing.T) {
@@ -56,13 +57,13 @@ func TestParseMetadataFromBox(t *testing.T) {
"website": projectURL,
"repository": repositoryURL,
})
- assert.NoError(t, err)
+ require.NoError(t, err)
data := createArchive(map[string][]byte{"info.json": content})
metadata, err := ParseMetadataFromBox(data)
assert.NotNil(t, metadata)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, author, metadata.Author)
assert.Equal(t, description, metadata.Description)
@@ -77,11 +78,11 @@ func TestParseInfoFile(t *testing.T) {
"package": "",
"dummy": "",
})
- assert.NoError(t, err)
+ require.NoError(t, err)
metadata, err := ParseInfoFile(bytes.NewReader(content))
assert.NotNil(t, metadata)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Empty(t, metadata.Author)
assert.Empty(t, metadata.Description)
@@ -96,11 +97,11 @@ func TestParseInfoFile(t *testing.T) {
"website": projectURL,
"repository": repositoryURL,
})
- assert.NoError(t, err)
+ require.NoError(t, err)
metadata, err := ParseInfoFile(bytes.NewReader(content))
assert.NotNil(t, metadata)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, author, metadata.Author)
assert.Equal(t, description, metadata.Description)
diff --git a/modules/private/hook.go b/modules/private/hook.go
index 1d0ef4e3a9..93cbcd469d 100644
--- a/modules/private/hook.go
+++ b/modules/private/hook.go
@@ -7,10 +7,10 @@ import (
"context"
"fmt"
"net/url"
- "strconv"
"time"
"code.gitea.io/gitea/modules/git"
+ "code.gitea.io/gitea/modules/git/pushoptions"
"code.gitea.io/gitea/modules/repository"
"code.gitea.io/gitea/modules/setting"
)
@@ -20,28 +20,8 @@ const (
GitAlternativeObjectDirectories = "GIT_ALTERNATE_OBJECT_DIRECTORIES"
GitObjectDirectory = "GIT_OBJECT_DIRECTORY"
GitQuarantinePath = "GIT_QUARANTINE_PATH"
- GitPushOptionCount = "GIT_PUSH_OPTION_COUNT"
)
-// GitPushOptions is a wrapper around a map[string]string
-type GitPushOptions map[string]string
-
-// GitPushOptions keys
-const (
- GitPushOptionRepoPrivate = "repo.private"
- GitPushOptionRepoTemplate = "repo.template"
-)
-
-// Bool checks for a key in the map and parses as a boolean
-func (g GitPushOptions) Bool(key string, def bool) bool {
- if val, ok := g[key]; ok {
- if b, err := strconv.ParseBool(val); err == nil {
- return b
- }
- }
- return def
-}
-
// HookOptions represents the options for the Hook calls
type HookOptions struct {
OldCommitIDs []string
@@ -52,7 +32,7 @@ type HookOptions struct {
GitObjectDirectory string
GitAlternativeObjectDirectories string
GitQuarantinePath string
- GitPushOptions GitPushOptions
+ GitPushOptions map[string]string
PullRequestID int64
PushTrigger repository.PushTrigger
DeployKeyID int64 // if the pusher is a DeployKey, then UserID is the repo's org user.
@@ -60,6 +40,10 @@ type HookOptions struct {
ActionPerm int
}
+func (o *HookOptions) GetGitPushOptions() pushoptions.Interface {
+ return pushoptions.NewFromMap(&o.GitPushOptions)
+}
+
// SSHLogOption ssh log options
type SSHLogOption struct {
IsError bool
diff --git a/modules/private/serv.go b/modules/private/serv.go
index 480a446954..6c7c753cf0 100644
--- a/modules/private/serv.go
+++ b/modules/private/serv.go
@@ -40,6 +40,7 @@ type ServCommandResults struct {
UserName string
UserEmail string
UserID int64
+ UserMode perm.AccessMode
OwnerName string
RepoName string
RepoID int64
diff --git a/modules/queue/base_levelqueue_test.go b/modules/queue/base_levelqueue_test.go
index b881802ca2..b65b570c4b 100644
--- a/modules/queue/base_levelqueue_test.go
+++ b/modules/queue/base_levelqueue_test.go
@@ -11,15 +11,16 @@ import (
"gitea.com/lunny/levelqueue"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
"github.com/syndtr/goleveldb/leveldb"
)
func TestBaseLevelDB(t *testing.T) {
_, err := newBaseLevelQueueGeneric(&BaseConfig{ConnStr: "redis://"}, false)
- assert.ErrorContains(t, err, "invalid leveldb connection string")
+ require.ErrorContains(t, err, "invalid leveldb connection string")
_, err = newBaseLevelQueueGeneric(&BaseConfig{DataFullDir: "relative"}, false)
- assert.ErrorContains(t, err, "invalid leveldb data dir")
+ require.ErrorContains(t, err, "invalid leveldb data dir")
testQueueBasic(t, newBaseLevelQueueSimple, toBaseConfig("baseLevelQueue", setting.QueueSettings{Datadir: t.TempDir() + "/queue-test", Length: 10}), false)
testQueueBasic(t, newBaseLevelQueueUnique, toBaseConfig("baseLevelQueueUnique", setting.QueueSettings{ConnStr: "leveldb://" + t.TempDir() + "/queue-test", Length: 10}), true)
@@ -29,22 +30,21 @@ func TestCorruptedLevelQueue(t *testing.T) {
// sometimes the levelqueue could be in a corrupted state, this test is to make sure it can recover from it
dbDir := t.TempDir() + "/levelqueue-test"
db, err := leveldb.OpenFile(dbDir, nil)
- if !assert.NoError(t, err) {
- return
- }
+ require.NoError(t, err)
+
defer db.Close()
- assert.NoError(t, db.Put([]byte("other-key"), []byte("other-value"), nil))
+ require.NoError(t, db.Put([]byte("other-key"), []byte("other-value"), nil))
nameQueuePrefix := []byte("queue_name")
nameSetPrefix := []byte("set_name")
lq, err := levelqueue.NewUniqueQueue(db, nameQueuePrefix, nameSetPrefix, false)
- assert.NoError(t, err)
- assert.NoError(t, lq.RPush([]byte("item-1")))
+ require.NoError(t, err)
+ require.NoError(t, lq.RPush([]byte("item-1")))
itemKey := lqinternal.QueueItemKeyBytes(nameQueuePrefix, 1)
itemValue, err := db.Get(itemKey, nil)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, []byte("item-1"), itemValue)
// there should be 5 keys in db: queue low, queue high, 1 queue item, 1 set item, and "other-key"
@@ -52,11 +52,11 @@ func TestCorruptedLevelQueue(t *testing.T) {
assert.Len(t, keys, 5)
// delete the queue item key, to corrupt the queue
- assert.NoError(t, db.Delete(itemKey, nil))
+ require.NoError(t, db.Delete(itemKey, nil))
// now the queue is corrupted, it never works again
_, err = lq.LPop()
- assert.ErrorIs(t, err, levelqueue.ErrNotFound)
- assert.NoError(t, lq.Close())
+ require.ErrorIs(t, err, levelqueue.ErrNotFound)
+ require.NoError(t, lq.Close())
// remove all the queue related keys to reset the queue
lqinternal.RemoveLevelQueueKeys(db, nameQueuePrefix)
@@ -68,11 +68,11 @@ func TestCorruptedLevelQueue(t *testing.T) {
// re-create a queue from db
lq, err = levelqueue.NewUniqueQueue(db, nameQueuePrefix, nameSetPrefix, false)
- assert.NoError(t, err)
- assert.NoError(t, lq.RPush([]byte("item-new-1")))
+ require.NoError(t, err)
+ require.NoError(t, lq.RPush([]byte("item-new-1")))
// now the queue works again
itemValue, err = lq.LPop()
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, []byte("item-new-1"), itemValue)
- assert.NoError(t, lq.Close())
+ require.NoError(t, lq.Close())
}
diff --git a/modules/queue/base_test.go b/modules/queue/base_test.go
index c5bf526ae6..a5600fea63 100644
--- a/modules/queue/base_test.go
+++ b/modules/queue/base_test.go
@@ -10,89 +10,90 @@ import (
"time"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func testQueueBasic(t *testing.T, newFn func(cfg *BaseConfig) (baseQueue, error), cfg *BaseConfig, isUnique bool) {
t.Run(fmt.Sprintf("testQueueBasic-%s-unique:%v", cfg.ManagedName, isUnique), func(t *testing.T) {
q, err := newFn(cfg)
- assert.NoError(t, err)
+ require.NoError(t, err)
ctx := context.Background()
_ = q.RemoveAll(ctx)
cnt, err := q.Len(ctx)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.EqualValues(t, 0, cnt)
// push the first item
err = q.PushItem(ctx, []byte("foo"))
- assert.NoError(t, err)
+ require.NoError(t, err)
cnt, err = q.Len(ctx)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.EqualValues(t, 1, cnt)
// push a duplicate item
err = q.PushItem(ctx, []byte("foo"))
if !isUnique {
- assert.NoError(t, err)
+ require.NoError(t, err)
} else {
- assert.ErrorIs(t, err, ErrAlreadyInQueue)
+ require.ErrorIs(t, err, ErrAlreadyInQueue)
}
// check the duplicate item
cnt, err = q.Len(ctx)
- assert.NoError(t, err)
+ require.NoError(t, err)
has, err := q.HasItem(ctx, []byte("foo"))
- assert.NoError(t, err)
+ require.NoError(t, err)
if !isUnique {
assert.EqualValues(t, 2, cnt)
- assert.EqualValues(t, false, has) // non-unique queues don't check for duplicates
+ assert.False(t, has) // non-unique queues don't check for duplicates
} else {
assert.EqualValues(t, 1, cnt)
- assert.EqualValues(t, true, has)
+ assert.True(t, has)
}
// push another item
err = q.PushItem(ctx, []byte("bar"))
- assert.NoError(t, err)
+ require.NoError(t, err)
// pop the first item (and the duplicate if non-unique)
it, err := q.PopItem(ctx)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.EqualValues(t, "foo", string(it))
if !isUnique {
it, err = q.PopItem(ctx)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.EqualValues(t, "foo", string(it))
}
// pop another item
it, err = q.PopItem(ctx)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.EqualValues(t, "bar", string(it))
// pop an empty queue (timeout, cancel)
ctxTimed, cancel := context.WithTimeout(ctx, 10*time.Millisecond)
it, err = q.PopItem(ctxTimed)
- assert.ErrorIs(t, err, context.DeadlineExceeded)
+ require.ErrorIs(t, err, context.DeadlineExceeded)
assert.Nil(t, it)
cancel()
ctxTimed, cancel = context.WithTimeout(ctx, 10*time.Millisecond)
cancel()
it, err = q.PopItem(ctxTimed)
- assert.ErrorIs(t, err, context.Canceled)
+ require.ErrorIs(t, err, context.Canceled)
assert.Nil(t, it)
// test blocking push if queue is full
for i := 0; i < cfg.Length; i++ {
err = q.PushItem(ctx, []byte(fmt.Sprintf("item-%d", i)))
- assert.NoError(t, err)
+ require.NoError(t, err)
}
ctxTimed, cancel = context.WithTimeout(ctx, 10*time.Millisecond)
err = q.PushItem(ctxTimed, []byte("item-full"))
- assert.ErrorIs(t, err, context.DeadlineExceeded)
+ require.ErrorIs(t, err, context.DeadlineExceeded)
cancel()
// test blocking push if queue is full (with custom pushBlockTime)
@@ -100,41 +101,41 @@ func testQueueBasic(t *testing.T, newFn func(cfg *BaseConfig) (baseQueue, error)
timeStart := time.Now()
pushBlockTime = 30 * time.Millisecond
err = q.PushItem(ctx, []byte("item-full"))
- assert.ErrorIs(t, err, context.DeadlineExceeded)
- assert.True(t, time.Since(timeStart) >= pushBlockTime*2/3)
+ require.ErrorIs(t, err, context.DeadlineExceeded)
+ assert.GreaterOrEqual(t, time.Since(timeStart), pushBlockTime*2/3)
pushBlockTime = oldPushBlockTime
// remove all
cnt, err = q.Len(ctx)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.EqualValues(t, cfg.Length, cnt)
_ = q.RemoveAll(ctx)
cnt, err = q.Len(ctx)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.EqualValues(t, 0, cnt)
})
}
func TestBaseDummy(t *testing.T) {
q, err := newBaseDummy(&BaseConfig{}, true)
- assert.NoError(t, err)
+ require.NoError(t, err)
ctx := context.Background()
- assert.NoError(t, q.PushItem(ctx, []byte("foo")))
+ require.NoError(t, q.PushItem(ctx, []byte("foo")))
cnt, err := q.Len(ctx)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.EqualValues(t, 0, cnt)
has, err := q.HasItem(ctx, []byte("foo"))
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.False(t, has)
it, err := q.PopItem(ctx)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Nil(t, it)
- assert.NoError(t, q.RemoveAll(ctx))
+ require.NoError(t, q.RemoveAll(ctx))
}
diff --git a/modules/queue/manager_test.go b/modules/queue/manager_test.go
index 15dd1b4f2f..a76c238752 100644
--- a/modules/queue/manager_test.go
+++ b/modules/queue/manager_test.go
@@ -11,6 +11,7 @@ import (
"code.gitea.io/gitea/modules/setting"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestManager(t *testing.T) {
@@ -38,11 +39,11 @@ func TestManager(t *testing.T) {
DATADIR = temp-dir
CONN_STR = redis://
`)
- assert.ErrorContains(t, err, "invalid leveldb connection string")
+ require.ErrorContains(t, err, "invalid leveldb connection string")
// test default config
q, err := newQueueFromConfig("default", "")
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "default", q.GetName())
assert.Equal(t, "level", q.GetType())
assert.Equal(t, filepath.Join(setting.AppDataPath, "queues/common"), q.baseConfig.DataFullDir)
@@ -78,7 +79,7 @@ SET_NAME = _u2
MAX_WORKERS = 123
`)
- assert.NoError(t, err)
+ require.NoError(t, err)
q1 := createWorkerPoolQueue[string](context.Background(), "no-such", cfgProvider, nil, false)
assert.Equal(t, "no-such", q1.GetName())
@@ -118,7 +119,7 @@ MAX_WORKERS = 123
assert.Equal(t, 120, q1.workerMaxNum)
stop := runWorkerPoolQueue(q2)
- assert.NoError(t, GetManager().GetManagedQueue(qid2).FlushWithContext(context.Background(), 0))
- assert.NoError(t, GetManager().FlushAll(context.Background(), 0))
+ require.NoError(t, GetManager().GetManagedQueue(qid2).FlushWithContext(context.Background(), 0))
+ require.NoError(t, GetManager().FlushAll(context.Background(), 0))
stop()
}
diff --git a/modules/queue/workerqueue_test.go b/modules/queue/workerqueue_test.go
index 9898ceb873..112a16c8e3 100644
--- a/modules/queue/workerqueue_test.go
+++ b/modules/queue/workerqueue_test.go
@@ -57,9 +57,9 @@ func TestWorkerPoolQueueUnhandled(t *testing.T) {
stop := runWorkerPoolQueue(q)
for i := 0; i < queueSetting.Length; i++ {
testRecorder.Record("push:%v", i)
- assert.NoError(t, q.Push(i))
+ require.NoError(t, q.Push(i))
}
- assert.NoError(t, q.FlushWithContext(context.Background(), 0))
+ require.NoError(t, q.FlushWithContext(context.Background(), 0))
stop()
ok := true
@@ -167,7 +167,7 @@ func testWorkerPoolQueuePersistence(t *testing.T, queueSetting setting.QueueSett
q, _ := newWorkerPoolQueueForTest("pr_patch_checker_test", queueSetting, testHandler, true)
stop := runWorkerPoolQueue(q)
- assert.NoError(t, q.FlushWithContext(context.Background(), 0))
+ require.NoError(t, q.FlushWithContext(context.Background(), 0))
stop()
}
@@ -189,7 +189,7 @@ func TestWorkerPoolQueueActiveWorkers(t *testing.T) {
q, _ := newWorkerPoolQueueForTest("test-workpoolqueue", setting.QueueSettings{Type: "channel", BatchLength: 1, MaxWorkers: 1, Length: 100}, handler, false)
stop := runWorkerPoolQueue(q)
for i := 0; i < 5; i++ {
- assert.NoError(t, q.Push(i))
+ require.NoError(t, q.Push(i))
}
time.Sleep(50 * time.Millisecond)
@@ -205,7 +205,7 @@ func TestWorkerPoolQueueActiveWorkers(t *testing.T) {
q, _ = newWorkerPoolQueueForTest("test-workpoolqueue", setting.QueueSettings{Type: "channel", BatchLength: 1, MaxWorkers: 3, Length: 100}, handler, false)
stop = runWorkerPoolQueue(q)
for i := 0; i < 15; i++ {
- assert.NoError(t, q.Push(i))
+ require.NoError(t, q.Push(i))
}
time.Sleep(50 * time.Millisecond)
@@ -238,7 +238,7 @@ func TestWorkerPoolQueueShutdown(t *testing.T) {
q, _ := newWorkerPoolQueueForTest("test-workpoolqueue", qs, handler, false)
stop := runWorkerPoolQueue(q)
for i := 0; i < qs.Length; i++ {
- assert.NoError(t, q.Push(i))
+ require.NoError(t, q.Push(i))
}
<-handlerCalled
time.Sleep(200 * time.Millisecond) // wait for a while to make sure all workers are active
@@ -266,7 +266,7 @@ func TestWorkerPoolQueueWorkerIdleReset(t *testing.T) {
const workloadSize = 12
for i := 0; i < workloadSize; i++ {
- assert.NoError(t, q.Push(i))
+ require.NoError(t, q.Push(i))
}
workerIDs := make(map[string]struct{})
diff --git a/modules/references/references_test.go b/modules/references/references_test.go
index 498374b2a7..ffa7f993e3 100644
--- a/modules/references/references_test.go
+++ b/modules/references/references_test.go
@@ -529,7 +529,7 @@ func TestCustomizeCloseKeywords(t *testing.T) {
func TestParseCloseKeywords(t *testing.T) {
// Test parsing of CloseKeywords and ReopenKeywords
- assert.Len(t, parseKeywords([]string{""}), 0)
+ assert.Empty(t, parseKeywords([]string{""}))
assert.Len(t, parseKeywords([]string{" aa ", " bb ", "99", "#", "", "this is", "cc"}), 3)
for _, test := range []struct {
diff --git a/modules/regexplru/regexplru_test.go b/modules/regexplru/regexplru_test.go
index 9c24b23fa9..8c0c722336 100644
--- a/modules/regexplru/regexplru_test.go
+++ b/modules/regexplru/regexplru_test.go
@@ -7,20 +7,21 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestRegexpLru(t *testing.T) {
r, err := GetCompiled("a")
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.True(t, r.MatchString("a"))
r, err = GetCompiled("a")
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.True(t, r.MatchString("a"))
assert.EqualValues(t, 1, lruCache.Len())
_, err = GetCompiled("(")
- assert.Error(t, err)
+ require.Error(t, err)
assert.EqualValues(t, 2, lruCache.Len())
}
diff --git a/modules/repository/branch_test.go b/modules/repository/branch_test.go
index acf75a1ac0..b98618a16b 100644
--- a/modules/repository/branch_test.go
+++ b/modules/repository/branch_test.go
@@ -12,20 +12,21 @@ import (
"code.gitea.io/gitea/models/unittest"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestSyncRepoBranches(t *testing.T) {
- assert.NoError(t, unittest.PrepareTestDatabase())
+ require.NoError(t, unittest.PrepareTestDatabase())
_, err := db.GetEngine(db.DefaultContext).ID(1).Update(&repo_model.Repository{ObjectFormatName: "bad-fmt"})
- assert.NoError(t, db.TruncateBeans(db.DefaultContext, &git_model.Branch{}))
- assert.NoError(t, err)
+ require.NoError(t, db.TruncateBeans(db.DefaultContext, &git_model.Branch{}))
+ require.NoError(t, err)
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
assert.Equal(t, "bad-fmt", repo.ObjectFormatName)
_, err = SyncRepoBranches(db.DefaultContext, 1, 0)
- assert.NoError(t, err)
+ require.NoError(t, err)
repo = unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
assert.Equal(t, "sha1", repo.ObjectFormatName)
branch, err := git_model.GetBranch(db.DefaultContext, 1, "master")
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.EqualValues(t, "master", branch.Name)
}
diff --git a/modules/repository/collaborator_test.go b/modules/repository/collaborator_test.go
index e623dbdaa4..3844197bf1 100644
--- a/modules/repository/collaborator_test.go
+++ b/modules/repository/collaborator_test.go
@@ -16,16 +16,17 @@ import (
user_model "code.gitea.io/gitea/models/user"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestRepository_AddCollaborator(t *testing.T) {
- assert.NoError(t, unittest.PrepareTestDatabase())
+ require.NoError(t, unittest.PrepareTestDatabase())
testSuccess := func(repoID, userID int64) {
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: repoID})
- assert.NoError(t, repo.LoadOwner(db.DefaultContext))
+ require.NoError(t, repo.LoadOwner(db.DefaultContext))
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: userID})
- assert.NoError(t, AddCollaborator(db.DefaultContext, repo, user))
+ require.NoError(t, AddCollaborator(db.DefaultContext, repo, user))
unittest.CheckConsistencyFor(t, &repo_model.Repository{ID: repoID}, &user_model.User{ID: userID})
}
testSuccess(1, 4)
@@ -34,23 +35,23 @@ func TestRepository_AddCollaborator(t *testing.T) {
}
func TestRepository_AddCollaborator_IsBlocked(t *testing.T) {
- assert.NoError(t, unittest.PrepareTestDatabase())
+ require.NoError(t, unittest.PrepareTestDatabase())
testSuccess := func(repoID, userID int64) {
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: repoID})
- assert.NoError(t, repo.LoadOwner(db.DefaultContext))
+ require.NoError(t, repo.LoadOwner(db.DefaultContext))
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: userID})
// Owner blocked user.
unittest.AssertSuccessfulInsert(t, &user_model.BlockedUser{UserID: repo.OwnerID, BlockID: userID})
- assert.ErrorIs(t, AddCollaborator(db.DefaultContext, repo, user), user_model.ErrBlockedByUser)
+ require.ErrorIs(t, AddCollaborator(db.DefaultContext, repo, user), user_model.ErrBlockedByUser)
unittest.CheckConsistencyFor(t, &repo_model.Repository{ID: repoID}, &user_model.User{ID: userID})
_, err := db.DeleteByBean(db.DefaultContext, &user_model.BlockedUser{UserID: repo.OwnerID, BlockID: userID})
- assert.NoError(t, err)
+ require.NoError(t, err)
// User has owner blocked.
unittest.AssertSuccessfulInsert(t, &user_model.BlockedUser{UserID: userID, BlockID: repo.OwnerID})
- assert.ErrorIs(t, AddCollaborator(db.DefaultContext, repo, user), user_model.ErrBlockedByUser)
+ require.ErrorIs(t, AddCollaborator(db.DefaultContext, repo, user), user_model.ErrBlockedByUser)
unittest.CheckConsistencyFor(t, &repo_model.Repository{ID: repoID}, &user_model.User{ID: userID})
}
// Ensure idempotency (public repository).
@@ -61,25 +62,25 @@ func TestRepository_AddCollaborator_IsBlocked(t *testing.T) {
}
func TestRepoPermissionPublicNonOrgRepo(t *testing.T) {
- assert.NoError(t, unittest.PrepareTestDatabase())
+ require.NoError(t, unittest.PrepareTestDatabase())
// public non-organization repo
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 4})
- assert.NoError(t, repo.LoadUnits(db.DefaultContext))
+ require.NoError(t, repo.LoadUnits(db.DefaultContext))
// plain user
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
perm, err := access_model.GetUserRepoPermission(db.DefaultContext, repo, user)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.True(t, perm.CanRead(unit.Type))
assert.False(t, perm.CanWrite(unit.Type))
}
// change to collaborator
- assert.NoError(t, AddCollaborator(db.DefaultContext, repo, user))
+ require.NoError(t, AddCollaborator(db.DefaultContext, repo, user))
perm, err = access_model.GetUserRepoPermission(db.DefaultContext, repo, user)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.True(t, perm.CanRead(unit.Type))
assert.True(t, perm.CanWrite(unit.Type))
@@ -88,7 +89,7 @@ func TestRepoPermissionPublicNonOrgRepo(t *testing.T) {
// collaborator
collaborator := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 4})
perm, err = access_model.GetUserRepoPermission(db.DefaultContext, repo, collaborator)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.True(t, perm.CanRead(unit.Type))
assert.True(t, perm.CanWrite(unit.Type))
@@ -97,7 +98,7 @@ func TestRepoPermissionPublicNonOrgRepo(t *testing.T) {
// owner
owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 5})
perm, err = access_model.GetUserRepoPermission(db.DefaultContext, repo, owner)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.True(t, perm.CanRead(unit.Type))
assert.True(t, perm.CanWrite(unit.Type))
@@ -106,7 +107,7 @@ func TestRepoPermissionPublicNonOrgRepo(t *testing.T) {
// admin
admin := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
perm, err = access_model.GetUserRepoPermission(db.DefaultContext, repo, admin)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.True(t, perm.CanRead(unit.Type))
assert.True(t, perm.CanWrite(unit.Type))
@@ -114,33 +115,33 @@ func TestRepoPermissionPublicNonOrgRepo(t *testing.T) {
}
func TestRepoPermissionPrivateNonOrgRepo(t *testing.T) {
- assert.NoError(t, unittest.PrepareTestDatabase())
+ require.NoError(t, unittest.PrepareTestDatabase())
// private non-organization repo
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2})
- assert.NoError(t, repo.LoadUnits(db.DefaultContext))
+ require.NoError(t, repo.LoadUnits(db.DefaultContext))
// plain user
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 4})
perm, err := access_model.GetUserRepoPermission(db.DefaultContext, repo, user)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.False(t, perm.CanRead(unit.Type))
assert.False(t, perm.CanWrite(unit.Type))
}
// change to collaborator to default write access
- assert.NoError(t, AddCollaborator(db.DefaultContext, repo, user))
+ require.NoError(t, AddCollaborator(db.DefaultContext, repo, user))
perm, err = access_model.GetUserRepoPermission(db.DefaultContext, repo, user)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.True(t, perm.CanRead(unit.Type))
assert.True(t, perm.CanWrite(unit.Type))
}
- assert.NoError(t, repo_model.ChangeCollaborationAccessMode(db.DefaultContext, repo, user.ID, perm_model.AccessModeRead))
+ require.NoError(t, repo_model.ChangeCollaborationAccessMode(db.DefaultContext, repo, user.ID, perm_model.AccessModeRead))
perm, err = access_model.GetUserRepoPermission(db.DefaultContext, repo, user)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.True(t, perm.CanRead(unit.Type))
assert.False(t, perm.CanWrite(unit.Type))
@@ -149,7 +150,7 @@ func TestRepoPermissionPrivateNonOrgRepo(t *testing.T) {
// owner
owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
perm, err = access_model.GetUserRepoPermission(db.DefaultContext, repo, owner)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.True(t, perm.CanRead(unit.Type))
assert.True(t, perm.CanWrite(unit.Type))
@@ -158,7 +159,7 @@ func TestRepoPermissionPrivateNonOrgRepo(t *testing.T) {
// admin
admin := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
perm, err = access_model.GetUserRepoPermission(db.DefaultContext, repo, admin)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.True(t, perm.CanRead(unit.Type))
assert.True(t, perm.CanWrite(unit.Type))
@@ -166,33 +167,33 @@ func TestRepoPermissionPrivateNonOrgRepo(t *testing.T) {
}
func TestRepoPermissionPublicOrgRepo(t *testing.T) {
- assert.NoError(t, unittest.PrepareTestDatabase())
+ require.NoError(t, unittest.PrepareTestDatabase())
// public organization repo
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 32})
- assert.NoError(t, repo.LoadUnits(db.DefaultContext))
+ require.NoError(t, repo.LoadUnits(db.DefaultContext))
// plain user
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 5})
perm, err := access_model.GetUserRepoPermission(db.DefaultContext, repo, user)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.True(t, perm.CanRead(unit.Type))
assert.False(t, perm.CanWrite(unit.Type))
}
// change to collaborator to default write access
- assert.NoError(t, AddCollaborator(db.DefaultContext, repo, user))
+ require.NoError(t, AddCollaborator(db.DefaultContext, repo, user))
perm, err = access_model.GetUserRepoPermission(db.DefaultContext, repo, user)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.True(t, perm.CanRead(unit.Type))
assert.True(t, perm.CanWrite(unit.Type))
}
- assert.NoError(t, repo_model.ChangeCollaborationAccessMode(db.DefaultContext, repo, user.ID, perm_model.AccessModeRead))
+ require.NoError(t, repo_model.ChangeCollaborationAccessMode(db.DefaultContext, repo, user.ID, perm_model.AccessModeRead))
perm, err = access_model.GetUserRepoPermission(db.DefaultContext, repo, user)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.True(t, perm.CanRead(unit.Type))
assert.False(t, perm.CanWrite(unit.Type))
@@ -201,7 +202,7 @@ func TestRepoPermissionPublicOrgRepo(t *testing.T) {
// org member team owner
owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
perm, err = access_model.GetUserRepoPermission(db.DefaultContext, repo, owner)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.True(t, perm.CanRead(unit.Type))
assert.True(t, perm.CanWrite(unit.Type))
@@ -210,7 +211,7 @@ func TestRepoPermissionPublicOrgRepo(t *testing.T) {
// org member team tester
member := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 15})
perm, err = access_model.GetUserRepoPermission(db.DefaultContext, repo, member)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.True(t, perm.CanRead(unit.Type))
}
@@ -220,7 +221,7 @@ func TestRepoPermissionPublicOrgRepo(t *testing.T) {
// admin
admin := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
perm, err = access_model.GetUserRepoPermission(db.DefaultContext, repo, admin)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.True(t, perm.CanRead(unit.Type))
assert.True(t, perm.CanWrite(unit.Type))
@@ -228,33 +229,33 @@ func TestRepoPermissionPublicOrgRepo(t *testing.T) {
}
func TestRepoPermissionPrivateOrgRepo(t *testing.T) {
- assert.NoError(t, unittest.PrepareTestDatabase())
+ require.NoError(t, unittest.PrepareTestDatabase())
// private organization repo
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 24})
- assert.NoError(t, repo.LoadUnits(db.DefaultContext))
+ require.NoError(t, repo.LoadUnits(db.DefaultContext))
// plain user
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 5})
perm, err := access_model.GetUserRepoPermission(db.DefaultContext, repo, user)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.False(t, perm.CanRead(unit.Type))
assert.False(t, perm.CanWrite(unit.Type))
}
// change to collaborator to default write access
- assert.NoError(t, AddCollaborator(db.DefaultContext, repo, user))
+ require.NoError(t, AddCollaborator(db.DefaultContext, repo, user))
perm, err = access_model.GetUserRepoPermission(db.DefaultContext, repo, user)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.True(t, perm.CanRead(unit.Type))
assert.True(t, perm.CanWrite(unit.Type))
}
- assert.NoError(t, repo_model.ChangeCollaborationAccessMode(db.DefaultContext, repo, user.ID, perm_model.AccessModeRead))
+ require.NoError(t, repo_model.ChangeCollaborationAccessMode(db.DefaultContext, repo, user.ID, perm_model.AccessModeRead))
perm, err = access_model.GetUserRepoPermission(db.DefaultContext, repo, user)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.True(t, perm.CanRead(unit.Type))
assert.False(t, perm.CanWrite(unit.Type))
@@ -263,7 +264,7 @@ func TestRepoPermissionPrivateOrgRepo(t *testing.T) {
// org member team owner
owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 15})
perm, err = access_model.GetUserRepoPermission(db.DefaultContext, repo, owner)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.True(t, perm.CanRead(unit.Type))
assert.True(t, perm.CanWrite(unit.Type))
@@ -272,9 +273,9 @@ func TestRepoPermissionPrivateOrgRepo(t *testing.T) {
// update team information and then check permission
team := unittest.AssertExistsAndLoadBean(t, &organization.Team{ID: 5})
err = organization.UpdateTeamUnits(db.DefaultContext, team, nil)
- assert.NoError(t, err)
+ require.NoError(t, err)
perm, err = access_model.GetUserRepoPermission(db.DefaultContext, repo, owner)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.True(t, perm.CanRead(unit.Type))
assert.True(t, perm.CanWrite(unit.Type))
@@ -283,7 +284,7 @@ func TestRepoPermissionPrivateOrgRepo(t *testing.T) {
// org member team tester
tester := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
perm, err = access_model.GetUserRepoPermission(db.DefaultContext, repo, tester)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.True(t, perm.CanWrite(unit.TypeIssues))
assert.False(t, perm.CanWrite(unit.TypeCode))
assert.False(t, perm.CanRead(unit.TypeCode))
@@ -291,7 +292,7 @@ func TestRepoPermissionPrivateOrgRepo(t *testing.T) {
// org member team reviewer
reviewer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 20})
perm, err = access_model.GetUserRepoPermission(db.DefaultContext, repo, reviewer)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.False(t, perm.CanRead(unit.TypeIssues))
assert.False(t, perm.CanWrite(unit.TypeCode))
assert.True(t, perm.CanRead(unit.TypeCode))
@@ -299,7 +300,7 @@ func TestRepoPermissionPrivateOrgRepo(t *testing.T) {
// admin
admin := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
perm, err = access_model.GetUserRepoPermission(db.DefaultContext, repo, admin)
- assert.NoError(t, err)
+ require.NoError(t, err)
for _, unit := range repo.Units {
assert.True(t, perm.CanRead(unit.Type))
assert.True(t, perm.CanWrite(unit.Type))
diff --git a/modules/repository/commits_test.go b/modules/repository/commits_test.go
index 248673a907..82841b3268 100644
--- a/modules/repository/commits_test.go
+++ b/modules/repository/commits_test.go
@@ -17,10 +17,11 @@ import (
"code.gitea.io/gitea/modules/setting"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestPushCommits_ToAPIPayloadCommits(t *testing.T) {
- assert.NoError(t, unittest.PrepareTestDatabase())
+ require.NoError(t, unittest.PrepareTestDatabase())
pushCommits := NewPushCommits()
pushCommits.Commits = []*PushCommit{
@@ -53,7 +54,7 @@ func TestPushCommits_ToAPIPayloadCommits(t *testing.T) {
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 16})
payloadCommits, headCommit, err := pushCommits.ToAPIPayloadCommits(git.DefaultContext, repo.RepoPath(), "/user2/repo16")
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Len(t, payloadCommits, 3)
assert.NotNil(t, headCommit)
@@ -103,7 +104,7 @@ func TestPushCommits_ToAPIPayloadCommits(t *testing.T) {
}
func TestPushCommits_AvatarLink(t *testing.T) {
- assert.NoError(t, unittest.PrepareTestDatabase())
+ require.NoError(t, unittest.PrepareTestDatabase())
pushCommits := NewPushCommits()
pushCommits.Commits = []*PushCommit{
@@ -146,7 +147,7 @@ func TestCommitToPushCommit(t *testing.T) {
}
const hexString = "0123456789abcdef0123456789abcdef01234567"
sha1, err := git.NewIDFromString(hexString)
- assert.NoError(t, err)
+ require.NoError(t, err)
pushCommit := CommitToPushCommit(&git.Commit{
ID: sha1,
Author: sig,
@@ -172,10 +173,10 @@ func TestListToPushCommits(t *testing.T) {
const hexString1 = "0123456789abcdef0123456789abcdef01234567"
hash1, err := git.NewIDFromString(hexString1)
- assert.NoError(t, err)
+ require.NoError(t, err)
const hexString2 = "fedcba9876543210fedcba9876543210fedcba98"
hash2, err := git.NewIDFromString(hexString2)
- assert.NoError(t, err)
+ require.NoError(t, err)
l := []*git.Commit{
{
diff --git a/modules/repository/create_test.go b/modules/repository/create_test.go
index 6a2f4deaff..c743271c26 100644
--- a/modules/repository/create_test.go
+++ b/modules/repository/create_test.go
@@ -12,34 +12,35 @@ import (
"code.gitea.io/gitea/models/unittest"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestUpdateRepositoryVisibilityChanged(t *testing.T) {
- assert.NoError(t, unittest.PrepareTestDatabase())
+ require.NoError(t, unittest.PrepareTestDatabase())
// Get sample repo and change visibility
repo, err := repo_model.GetRepositoryByID(db.DefaultContext, 9)
- assert.NoError(t, err)
+ require.NoError(t, err)
repo.IsPrivate = true
// Update it
err = UpdateRepository(db.DefaultContext, repo, true)
- assert.NoError(t, err)
+ require.NoError(t, err)
// Check visibility of action has become private
act := activities_model.Action{}
_, err = db.GetEngine(db.DefaultContext).ID(3).Get(&act)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.True(t, act.IsPrivate)
}
func TestGetDirectorySize(t *testing.T) {
- assert.NoError(t, unittest.PrepareTestDatabase())
+ require.NoError(t, unittest.PrepareTestDatabase())
repo, err := repo_model.GetRepositoryByID(db.DefaultContext, 1)
- assert.NoError(t, err)
+ require.NoError(t, err)
size, err := getDirectorySize(repo.RepoPath())
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.EqualValues(t, size, repo.Size)
}
diff --git a/modules/repository/license_test.go b/modules/repository/license_test.go
index 3b0cfa1eed..a7d77743ac 100644
--- a/modules/repository/license_test.go
+++ b/modules/repository/license_test.go
@@ -8,6 +8,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func Test_getLicense(t *testing.T) {
@@ -19,7 +20,7 @@ func Test_getLicense(t *testing.T) {
name string
args args
want string
- wantErr assert.ErrorAssertionFunc
+ wantErr require.ErrorAssertionFunc
}{
{
name: "regular",
@@ -37,22 +38,21 @@ The above copyright notice and this permission notice shall be included in all c
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
`,
- wantErr: assert.NoError,
+ wantErr: require.NoError,
},
{
name: "license not found",
args: args{
name: "notfound",
},
- wantErr: assert.Error,
+ wantErr: require.Error,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got, err := GetLicense(tt.args.name, tt.args.values)
- if !tt.wantErr(t, err, fmt.Sprintf("GetLicense(%v, %v)", tt.args.name, tt.args.values)) {
- return
- }
+ tt.wantErr(t, err, fmt.Sprintf("GetLicense(%v, %v)", tt.args.name, tt.args.values))
+
assert.Equalf(t, tt.want, string(got), "GetLicense(%v, %v)", tt.args.name, tt.args.values)
})
}
diff --git a/modules/repository/repo_test.go b/modules/repository/repo_test.go
index 68980f92f9..f3e7be6d7d 100644
--- a/modules/repository/repo_test.go
+++ b/modules/repository/repo_test.go
@@ -62,15 +62,15 @@ func Test_calcSync(t *testing.T) {
}
inserts, deletes, updates := calcSync(gitTags, dbReleases)
- if assert.EqualValues(t, 1, len(inserts), "inserts") {
+ if assert.Len(t, inserts, 1, "inserts") {
assert.EqualValues(t, *gitTags[2], *inserts[0], "inserts equal")
}
- if assert.EqualValues(t, 1, len(deletes), "deletes") {
+ if assert.Len(t, deletes, 1, "deletes") {
assert.EqualValues(t, 1, deletes[0], "deletes equal")
}
- if assert.EqualValues(t, 1, len(updates), "updates") {
+ if assert.Len(t, updates, 1, "updates") {
assert.EqualValues(t, *gitTags[1], *updates[0], "updates equal")
}
}
diff --git a/modules/secret/secret_test.go b/modules/secret/secret_test.go
index d4fb46955b..ba23718fd0 100644
--- a/modules/secret/secret_test.go
+++ b/modules/secret/secret_test.go
@@ -7,25 +7,26 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestEncryptDecrypt(t *testing.T) {
hex, err := EncryptSecret("foo", "baz")
- assert.NoError(t, err)
+ require.NoError(t, err)
str, _ := DecryptSecret("foo", hex)
assert.Equal(t, "baz", str)
hex, err = EncryptSecret("bar", "baz")
- assert.NoError(t, err)
+ require.NoError(t, err)
str, _ = DecryptSecret("foo", hex)
assert.NotEqual(t, "baz", str)
_, err = DecryptSecret("a", "b")
- assert.ErrorContains(t, err, "invalid hex string")
+ require.ErrorContains(t, err, "invalid hex string")
_, err = DecryptSecret("a", "bb")
- assert.ErrorContains(t, err, "the key (maybe SECRET_KEY?) might be incorrect: AesDecrypt ciphertext too short")
+ require.ErrorContains(t, err, "the key (maybe SECRET_KEY?) might be incorrect: AesDecrypt ciphertext too short")
_, err = DecryptSecret("a", "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef")
- assert.ErrorContains(t, err, "the key (maybe SECRET_KEY?) might be incorrect: AesDecrypt invalid decrypted base64 string")
+ require.ErrorContains(t, err, "the key (maybe SECRET_KEY?) might be incorrect: AesDecrypt invalid decrypted base64 string")
}
diff --git a/modules/setting/actions_test.go b/modules/setting/actions_test.go
index 01f5bf74a5..afd76d3bee 100644
--- a/modules/setting/actions_test.go
+++ b/modules/setting/actions_test.go
@@ -17,8 +17,8 @@ func Test_getStorageInheritNameSectionTypeForActions(t *testing.T) {
STORAGE_TYPE = minio
`
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
- assert.NoError(t, loadActionsFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadActionsFrom(cfg))
assert.EqualValues(t, "minio", Actions.LogStorage.Type)
assert.EqualValues(t, "actions_log/", Actions.LogStorage.MinioConfig.BasePath)
@@ -30,8 +30,8 @@ func Test_getStorageInheritNameSectionTypeForActions(t *testing.T) {
STORAGE_TYPE = minio
`
cfg, err = NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
- assert.NoError(t, loadActionsFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadActionsFrom(cfg))
assert.EqualValues(t, "minio", Actions.LogStorage.Type)
assert.EqualValues(t, "actions_log/", Actions.LogStorage.MinioConfig.BasePath)
@@ -46,8 +46,8 @@ STORAGE_TYPE = my_storage
STORAGE_TYPE = minio
`
cfg, err = NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
- assert.NoError(t, loadActionsFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadActionsFrom(cfg))
assert.EqualValues(t, "minio", Actions.LogStorage.Type)
assert.EqualValues(t, "actions_log/", Actions.LogStorage.MinioConfig.BasePath)
@@ -62,8 +62,8 @@ STORAGE_TYPE = my_storage
STORAGE_TYPE = minio
`
cfg, err = NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
- assert.NoError(t, loadActionsFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadActionsFrom(cfg))
assert.EqualValues(t, "local", Actions.LogStorage.Type)
assert.EqualValues(t, "actions_log", filepath.Base(Actions.LogStorage.Path))
@@ -78,8 +78,8 @@ STORAGE_TYPE = my_storage
STORAGE_TYPE = minio
`
cfg, err = NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
- assert.NoError(t, loadActionsFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadActionsFrom(cfg))
assert.EqualValues(t, "local", Actions.LogStorage.Type)
assert.EqualValues(t, "actions_log", filepath.Base(Actions.LogStorage.Path))
@@ -88,8 +88,8 @@ STORAGE_TYPE = minio
iniStr = ``
cfg, err = NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
- assert.NoError(t, loadActionsFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadActionsFrom(cfg))
assert.EqualValues(t, "local", Actions.LogStorage.Type)
assert.EqualValues(t, "actions_log", filepath.Base(Actions.LogStorage.Path))
@@ -149,9 +149,8 @@ DEFAULT_ACTIONS_URL = https://example.com
t.Run(tt.name, func(t *testing.T) {
cfg, err := NewConfigProviderFromData(tt.iniStr)
require.NoError(t, err)
- if !assert.NoError(t, loadActionsFrom(cfg)) {
- return
- }
+ require.NoError(t, loadActionsFrom(cfg))
+
assert.EqualValues(t, tt.wantURL, Actions.DefaultActionsURL.URL())
})
}
diff --git a/modules/setting/admin_test.go b/modules/setting/admin_test.go
index c0b4dfff69..0c6c24b038 100644
--- a/modules/setting/admin_test.go
+++ b/modules/setting/admin_test.go
@@ -9,6 +9,7 @@ import (
"code.gitea.io/gitea/modules/container"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func Test_loadAdminFrom(t *testing.T) {
@@ -21,12 +22,12 @@ func Test_loadAdminFrom(t *testing.T) {
EXTERNAL_USER_DISABLE_FEATURES = x,y
`
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
+ require.NoError(t, err)
loadAdminFrom(cfg)
- assert.EqualValues(t, true, Admin.DisableRegularOrgCreation)
+ assert.True(t, Admin.DisableRegularOrgCreation)
assert.EqualValues(t, "z", Admin.DefaultEmailNotification)
- assert.EqualValues(t, true, Admin.SendNotificationEmailOnNewUser)
+ assert.True(t, Admin.SendNotificationEmailOnNewUser)
assert.EqualValues(t, container.SetOf("a", "b"), Admin.UserDisabledFeatures)
assert.EqualValues(t, container.SetOf("x", "y"), Admin.ExternalUserDisableFeatures)
}
diff --git a/modules/setting/annex.go b/modules/setting/annex.go
new file mode 100644
index 0000000000..a0eeac9bb8
--- /dev/null
+++ b/modules/setting/annex.go
@@ -0,0 +1,20 @@
+// Copyright 2023 The Gitea Authors. All rights reserved.
+// SPDX-License-Identifier: MIT
+
+package setting
+
+import (
+ "code.gitea.io/gitea/modules/log"
+)
+
+// Annex represents the configuration for git-annex
+var Annex = struct {
+ Enabled bool `ini:"ENABLED"`
+}{}
+
+func loadAnnexFrom(rootCfg ConfigProvider) {
+ sec := rootCfg.Section("annex")
+ if err := sec.MapTo(&Annex); err != nil {
+ log.Fatal("Failed to map Annex settings: %v", err)
+ }
+}
diff --git a/modules/setting/attachment_test.go b/modules/setting/attachment_test.go
index 3e8d2da4d9..f8085c1657 100644
--- a/modules/setting/attachment_test.go
+++ b/modules/setting/attachment_test.go
@@ -7,6 +7,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func Test_getStorageCustomType(t *testing.T) {
@@ -20,9 +21,9 @@ STORAGE_TYPE = minio
MINIO_ENDPOINT = my_minio:9000
`
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
+ require.NoError(t, err)
- assert.NoError(t, loadAttachmentFrom(cfg))
+ require.NoError(t, loadAttachmentFrom(cfg))
assert.EqualValues(t, "minio", Attachment.Storage.Type)
assert.EqualValues(t, "my_minio:9000", Attachment.Storage.MinioConfig.Endpoint)
@@ -42,9 +43,9 @@ MINIO_BUCKET = gitea-minio
MINIO_BUCKET = gitea
`
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
+ require.NoError(t, err)
- assert.NoError(t, loadAttachmentFrom(cfg))
+ require.NoError(t, loadAttachmentFrom(cfg))
assert.EqualValues(t, "minio", Attachment.Storage.Type)
assert.EqualValues(t, "gitea-minio", Attachment.Storage.MinioConfig.Bucket)
@@ -64,9 +65,9 @@ MINIO_BUCKET = gitea
STORAGE_TYPE = local
`
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
+ require.NoError(t, err)
- assert.NoError(t, loadAttachmentFrom(cfg))
+ require.NoError(t, loadAttachmentFrom(cfg))
assert.EqualValues(t, "minio", Attachment.Storage.Type)
assert.EqualValues(t, "gitea-attachment", Attachment.Storage.MinioConfig.Bucket)
@@ -75,9 +76,9 @@ STORAGE_TYPE = local
func Test_getStorageGetDefaults(t *testing.T) {
cfg, err := NewConfigProviderFromData("")
- assert.NoError(t, err)
+ require.NoError(t, err)
- assert.NoError(t, loadAttachmentFrom(cfg))
+ require.NoError(t, loadAttachmentFrom(cfg))
// default storage is local, so bucket is empty
assert.EqualValues(t, "", Attachment.Storage.MinioConfig.Bucket)
@@ -89,9 +90,9 @@ func Test_getStorageInheritNameSectionType(t *testing.T) {
STORAGE_TYPE = minio
`
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
+ require.NoError(t, err)
- assert.NoError(t, loadAttachmentFrom(cfg))
+ require.NoError(t, loadAttachmentFrom(cfg))
assert.EqualValues(t, "minio", Attachment.Storage.Type)
}
@@ -109,9 +110,9 @@ MINIO_ACCESS_KEY_ID = correct_key
MINIO_SECRET_ACCESS_KEY = correct_key
`
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
+ require.NoError(t, err)
- assert.NoError(t, loadAttachmentFrom(cfg))
+ require.NoError(t, loadAttachmentFrom(cfg))
storage := Attachment.Storage
assert.EqualValues(t, "minio", storage.Type)
@@ -124,9 +125,9 @@ func Test_AttachmentStorage1(t *testing.T) {
STORAGE_TYPE = minio
`
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
+ require.NoError(t, err)
- assert.NoError(t, loadAttachmentFrom(cfg))
+ require.NoError(t, loadAttachmentFrom(cfg))
assert.EqualValues(t, "minio", Attachment.Storage.Type)
assert.EqualValues(t, "gitea", Attachment.Storage.MinioConfig.Bucket)
assert.EqualValues(t, "attachments/", Attachment.Storage.MinioConfig.BasePath)
diff --git a/modules/setting/config_env_test.go b/modules/setting/config_env_test.go
index 572486aec2..bec3e584ef 100644
--- a/modules/setting/config_env_test.go
+++ b/modules/setting/config_env_test.go
@@ -9,6 +9,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestDecodeEnvSectionKey(t *testing.T) {
@@ -92,7 +93,7 @@ func TestEnvironmentToConfig(t *testing.T) {
[sec]
key = old
`)
- assert.NoError(t, err)
+ require.NoError(t, err)
changed = EnvironmentToConfig(cfg, []string{"GITEA__sec__key=new"})
assert.True(t, changed)
@@ -130,7 +131,7 @@ func TestEnvironmentToConfigSubSecKey(t *testing.T) {
[sec]
key = some
`)
- assert.NoError(t, err)
+ require.NoError(t, err)
changed := EnvironmentToConfig(cfg, []string{"GITEA__sec_0X2E_sub__key=some"})
assert.True(t, changed)
@@ -138,9 +139,9 @@ key = some
tmpFile := t.TempDir() + "/test-sub-sec-key.ini"
defer os.Remove(tmpFile)
err = cfg.SaveTo(tmpFile)
- assert.NoError(t, err)
+ require.NoError(t, err)
bs, err := os.ReadFile(tmpFile)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, `[sec]
key = some
diff --git a/modules/setting/config_provider_test.go b/modules/setting/config_provider_test.go
index a666d124c7..702be80861 100644
--- a/modules/setting/config_provider_test.go
+++ b/modules/setting/config_provider_test.go
@@ -8,6 +8,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestConfigProviderBehaviors(t *testing.T) {
@@ -78,38 +79,38 @@ key = 123
func TestNewConfigProviderFromFile(t *testing.T) {
cfg, err := NewConfigProviderFromFile("no-such.ini")
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.True(t, cfg.IsLoadedFromEmpty())
// load non-existing file and save
testFile := t.TempDir() + "/test.ini"
testFile1 := t.TempDir() + "/test1.ini"
cfg, err = NewConfigProviderFromFile(testFile)
- assert.NoError(t, err)
+ require.NoError(t, err)
sec, _ := cfg.NewSection("foo")
_, _ = sec.NewKey("k1", "a")
- assert.NoError(t, cfg.Save())
+ require.NoError(t, cfg.Save())
_, _ = sec.NewKey("k2", "b")
- assert.NoError(t, cfg.SaveTo(testFile1))
+ require.NoError(t, cfg.SaveTo(testFile1))
bs, err := os.ReadFile(testFile)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "[foo]\nk1 = a\n", string(bs))
bs, err = os.ReadFile(testFile1)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "[foo]\nk1 = a\nk2 = b\n", string(bs))
// load existing file and save
cfg, err = NewConfigProviderFromFile(testFile)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "a", cfg.Section("foo").Key("k1").String())
sec, _ = cfg.NewSection("bar")
_, _ = sec.NewKey("k1", "b")
- assert.NoError(t, cfg.Save())
+ require.NoError(t, cfg.Save())
bs, err = os.ReadFile(testFile)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "[foo]\nk1 = a\n\n[bar]\nk1 = b\n", string(bs))
}
@@ -118,15 +119,15 @@ func TestNewConfigProviderForLocale(t *testing.T) {
localeFile := t.TempDir() + "/locale.ini"
_ = os.WriteFile(localeFile, []byte(`k1=a`), 0o644)
cfg, err := NewConfigProviderForLocale(localeFile)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "a", cfg.Section("").Key("k1").String())
// load locale from bytes
cfg, err = NewConfigProviderForLocale([]byte("k1=foo\nk2=bar"))
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "foo", cfg.Section("").Key("k1").String())
cfg, err = NewConfigProviderForLocale([]byte("k1=foo\nk2=bar"), []byte("k2=xxx"))
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "foo", cfg.Section("").Key("k1").String())
assert.Equal(t, "xxx", cfg.Section("").Key("k2").String())
}
@@ -135,22 +136,22 @@ func TestDisableSaving(t *testing.T) {
testFile := t.TempDir() + "/test.ini"
_ = os.WriteFile(testFile, []byte("k1=a\nk2=b"), 0o644)
cfg, err := NewConfigProviderFromFile(testFile)
- assert.NoError(t, err)
+ require.NoError(t, err)
cfg.DisableSaving()
err = cfg.Save()
- assert.ErrorIs(t, err, errDisableSaving)
+ require.ErrorIs(t, err, errDisableSaving)
saveCfg, err := cfg.PrepareSaving()
- assert.NoError(t, err)
+ require.NoError(t, err)
saveCfg.Section("").Key("k1").MustString("x")
saveCfg.Section("").Key("k2").SetValue("y")
saveCfg.Section("").Key("k3").SetValue("z")
err = saveCfg.Save()
- assert.NoError(t, err)
+ require.NoError(t, err)
bs, err := os.ReadFile(testFile)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, "k1 = a\nk2 = y\nk3 = z\n", string(bs))
}
diff --git a/modules/setting/cron_test.go b/modules/setting/cron_test.go
index 3187ab18a2..32f8ecffd2 100644
--- a/modules/setting/cron_test.go
+++ b/modules/setting/cron_test.go
@@ -7,6 +7,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func Test_getCronSettings(t *testing.T) {
@@ -27,7 +28,7 @@ SECOND = white rabbit
EXTEND = true
`
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
+ require.NoError(t, err)
extended := &Extended{
BaseStruct: BaseStruct{
@@ -36,8 +37,8 @@ EXTEND = true
}
_, err = getCronSettings(cfg, "test", extended)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.True(t, extended.Base)
- assert.EqualValues(t, extended.Second, "white rabbit")
+ assert.EqualValues(t, "white rabbit", extended.Second)
assert.True(t, extended.Extend)
}
diff --git a/modules/setting/forgejo_storage_test.go b/modules/setting/forgejo_storage_test.go
index 9071067cde..d91bff59e9 100644
--- a/modules/setting/forgejo_storage_test.go
+++ b/modules/setting/forgejo_storage_test.go
@@ -14,6 +14,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestForgejoDocs_StorageTypes(t *testing.T) {
@@ -256,8 +257,8 @@ STORAGE_TYPE = %s
func testStoragePathMatch(t *testing.T, iniStr string, storageType StorageType, testSectionToPath testSectionToPathFun, section string, storage **Storage) {
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err, iniStr)
- assert.NoError(t, loadCommonSettingsFrom(cfg), iniStr)
+ require.NoError(t, err, iniStr)
+ require.NoError(t, loadCommonSettingsFrom(cfg), iniStr)
assert.EqualValues(t, testSectionToPath(storageType, section), testStorageGetPath(*storage), iniStr)
assert.EqualValues(t, storageType, (*storage).Type, iniStr)
}
diff --git a/modules/setting/git_test.go b/modules/setting/git_test.go
index 441c514d8c..34427f908f 100644
--- a/modules/setting/git_test.go
+++ b/modules/setting/git_test.go
@@ -7,6 +7,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestGitConfig(t *testing.T) {
@@ -21,7 +22,7 @@ func TestGitConfig(t *testing.T) {
[git.config]
a.b = 1
`)
- assert.NoError(t, err)
+ require.NoError(t, err)
loadGitFrom(cfg)
assert.EqualValues(t, "1", GitConfig.Options["a.b"])
assert.EqualValues(t, "histogram", GitConfig.Options["diff.algorithm"])
@@ -30,7 +31,7 @@ a.b = 1
[git.config]
diff.algorithm = other
`)
- assert.NoError(t, err)
+ require.NoError(t, err)
loadGitFrom(cfg)
assert.EqualValues(t, "other", GitConfig.Options["diff.algorithm"])
}
@@ -45,7 +46,7 @@ func TestGitReflog(t *testing.T) {
// default reflog config without legacy options
cfg, err := NewConfigProviderFromData(``)
- assert.NoError(t, err)
+ require.NoError(t, err)
loadGitFrom(cfg)
assert.EqualValues(t, "true", GitConfig.GetOption("core.logAllRefUpdates"))
@@ -57,7 +58,7 @@ func TestGitReflog(t *testing.T) {
ENABLED = false
EXPIRATION = 123
`)
- assert.NoError(t, err)
+ require.NoError(t, err)
loadGitFrom(cfg)
assert.EqualValues(t, "false", GitConfig.GetOption("core.logAllRefUpdates"))
diff --git a/modules/setting/i18n.go b/modules/setting/i18n.go
index 1639f3ae5b..889e52beb6 100644
--- a/modules/setting/i18n.go
+++ b/modules/setting/i18n.go
@@ -34,7 +34,6 @@ var defaultI18nLangNames = []string{
"fa-IR", "فارسی",
"hu-HU", "Magyar nyelv",
"id-ID", "Bahasa Indonesia",
- "ml-IN", "മലയാളം",
}
func defaultI18nLangs() (res []string) {
diff --git a/modules/setting/lfs_test.go b/modules/setting/lfs_test.go
index 10c54fec0a..c7f16379b2 100644
--- a/modules/setting/lfs_test.go
+++ b/modules/setting/lfs_test.go
@@ -7,6 +7,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func Test_getStorageInheritNameSectionTypeForLFS(t *testing.T) {
@@ -15,8 +16,8 @@ func Test_getStorageInheritNameSectionTypeForLFS(t *testing.T) {
STORAGE_TYPE = minio
`
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
- assert.NoError(t, loadLFSFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadLFSFrom(cfg))
assert.EqualValues(t, "minio", LFS.Storage.Type)
assert.EqualValues(t, "lfs/", LFS.Storage.MinioConfig.BasePath)
@@ -28,8 +29,8 @@ LFS_CONTENT_PATH = path_ignored
PATH = path_used
`
cfg, err = NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
- assert.NoError(t, loadLFSFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadLFSFrom(cfg))
assert.EqualValues(t, "local", LFS.Storage.Type)
assert.Contains(t, LFS.Storage.Path, "path_used")
@@ -39,8 +40,8 @@ PATH = path_used
LFS_CONTENT_PATH = deprecatedpath
`
cfg, err = NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
- assert.NoError(t, loadLFSFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadLFSFrom(cfg))
assert.EqualValues(t, "local", LFS.Storage.Type)
assert.Contains(t, LFS.Storage.Path, "deprecatedpath")
@@ -50,8 +51,8 @@ LFS_CONTENT_PATH = deprecatedpath
STORAGE_TYPE = minio
`
cfg, err = NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
- assert.NoError(t, loadLFSFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadLFSFrom(cfg))
assert.EqualValues(t, "minio", LFS.Storage.Type)
assert.EqualValues(t, "lfs/", LFS.Storage.MinioConfig.BasePath)
@@ -64,8 +65,8 @@ STORAGE_TYPE = my_minio
STORAGE_TYPE = minio
`
cfg, err = NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
- assert.NoError(t, loadLFSFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadLFSFrom(cfg))
assert.EqualValues(t, "minio", LFS.Storage.Type)
assert.EqualValues(t, "lfs/", LFS.Storage.MinioConfig.BasePath)
@@ -79,8 +80,8 @@ MINIO_BASE_PATH = my_lfs/
STORAGE_TYPE = minio
`
cfg, err = NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
- assert.NoError(t, loadLFSFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadLFSFrom(cfg))
assert.EqualValues(t, "minio", LFS.Storage.Type)
assert.EqualValues(t, "my_lfs/", LFS.Storage.MinioConfig.BasePath)
@@ -92,9 +93,9 @@ func Test_LFSStorage1(t *testing.T) {
STORAGE_TYPE = minio
`
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
+ require.NoError(t, err)
- assert.NoError(t, loadLFSFrom(cfg))
+ require.NoError(t, loadLFSFrom(cfg))
assert.EqualValues(t, "minio", LFS.Storage.Type)
assert.EqualValues(t, "gitea", LFS.Storage.MinioConfig.Bucket)
assert.EqualValues(t, "lfs/", LFS.Storage.MinioConfig.BasePath)
diff --git a/modules/setting/log_test.go b/modules/setting/log_test.go
index 87b14f0b1d..3134d3e75c 100644
--- a/modules/setting/log_test.go
+++ b/modules/setting/log_test.go
@@ -11,7 +11,6 @@ import (
"code.gitea.io/gitea/modules/json"
"code.gitea.io/gitea/modules/log"
- "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@@ -23,7 +22,7 @@ func initLoggersByConfig(t *testing.T, config string) (*log.LoggerManager, func(
}()
cfg, err := NewConfigProviderFromData(config)
- assert.NoError(t, err)
+ require.NoError(t, err)
manager := log.NewManager()
initManagedLoggers(manager, cfg)
diff --git a/modules/setting/oauth2_test.go b/modules/setting/oauth2_test.go
index 1951c4c0a2..18252b2447 100644
--- a/modules/setting/oauth2_test.go
+++ b/modules/setting/oauth2_test.go
@@ -11,6 +11,7 @@ import (
"code.gitea.io/gitea/modules/test"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestGetGeneralSigningSecret(t *testing.T) {
@@ -55,6 +56,6 @@ func TestGetGeneralSigningSecretSave(t *testing.T) {
assert.Equal(t, generated, again)
iniContent, err := os.ReadFile(tmpFile)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Contains(t, string(iniContent), "JWT_SECRET = ")
}
diff --git a/modules/setting/packages_test.go b/modules/setting/packages_test.go
index 87de276041..78eb4b4bbc 100644
--- a/modules/setting/packages_test.go
+++ b/modules/setting/packages_test.go
@@ -7,12 +7,13 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestMustBytes(t *testing.T) {
test := func(value string) int64 {
cfg, err := NewConfigProviderFromData("[test]")
- assert.NoError(t, err)
+ require.NoError(t, err)
sec := cfg.Section("test")
sec.NewKey("VALUE", value)
@@ -37,8 +38,8 @@ func Test_getStorageInheritNameSectionTypeForPackages(t *testing.T) {
STORAGE_TYPE = minio
`
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
- assert.NoError(t, loadPackagesFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadPackagesFrom(cfg))
assert.EqualValues(t, "minio", Packages.Storage.Type)
assert.EqualValues(t, "packages/", Packages.Storage.MinioConfig.BasePath)
@@ -49,8 +50,8 @@ STORAGE_TYPE = minio
STORAGE_TYPE = minio
`
cfg, err = NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
- assert.NoError(t, loadPackagesFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadPackagesFrom(cfg))
assert.EqualValues(t, "minio", Packages.Storage.Type)
assert.EqualValues(t, "packages/", Packages.Storage.MinioConfig.BasePath)
@@ -64,8 +65,8 @@ STORAGE_TYPE = my_minio
STORAGE_TYPE = minio
`
cfg, err = NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
- assert.NoError(t, loadPackagesFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadPackagesFrom(cfg))
assert.EqualValues(t, "minio", Packages.Storage.Type)
assert.EqualValues(t, "packages/", Packages.Storage.MinioConfig.BasePath)
@@ -80,8 +81,8 @@ MINIO_BASE_PATH = my_packages/
STORAGE_TYPE = minio
`
cfg, err = NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
- assert.NoError(t, loadPackagesFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadPackagesFrom(cfg))
assert.EqualValues(t, "minio", Packages.Storage.Type)
assert.EqualValues(t, "my_packages/", Packages.Storage.MinioConfig.BasePath)
@@ -103,9 +104,9 @@ MINIO_ACCESS_KEY_ID = correct_key
MINIO_SECRET_ACCESS_KEY = correct_key
`
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
+ require.NoError(t, err)
- assert.NoError(t, loadPackagesFrom(cfg))
+ require.NoError(t, loadPackagesFrom(cfg))
storage := Packages.Storage
assert.EqualValues(t, "minio", storage.Type)
@@ -130,9 +131,9 @@ MINIO_ACCESS_KEY_ID = correct_key
MINIO_SECRET_ACCESS_KEY = correct_key
`
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
+ require.NoError(t, err)
- assert.NoError(t, loadPackagesFrom(cfg))
+ require.NoError(t, loadPackagesFrom(cfg))
storage := Packages.Storage
assert.EqualValues(t, "minio", storage.Type)
@@ -158,9 +159,9 @@ MINIO_ACCESS_KEY_ID = correct_key
MINIO_SECRET_ACCESS_KEY = correct_key
`
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
+ require.NoError(t, err)
- assert.NoError(t, loadPackagesFrom(cfg))
+ require.NoError(t, loadPackagesFrom(cfg))
storage := Packages.Storage
assert.EqualValues(t, "minio", storage.Type)
@@ -186,9 +187,9 @@ MINIO_ACCESS_KEY_ID = correct_key
MINIO_SECRET_ACCESS_KEY = correct_key
`
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
+ require.NoError(t, err)
- assert.NoError(t, loadPackagesFrom(cfg))
+ require.NoError(t, loadPackagesFrom(cfg))
storage := Packages.Storage
assert.EqualValues(t, "minio", storage.Type)
diff --git a/modules/setting/repository_archive_test.go b/modules/setting/repository_archive_test.go
index a0f91f0da1..d3901b6e47 100644
--- a/modules/setting/repository_archive_test.go
+++ b/modules/setting/repository_archive_test.go
@@ -7,6 +7,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func Test_getStorageInheritNameSectionTypeForRepoArchive(t *testing.T) {
@@ -16,8 +17,8 @@ func Test_getStorageInheritNameSectionTypeForRepoArchive(t *testing.T) {
STORAGE_TYPE = minio
`
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
- assert.NoError(t, loadRepoArchiveFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadRepoArchiveFrom(cfg))
assert.EqualValues(t, "minio", RepoArchive.Storage.Type)
assert.EqualValues(t, "repo-archive/", RepoArchive.Storage.MinioConfig.BasePath)
@@ -28,8 +29,8 @@ STORAGE_TYPE = minio
STORAGE_TYPE = minio
`
cfg, err = NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
- assert.NoError(t, loadRepoArchiveFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadRepoArchiveFrom(cfg))
assert.EqualValues(t, "minio", RepoArchive.Storage.Type)
assert.EqualValues(t, "repo-archive/", RepoArchive.Storage.MinioConfig.BasePath)
@@ -43,8 +44,8 @@ STORAGE_TYPE = my_minio
STORAGE_TYPE = minio
`
cfg, err = NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
- assert.NoError(t, loadRepoArchiveFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadRepoArchiveFrom(cfg))
assert.EqualValues(t, "minio", RepoArchive.Storage.Type)
assert.EqualValues(t, "repo-archive/", RepoArchive.Storage.MinioConfig.BasePath)
@@ -59,8 +60,8 @@ MINIO_BASE_PATH = my_archive/
STORAGE_TYPE = minio
`
cfg, err = NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
- assert.NoError(t, loadRepoArchiveFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadRepoArchiveFrom(cfg))
assert.EqualValues(t, "minio", RepoArchive.Storage.Type)
assert.EqualValues(t, "my_archive/", RepoArchive.Storage.MinioConfig.BasePath)
@@ -79,9 +80,9 @@ MINIO_ACCESS_KEY_ID = correct_key
MINIO_SECRET_ACCESS_KEY = correct_key
`
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
+ require.NoError(t, err)
- assert.NoError(t, loadRepoArchiveFrom(cfg))
+ require.NoError(t, loadRepoArchiveFrom(cfg))
storage := RepoArchive.Storage
assert.EqualValues(t, "minio", storage.Type)
@@ -101,9 +102,9 @@ MINIO_ACCESS_KEY_ID = correct_key
MINIO_SECRET_ACCESS_KEY = correct_key
`
cfg, err = NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
+ require.NoError(t, err)
- assert.NoError(t, loadRepoArchiveFrom(cfg))
+ require.NoError(t, loadRepoArchiveFrom(cfg))
storage = RepoArchive.Storage
assert.EqualValues(t, "minio", storage.Type)
diff --git a/modules/setting/service_test.go b/modules/setting/service_test.go
index 1647bcec16..7a13e39238 100644
--- a/modules/setting/service_test.go
+++ b/modules/setting/service_test.go
@@ -10,6 +10,7 @@ import (
"github.com/gobwas/glob"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestLoadServices(t *testing.T) {
@@ -24,7 +25,7 @@ EMAIL_DOMAIN_WHITELIST = d1, *.w
EMAIL_DOMAIN_ALLOWLIST = d2, *.a
EMAIL_DOMAIN_BLOCKLIST = d3, *.b
`)
- assert.NoError(t, err)
+ require.NoError(t, err)
loadServiceFrom(cfg)
match := func(globs []glob.Glob, s string) bool {
@@ -119,7 +120,7 @@ ALLOWED_USER_VISIBILITY_MODES = public, limit, privated
for kase, fun := range kases {
t.Run(kase, func(t *testing.T) {
cfg, err := NewConfigProviderFromData(kase)
- assert.NoError(t, err)
+ require.NoError(t, err)
loadServiceFrom(cfg)
fun()
// reset
diff --git a/modules/setting/setting.go b/modules/setting/setting.go
index a873b92cdf..97fb05403f 100644
--- a/modules/setting/setting.go
+++ b/modules/setting/setting.go
@@ -153,6 +153,7 @@ func loadCommonSettingsFrom(cfg ConfigProvider) error {
loadCamoFrom(cfg)
loadI18nFrom(cfg)
loadGitFrom(cfg)
+ loadAnnexFrom(cfg)
loadMirrorFrom(cfg)
loadMarkupFrom(cfg)
loadOtherFrom(cfg)
diff --git a/modules/setting/storage_test.go b/modules/setting/storage_test.go
index 6f38bf1d55..271607914c 100644
--- a/modules/setting/storage_test.go
+++ b/modules/setting/storage_test.go
@@ -8,6 +8,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func Test_getStorageMultipleName(t *testing.T) {
@@ -23,17 +24,17 @@ STORAGE_TYPE = minio
MINIO_BUCKET = gitea-storage
`
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
+ require.NoError(t, err)
- assert.NoError(t, loadAttachmentFrom(cfg))
+ require.NoError(t, loadAttachmentFrom(cfg))
assert.EqualValues(t, "gitea-attachment", Attachment.Storage.MinioConfig.Bucket)
assert.EqualValues(t, "attachments/", Attachment.Storage.MinioConfig.BasePath)
- assert.NoError(t, loadLFSFrom(cfg))
+ require.NoError(t, loadLFSFrom(cfg))
assert.EqualValues(t, "gitea-lfs", LFS.Storage.MinioConfig.Bucket)
assert.EqualValues(t, "lfs/", LFS.Storage.MinioConfig.BasePath)
- assert.NoError(t, loadAvatarsFrom(cfg))
+ require.NoError(t, loadAvatarsFrom(cfg))
assert.EqualValues(t, "gitea-storage", Avatar.Storage.MinioConfig.Bucket)
assert.EqualValues(t, "avatars/", Avatar.Storage.MinioConfig.BasePath)
}
@@ -48,13 +49,13 @@ STORAGE_TYPE = minio
MINIO_BUCKET = gitea-storage
`
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
+ require.NoError(t, err)
- assert.NoError(t, loadAttachmentFrom(cfg))
+ require.NoError(t, loadAttachmentFrom(cfg))
assert.EqualValues(t, "gitea-storage", Attachment.Storage.MinioConfig.Bucket)
assert.EqualValues(t, "attachments/", Attachment.Storage.MinioConfig.BasePath)
- assert.NoError(t, loadLFSFrom(cfg))
+ require.NoError(t, loadLFSFrom(cfg))
assert.EqualValues(t, "gitea-storage", LFS.Storage.MinioConfig.Bucket)
assert.EqualValues(t, "lfs/", LFS.Storage.MinioConfig.BasePath)
}
@@ -65,19 +66,19 @@ func Test_getStorageInheritStorageType(t *testing.T) {
STORAGE_TYPE = minio
`
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
+ require.NoError(t, err)
- assert.NoError(t, loadPackagesFrom(cfg))
+ require.NoError(t, loadPackagesFrom(cfg))
assert.EqualValues(t, "minio", Packages.Storage.Type)
assert.EqualValues(t, "gitea", Packages.Storage.MinioConfig.Bucket)
assert.EqualValues(t, "packages/", Packages.Storage.MinioConfig.BasePath)
- assert.NoError(t, loadRepoArchiveFrom(cfg))
+ require.NoError(t, loadRepoArchiveFrom(cfg))
assert.EqualValues(t, "minio", RepoArchive.Storage.Type)
assert.EqualValues(t, "gitea", RepoArchive.Storage.MinioConfig.Bucket)
assert.EqualValues(t, "repo-archive/", RepoArchive.Storage.MinioConfig.BasePath)
- assert.NoError(t, loadActionsFrom(cfg))
+ require.NoError(t, loadActionsFrom(cfg))
assert.EqualValues(t, "minio", Actions.LogStorage.Type)
assert.EqualValues(t, "gitea", Actions.LogStorage.MinioConfig.Bucket)
assert.EqualValues(t, "actions_log/", Actions.LogStorage.MinioConfig.BasePath)
@@ -86,12 +87,12 @@ STORAGE_TYPE = minio
assert.EqualValues(t, "gitea", Actions.ArtifactStorage.MinioConfig.Bucket)
assert.EqualValues(t, "actions_artifacts/", Actions.ArtifactStorage.MinioConfig.BasePath)
- assert.NoError(t, loadAvatarsFrom(cfg))
+ require.NoError(t, loadAvatarsFrom(cfg))
assert.EqualValues(t, "minio", Avatar.Storage.Type)
assert.EqualValues(t, "gitea", Avatar.Storage.MinioConfig.Bucket)
assert.EqualValues(t, "avatars/", Avatar.Storage.MinioConfig.BasePath)
- assert.NoError(t, loadRepoAvatarFrom(cfg))
+ require.NoError(t, loadRepoAvatarFrom(cfg))
assert.EqualValues(t, "minio", RepoAvatar.Storage.Type)
assert.EqualValues(t, "gitea", RepoAvatar.Storage.MinioConfig.Bucket)
assert.EqualValues(t, "repo-avatars/", RepoAvatar.Storage.MinioConfig.BasePath)
@@ -105,10 +106,10 @@ type testLocalStoragePathCase struct {
func testLocalStoragePath(t *testing.T, appDataPath, iniStr string, cases []testLocalStoragePathCase) {
cfg, err := NewConfigProviderFromData(iniStr)
- assert.NoError(t, err)
+ require.NoError(t, err)
AppDataPath = appDataPath
for _, c := range cases {
- assert.NoError(t, c.loader(cfg))
+ require.NoError(t, c.loader(cfg))
storage := *c.storagePtr
assert.EqualValues(t, "local", storage.Type)
@@ -315,9 +316,9 @@ func Test_getStorageConfiguration20(t *testing.T) {
STORAGE_TYPE = my_storage
PATH = archives
`)
- assert.NoError(t, err)
+ require.NoError(t, err)
- assert.Error(t, loadRepoArchiveFrom(cfg))
+ require.Error(t, loadRepoArchiveFrom(cfg))
}
func Test_getStorageConfiguration21(t *testing.T) {
@@ -344,12 +345,12 @@ STORAGE_TYPE = minio
MINIO_ACCESS_KEY_ID = my_access_key
MINIO_SECRET_ACCESS_KEY = my_secret_key
`)
- assert.NoError(t, err)
+ require.NoError(t, err)
_, err = getStorage(cfg, "", "", nil)
- assert.Error(t, err)
+ require.Error(t, err)
- assert.NoError(t, loadRepoArchiveFrom(cfg))
+ require.NoError(t, loadRepoArchiveFrom(cfg))
cp := RepoArchive.Storage.ToShadowCopy()
assert.EqualValues(t, "******", cp.MinioConfig.AccessKeyID)
assert.EqualValues(t, "******", cp.MinioConfig.SecretAccessKey)
@@ -364,8 +365,8 @@ STORAGE_TYPE = my_archive
; unsupported, storage type should be defined explicitly
PATH = archives
`)
- assert.NoError(t, err)
- assert.Error(t, loadRepoArchiveFrom(cfg))
+ require.NoError(t, err)
+ require.Error(t, loadRepoArchiveFrom(cfg))
}
func Test_getStorageConfiguration25(t *testing.T) {
@@ -378,8 +379,8 @@ STORAGE_TYPE = my_archive
STORAGE_TYPE = unknown // should be local or minio
PATH = archives
`)
- assert.NoError(t, err)
- assert.Error(t, loadRepoArchiveFrom(cfg))
+ require.NoError(t, err)
+ require.Error(t, loadRepoArchiveFrom(cfg))
}
func Test_getStorageConfiguration26(t *testing.T) {
@@ -391,10 +392,10 @@ MINIO_SECRET_ACCESS_KEY = my_secret_key
; wrong configuration
MINIO_USE_SSL = abc
`)
- assert.NoError(t, err)
- // assert.Error(t, loadRepoArchiveFrom(cfg))
+ require.NoError(t, err)
+ // require.Error(t, loadRepoArchiveFrom(cfg))
// FIXME: this should return error but now ini package's MapTo() doesn't check type
- assert.NoError(t, loadRepoArchiveFrom(cfg))
+ require.NoError(t, loadRepoArchiveFrom(cfg))
}
func Test_getStorageConfiguration27(t *testing.T) {
@@ -405,11 +406,11 @@ MINIO_ACCESS_KEY_ID = my_access_key
MINIO_SECRET_ACCESS_KEY = my_secret_key
MINIO_USE_SSL = true
`)
- assert.NoError(t, err)
- assert.NoError(t, loadRepoArchiveFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadRepoArchiveFrom(cfg))
assert.EqualValues(t, "my_access_key", RepoArchive.Storage.MinioConfig.AccessKeyID)
assert.EqualValues(t, "my_secret_key", RepoArchive.Storage.MinioConfig.SecretAccessKey)
- assert.EqualValues(t, true, RepoArchive.Storage.MinioConfig.UseSSL)
+ assert.True(t, RepoArchive.Storage.MinioConfig.UseSSL)
assert.EqualValues(t, "repo-archive/", RepoArchive.Storage.MinioConfig.BasePath)
}
@@ -422,11 +423,11 @@ MINIO_SECRET_ACCESS_KEY = my_secret_key
MINIO_USE_SSL = true
MINIO_BASE_PATH = /prefix
`)
- assert.NoError(t, err)
- assert.NoError(t, loadRepoArchiveFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadRepoArchiveFrom(cfg))
assert.EqualValues(t, "my_access_key", RepoArchive.Storage.MinioConfig.AccessKeyID)
assert.EqualValues(t, "my_secret_key", RepoArchive.Storage.MinioConfig.SecretAccessKey)
- assert.EqualValues(t, true, RepoArchive.Storage.MinioConfig.UseSSL)
+ assert.True(t, RepoArchive.Storage.MinioConfig.UseSSL)
assert.EqualValues(t, "/prefix/repo-archive/", RepoArchive.Storage.MinioConfig.BasePath)
cfg, err = NewConfigProviderFromData(`
@@ -440,11 +441,11 @@ MINIO_BASE_PATH = /prefix
[lfs]
MINIO_BASE_PATH = /lfs
`)
- assert.NoError(t, err)
- assert.NoError(t, loadLFSFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadLFSFrom(cfg))
assert.EqualValues(t, "my_access_key", LFS.Storage.MinioConfig.AccessKeyID)
assert.EqualValues(t, "my_secret_key", LFS.Storage.MinioConfig.SecretAccessKey)
- assert.EqualValues(t, true, LFS.Storage.MinioConfig.UseSSL)
+ assert.True(t, true, LFS.Storage.MinioConfig.UseSSL)
assert.EqualValues(t, "/lfs", LFS.Storage.MinioConfig.BasePath)
cfg, err = NewConfigProviderFromData(`
@@ -458,10 +459,10 @@ MINIO_BASE_PATH = /prefix
[storage.lfs]
MINIO_BASE_PATH = /lfs
`)
- assert.NoError(t, err)
- assert.NoError(t, loadLFSFrom(cfg))
+ require.NoError(t, err)
+ require.NoError(t, loadLFSFrom(cfg))
assert.EqualValues(t, "my_access_key", LFS.Storage.MinioConfig.AccessKeyID)
assert.EqualValues(t, "my_secret_key", LFS.Storage.MinioConfig.SecretAccessKey)
- assert.EqualValues(t, true, LFS.Storage.MinioConfig.UseSSL)
+ assert.True(t, LFS.Storage.MinioConfig.UseSSL)
assert.EqualValues(t, "/lfs", LFS.Storage.MinioConfig.BasePath)
}
diff --git a/modules/sitemap/sitemap_test.go b/modules/sitemap/sitemap_test.go
index 1180463cd7..39a2178c09 100644
--- a/modules/sitemap/sitemap_test.go
+++ b/modules/sitemap/sitemap_test.go
@@ -11,6 +11,7 @@ import (
"time"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestNewSitemap(t *testing.T) {
@@ -82,7 +83,7 @@ func TestNewSitemap(t *testing.T) {
if tt.wantErr != "" {
assert.EqualError(t, err, tt.wantErr)
} else {
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equalf(t, tt.want, buf.String(), "NewSitemap()")
}
})
@@ -158,7 +159,7 @@ func TestNewSitemapIndex(t *testing.T) {
if tt.wantErr != "" {
assert.EqualError(t, err, tt.wantErr)
} else {
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equalf(t, tt.want, buf.String(), "NewSitemapIndex()")
}
})
diff --git a/modules/storage/helper_test.go b/modules/storage/helper_test.go
index f1f9791044..60a7c61289 100644
--- a/modules/storage/helper_test.go
+++ b/modules/storage/helper_test.go
@@ -8,6 +8,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func Test_discardStorage(t *testing.T) {
@@ -20,30 +21,30 @@ func Test_discardStorage(t *testing.T) {
{
got, err := tt.Open("path")
assert.Nil(t, got)
- assert.Error(t, err, string(tt))
+ require.Error(t, err, string(tt))
}
{
got, err := tt.Save("path", bytes.NewReader([]byte{0}), 1)
assert.Equal(t, int64(0), got)
- assert.Error(t, err, string(tt))
+ require.Error(t, err, string(tt))
}
{
got, err := tt.Stat("path")
assert.Nil(t, got)
- assert.Error(t, err, string(tt))
+ require.Error(t, err, string(tt))
}
{
err := tt.Delete("path")
- assert.Error(t, err, string(tt))
+ require.Error(t, err, string(tt))
}
{
got, err := tt.URL("path", "name")
assert.Nil(t, got)
- assert.Errorf(t, err, string(tt))
+ require.Errorf(t, err, string(tt))
}
{
err := tt.IterateObjects("", func(_ string, _ Object) error { return nil })
- assert.Error(t, err, string(tt))
+ require.Error(t, err, string(tt))
}
})
}
diff --git a/modules/storage/minio_test.go b/modules/storage/minio_test.go
index 3fe01825e9..9ce1dbc7b4 100644
--- a/modules/storage/minio_test.go
+++ b/modules/storage/minio_test.go
@@ -14,6 +14,7 @@ import (
"github.com/minio/minio-go/v7"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestMinioStorageIterator(t *testing.T) {
@@ -108,7 +109,7 @@ func TestS3StorageBadRequest(t *testing.T) {
}
}
_, err := NewStorage(setting.MinioStorageType, cfg)
- assert.ErrorContains(t, err, message)
+ require.ErrorContains(t, err, message)
}
func TestMinioCredentials(t *testing.T) {
@@ -128,7 +129,7 @@ func TestMinioCredentials(t *testing.T) {
creds := buildMinioCredentials(cfg, FakeEndpoint)
v, err := creds.Get()
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, ExpectedAccessKey, v.AccessKeyID)
assert.Equal(t, ExpectedSecretAccessKey, v.SecretAccessKey)
})
@@ -143,7 +144,7 @@ func TestMinioCredentials(t *testing.T) {
creds := buildMinioCredentials(cfg, FakeEndpoint)
v, err := creds.Get()
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, ExpectedAccessKey+"Minio", v.AccessKeyID)
assert.Equal(t, ExpectedSecretAccessKey+"Minio", v.SecretAccessKey)
})
@@ -155,7 +156,7 @@ func TestMinioCredentials(t *testing.T) {
creds := buildMinioCredentials(cfg, FakeEndpoint)
v, err := creds.Get()
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, ExpectedAccessKey+"AWS", v.AccessKeyID)
assert.Equal(t, ExpectedSecretAccessKey+"AWS", v.SecretAccessKey)
})
@@ -168,7 +169,7 @@ func TestMinioCredentials(t *testing.T) {
creds := buildMinioCredentials(cfg, FakeEndpoint)
v, err := creds.Get()
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, ExpectedAccessKey+"MinioFile", v.AccessKeyID)
assert.Equal(t, ExpectedSecretAccessKey+"MinioFile", v.SecretAccessKey)
})
@@ -181,7 +182,7 @@ func TestMinioCredentials(t *testing.T) {
creds := buildMinioCredentials(cfg, FakeEndpoint)
v, err := creds.Get()
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, ExpectedAccessKey+"AWSFile", v.AccessKeyID)
assert.Equal(t, ExpectedSecretAccessKey+"AWSFile", v.SecretAccessKey)
})
@@ -207,7 +208,7 @@ func TestMinioCredentials(t *testing.T) {
creds := buildMinioCredentials(cfg, server.URL)
v, err := creds.Get()
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, ExpectedAccessKey+"IAM", v.AccessKeyID)
assert.Equal(t, ExpectedSecretAccessKey+"IAM", v.SecretAccessKey)
})
diff --git a/modules/storage/storage_test.go b/modules/storage/storage_test.go
index 5e3e9c7dba..70bcd3155a 100644
--- a/modules/storage/storage_test.go
+++ b/modules/storage/storage_test.go
@@ -10,11 +10,12 @@ import (
"code.gitea.io/gitea/modules/setting"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func testStorageIterator(t *testing.T, typStr Type, cfg *setting.Storage) {
l, err := NewStorage(typStr, cfg)
- assert.NoError(t, err)
+ require.NoError(t, err)
testFiles := [][]string{
{"a/1.txt", "a1"},
@@ -27,7 +28,7 @@ func testStorageIterator(t *testing.T, typStr Type, cfg *setting.Storage) {
}
for _, f := range testFiles {
_, err = l.Save(f[0], bytes.NewBufferString(f[1]), -1)
- assert.NoError(t, err)
+ require.NoError(t, err)
}
expectedList := map[string][]string{
@@ -45,7 +46,7 @@ func testStorageIterator(t *testing.T, typStr Type, cfg *setting.Storage) {
count++
return nil
})
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Len(t, expected, count)
}
}
diff --git a/modules/structs/issue_test.go b/modules/structs/issue_test.go
index fa7a20db8b..2003e22e0a 100644
--- a/modules/structs/issue_test.go
+++ b/modules/structs/issue_test.go
@@ -7,6 +7,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
"gopkg.in/yaml.v3"
)
@@ -97,7 +98,7 @@ labels:
if tt.wantErr != "" {
assert.EqualError(t, err, tt.wantErr)
} else {
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, tt.want, tt.tmpl)
}
})
diff --git a/modules/system/appstate_test.go b/modules/system/appstate_test.go
index d4b9e167c2..2f44c7b845 100644
--- a/modules/system/appstate_test.go
+++ b/modules/system/appstate_test.go
@@ -10,6 +10,7 @@ import (
"code.gitea.io/gitea/models/unittest"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestMain(m *testing.M) {
@@ -36,30 +37,30 @@ func (*testItem2) Name() string {
}
func TestAppStateDB(t *testing.T) {
- assert.NoError(t, unittest.PrepareTestDatabase())
+ require.NoError(t, unittest.PrepareTestDatabase())
as := &DBStore{}
item1 := new(testItem1)
- assert.NoError(t, as.Get(db.DefaultContext, item1))
+ require.NoError(t, as.Get(db.DefaultContext, item1))
assert.Equal(t, "", item1.Val1)
assert.EqualValues(t, 0, item1.Val2)
item1 = new(testItem1)
item1.Val1 = "a"
item1.Val2 = 2
- assert.NoError(t, as.Set(db.DefaultContext, item1))
+ require.NoError(t, as.Set(db.DefaultContext, item1))
item2 := new(testItem2)
item2.K = "V"
- assert.NoError(t, as.Set(db.DefaultContext, item2))
+ require.NoError(t, as.Set(db.DefaultContext, item2))
item1 = new(testItem1)
- assert.NoError(t, as.Get(db.DefaultContext, item1))
+ require.NoError(t, as.Get(db.DefaultContext, item1))
assert.Equal(t, "a", item1.Val1)
assert.EqualValues(t, 2, item1.Val2)
item2 = new(testItem2)
- assert.NoError(t, as.Get(db.DefaultContext, item2))
+ require.NoError(t, as.Get(db.DefaultContext, item2))
assert.Equal(t, "V", item2.K)
}
diff --git a/modules/templates/eval/eval_test.go b/modules/templates/eval/eval_test.go
index c9e514b5eb..3e68203638 100644
--- a/modules/templates/eval/eval_test.go
+++ b/modules/templates/eval/eval_test.go
@@ -9,6 +9,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func tokens(s string) (a []any) {
@@ -20,15 +21,15 @@ func tokens(s string) (a []any) {
func TestEval(t *testing.T) {
n, err := Expr(0, "/", 0.0)
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.True(t, math.IsNaN(n.Value.(float64)))
_, err = Expr(nil)
- assert.ErrorContains(t, err, "unsupported token type")
+ require.ErrorContains(t, err, "unsupported token type")
_, err = Expr([]string{})
- assert.ErrorContains(t, err, "unsupported token type")
+ require.ErrorContains(t, err, "unsupported token type")
_, err = Expr(struct{}{})
- assert.ErrorContains(t, err, "unsupported token type")
+ require.ErrorContains(t, err, "unsupported token type")
cases := []struct {
expr string
@@ -69,9 +70,8 @@ func TestEval(t *testing.T) {
for _, c := range cases {
n, err := Expr(tokens(c.expr)...)
- if assert.NoError(t, err, "expr: %s", c.expr) {
- assert.Equal(t, c.want, n.Value)
- }
+ require.NoError(t, err, "expr: %s", c.expr)
+ assert.Equal(t, c.want, n.Value)
}
bads := []struct {
@@ -89,6 +89,6 @@ func TestEval(t *testing.T) {
}
for _, c := range bads {
_, err = Expr(tokens(c.expr)...)
- assert.ErrorContains(t, err, c.errMsg, "expr: %s", c.expr)
+ require.ErrorContains(t, err, c.errMsg, "expr: %s", c.expr)
}
}
diff --git a/modules/templates/htmlrenderer_test.go b/modules/templates/htmlrenderer_test.go
index 2a74b74c23..a1d3783a75 100644
--- a/modules/templates/htmlrenderer_test.go
+++ b/modules/templates/htmlrenderer_test.go
@@ -13,6 +13,7 @@ import (
"code.gitea.io/gitea/modules/assetfs"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestExtractErrorLine(t *testing.T) {
@@ -60,10 +61,10 @@ func TestHandleError(t *testing.T) {
test := func(s string, h func(error) string, expect string) {
err := os.WriteFile(dir+"/test.tmpl", []byte(s), 0o644)
- assert.NoError(t, err)
+ require.NoError(t, err)
tmpl := template.New("test")
_, err = tmpl.Parse(s)
- assert.Error(t, err)
+ require.Error(t, err)
msg := h(err)
assert.EqualValues(t, strings.TrimSpace(expect), strings.TrimSpace(msg))
}
@@ -93,7 +94,7 @@ template error: tmp:test:1 : unexpected "3" in operand
// no idea about how to trigger such strange error, so mock an error to test it
err := os.WriteFile(dir+"/test.tmpl", []byte("god knows XXX"), 0o644)
- assert.NoError(t, err)
+ require.NoError(t, err)
expectedMsg := `
template error: tmp:test:1 : expected end; found XXX
----------------------------------------------------------------------
diff --git a/modules/templates/scopedtmpl/scopedtmpl_test.go b/modules/templates/scopedtmpl/scopedtmpl_test.go
index 774b8c7d42..9bbd0c7c70 100644
--- a/modules/templates/scopedtmpl/scopedtmpl_test.go
+++ b/modules/templates/scopedtmpl/scopedtmpl_test.go
@@ -12,6 +12,7 @@ import (
"time"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestScopedTemplateSetFuncMap(t *testing.T) {
@@ -22,7 +23,7 @@ func TestScopedTemplateSetFuncMap(t *testing.T) {
}})
_, err := all.New("base").Parse(`{{CtxFunc "base"}}`)
- assert.NoError(t, err)
+ require.NoError(t, err)
_, err = all.New("test").Parse(strings.TrimSpace(`
{{template "base"}}
@@ -30,10 +31,10 @@ func TestScopedTemplateSetFuncMap(t *testing.T) {
{{template "base"}}
{{CtxFunc "test"}}
`))
- assert.NoError(t, err)
+ require.NoError(t, err)
ts, err := newScopedTemplateSet(all, "test")
- assert.NoError(t, err)
+ require.NoError(t, err)
// try to use different CtxFunc to render concurrently
@@ -57,12 +58,12 @@ func TestScopedTemplateSetFuncMap(t *testing.T) {
wg.Add(2)
go func() {
err := ts.newExecutor(funcMap1).Execute(&out1, nil)
- assert.NoError(t, err)
+ require.NoError(t, err)
wg.Done()
}()
go func() {
err := ts.newExecutor(funcMap2).Execute(&out2, nil)
- assert.NoError(t, err)
+ require.NoError(t, err)
wg.Done()
}()
wg.Wait()
@@ -73,17 +74,17 @@ func TestScopedTemplateSetFuncMap(t *testing.T) {
func TestScopedTemplateSetEscape(t *testing.T) {
all := template.New("")
_, err := all.New("base").Parse(`{{.text}}`)
- assert.NoError(t, err)
+ require.NoError(t, err)
_, err = all.New("test").Parse(`{{template "base" .}}`)
- assert.NoError(t, err)
+ require.NoError(t, err)
ts, err := newScopedTemplateSet(all, "test")
- assert.NoError(t, err)
+ require.NoError(t, err)
out := bytes.Buffer{}
err = ts.newExecutor(nil).Execute(&out, map[string]string{"param": "/", "text": "<"})
- assert.NoError(t, err)
+ require.NoError(t, err)
assert.Equal(t, `<`, out.String())
}
@@ -91,8 +92,8 @@ func TestScopedTemplateSetEscape(t *testing.T) {
func TestScopedTemplateSetUnsafe(t *testing.T) {
all := template.New("")
_, err := all.New("test").Parse(``)
- assert.NoError(t, err)
+ require.NoError(t, err)
_, err = newScopedTemplateSet(all, "test")
- assert.ErrorContains(t, err, "appears in an ambiguous context within a URL")
+ require.ErrorContains(t, err, "appears in an ambiguous context within a URL")
}
diff --git a/modules/templates/util_test.go b/modules/templates/util_test.go
index febaf7fa88..79aaba4a0e 100644
--- a/modules/templates/util_test.go
+++ b/modules/templates/util_test.go
@@ -10,6 +10,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestDict(t *testing.T) {
@@ -27,9 +28,8 @@ func TestDict(t *testing.T) {
for _, c := range cases {
got, err := dict(c.args...)
- if assert.NoError(t, err) {
- assert.EqualValues(t, c.want, got)
- }
+ require.NoError(t, err)
+ assert.EqualValues(t, c.want, got)
}
bads := []struct {
@@ -41,7 +41,7 @@ func TestDict(t *testing.T) {
}
for _, c := range bads {
_, err := dict(c.args...)
- assert.Error(t, err)
+ require.Error(t, err)
}
}
@@ -51,7 +51,7 @@ func TestUtils(t *testing.T) {
tmpl.Funcs(template.FuncMap{"SliceUtils": NewSliceUtils, "StringUtils": NewStringUtils})
template.Must(tmpl.Parse(code))
w := &strings.Builder{}
- assert.NoError(t, tmpl.Execute(w, data))
+ require.NoError(t, tmpl.Execute(w, data))
return w.String()
}
@@ -75,5 +75,5 @@ func TestUtils(t *testing.T) {
template.Must(tmpl.Parse("{{SliceUtils.Contains .Slice .Value}}"))
// error is like this: `template: test:1:12: executing "test" at .drone.yml
, /docs/**/*.txt
.
-settings.protect_unprotected_file_patterns=Vzory nechráněných souborů (oddělené středníkem „;“):
+settings.protect_unprotected_file_patterns=Vzory nechráněných souborů (oddělené středníkem „;“)
settings.protect_unprotected_file_patterns_desc=Nechráněné soubory, které je možné měnit přímo, pokud má uživatel právo zápisu, čímž se obejde omezení push. Více vzorů lze oddělit pomocí středníku („;“). Podívejte se na github.com/gobwas/glob dokumentaci pro syntaxi vzoru. Příklady: .drone.yml
, /docs/**/*.txt
.
settings.add_protected_branch=Zapnout ochranu
settings.delete_protected_branch=Vypnout ochranu
@@ -2643,7 +2678,7 @@ topic.done=Hotovo
topic.count_prompt=Nelze vybrat více než 25 témat
topic.format_prompt=Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a tečky („.“) a může být dlouhé až 35 znaků. Písmena musí být malá.
-find_file.go_to_file=Přejít na soubor
+find_file.go_to_file=Najít soubor
find_file.no_matching=Nebyl nalezen žádný odpovídající soubor
error.csv.too_large=Tento soubor nelze vykreslit, protože je příliš velký.
@@ -2783,6 +2818,31 @@ pulls.edit.already_changed = Nepodařilo se uložit změny v žádosti o slouče
comments.edit.already_changed = Nepodařilo se uložit změny v komentáři. Obsah byl nejspíše již změněn jiným uživatelem. Obnovte prosím stránku a zkuste jej znovu upravit, abyste zabránili přepsání změn uživatele
subscribe.issue.guest.tooltip = Přihlaste se pro odebírání tohoto problému.
subscribe.pull.guest.tooltip = Přihlaste se pro odebírání této žádosti o sloučení.
+issues.author.tooltip.pr = Tento uživatel je autorem této žádosti o sloučení.
+issues.author.tooltip.issue = Tento uživatel je autorem tohoto problému.
+activity.commit = Aktivita commitů
+milestones.filter_sort.name = Název
+release.type_attachment = Příloha
+release.type_external_asset = Externí příloha
+release.asset_external_url = Externí URL
+release.add_external_asset = Přidat externí přílohu
+activity.published_prerelease_label = Předběžné vydání
+activity.published_tag_label = Štítek
+settings.pull_mirror_sync_quota_exceeded = Kvóta překročena, nestahuji změny.
+settings.transfer_quota_exceeded = Nový majitel (%s) překročil kvótu. Repozitář nebyl převeden.
+release.asset_name = Název přílohy
+release.invalid_external_url = Neplatná externí URL: „%s“
+no_eol.text = Žádný EOL
+no_eol.tooltip = Tento soubor neobsahuje koncový znak ukončení řádku.
+pulls.cmd_instruction_merge_warning = Varování: Nastavení „Autodetekce ručního sloučení“ není u tohoto repozitáře povoleno, tuto žádost o sloučení budete muset poté označit jako ručně sloučenou.
+settings.protect_new_rule = Vytvořit nové pravidlo ochrany větví
+mirror_use_ssh.helper = Pokud zvolíte tuto možnost, Forgejo bude zrcadlit repozitář pomocí Gitu přes SSH a vytvoří pro vás pár klíčů. Musíte zajistit, aby byl vygenerovaný veřejný klíč autorizován k odeslání do cílového repozitáře. Při výběru této možnosti nelze použít autorizaci založenou na hesle.
+settings.mirror_settings.push_mirror.copy_public_key = Kopírovat veřejný klíč
+mirror_use_ssh.text = Použít ověřování SSH
+mirror_denied_combination = Nelze použít kombinaci ověřování pomocí veřejného klíče a hesla.
+mirror_public_key = Veřejný klíč SSH
+settings.mirror_settings.push_mirror.none_ssh = Žádné
+mirror_use_ssh.not_available = Ověřování SSH není dostupné.
[graphs]
component_loading_info = Tohle může chvíli trvat…
@@ -2861,18 +2921,18 @@ members.member=Člen
members.remove=Smazat
members.remove.detail=Odstranit %[1]s z %[2]s?
members.leave=Opustit
-members.leave.detail=Opustit %s?
+members.leave.detail=Opravdu chcete opustit organizaci „%s“?
members.invite_desc=Přidat nového člena do %s:
members.invite_now=Pozvat teď
teams.join=Připojit
teams.leave=Opustit
-teams.leave.detail=Opustit %s?
+teams.leave.detail=Opravdu chcete opustit tým „%s“?
teams.can_create_org_repo=Vytvořit repozitáře
teams.can_create_org_repo_helper=Členové mohou vytvářet nové repozitáře v organizaci. Tvůrce získá přístup správce do nového repozitáře.
teams.none_access=Bez přístupu
-teams.none_access_helper=Členové nemohou prohlížet ani dělat žádnou jinou akci pro tuto jednotku.
-teams.general_access=Obecný přístup
+teams.none_access_helper=Možnost „žádný přístup“ má vliv pouze na soukromé repozitáře.
+teams.general_access=Vlastní přístup
teams.general_access_helper=O oprávnění členů bude rozhodnuto níže uvedenou tabulkou oprávnění.
teams.read_access=Čtení
teams.read_access_helper=Členové mohou zobrazit a klonovat repozitáře týmu.
@@ -2894,7 +2954,7 @@ teams.delete_team_desc=Smazání týmu zruší přístup jeho členům. Pokračo
teams.delete_team_success=Tým byl odstraněn.
teams.read_permission_desc=Členství v tom týmu poskytuje právo čtení: členové mohou číst z a vytvářet klony repozitářů týmu.
teams.write_permission_desc=Členství v tom týmu poskytuje právo zápisu: členové mohou číst z a nahrávat do repozitářů týmu.
-teams.admin_permission_desc=Členství v tom týmu poskytuje právo správce: členové mohou číst z, nahrávat do a přidávat spolupracovníky do repozitářů týmu.
+teams.admin_permission_desc=Tento tým poskytuje přístup Správce: členové mohou číst, nahrávat a přidávat spolupracovníky do repozitářů týmu.
teams.create_repo_permission_desc=Navíc tento tým uděluje oprávnění vytvořit repozitář: členové mohou vytvářet nové repozitáře v organizaci.
teams.repositories=Repozitáře týmu
teams.search_repo_placeholder=Hledat repozitář…
@@ -3013,10 +3073,10 @@ dashboard.delete_old_actions.started=Spuštěno odstraňování všech starých
dashboard.update_checker=Kontrola aktualizací
dashboard.delete_old_system_notices=Odstranit všechna stará systémová upozornění z databáze
dashboard.gc_lfs=Úklid LFS meta objektů
-dashboard.stop_zombie_tasks=Zastavit zombie úlohy
-dashboard.stop_endless_tasks=Zastavit nekonečné úlohy
-dashboard.cancel_abandoned_jobs=Zrušit opuštěné úlohy
-dashboard.start_schedule_tasks=Spustit naplánované úlohy
+dashboard.stop_zombie_tasks=Zastavit akce zombie úloh
+dashboard.stop_endless_tasks=Zastavit akce nekonečných úloh
+dashboard.cancel_abandoned_jobs=Zrušit akce opuštěných úloh
+dashboard.start_schedule_tasks=Spustit akce naplánovaných úloh
dashboard.sync_branch.started=Synchronizace větví spuštěna
dashboard.sync_tag.started=Synchronizace značek spuštěna
dashboard.rebuild_issue_indexer=Znovu sestavit index úkolů
@@ -3047,10 +3107,10 @@ users.update_profile_success=Uživatelský účet byl aktualizován.
users.edit_account=Upravit uživatelský účet
users.max_repo_creation=Maximální počet repozitářů
users.max_repo_creation_desc=(Nastavte na -1 pro použití výchozího systémového limitu.)
-users.is_activated=Uživatelský účet je aktivován
-users.prohibit_login=Zakázat přihlášení
-users.is_admin=Je správce
-users.is_restricted=Je omezený
+users.is_activated=Aktivovaný účet
+users.prohibit_login=Pozastavený účet
+users.is_admin=Účet správce
+users.is_restricted=Omezený účet
users.allow_git_hook=Může vytvářet Git hooks
users.allow_git_hook_tooltip=Git hooks jsou spouštěny jako uživatel operačního systému, pod kterým je spuštěno Forgejo, a mají stejnou úroveň přístupu k hostiteli. Výsledkem je, že uživatelé s tímto speciálním oprávněním Git hooks mohou přistupovat ke všem repozitářům Forgejo a upravovat je, stejně jako databázi používanou systémem Forgejo. V důsledku toho mohou také získat oprávnění správce systému Forgejo.
users.allow_import_local=Může importovat lokální repozitáře
@@ -3100,7 +3160,7 @@ orgs.new_orga=Nová organizace
repos.repo_manage_panel=Správa repozitářů
repos.unadopted=Nepřijaté repozitáře
-repos.unadopted.no_more=Nebyly nalezeny žádné další nepřijaté repositáře
+repos.unadopted.no_more=Nebyly nalezeny žádné nepřijaté repositáře.
repos.owner=Vlastník
repos.name=Název
repos.private=Soukromý
@@ -3471,6 +3531,20 @@ config_settings = Nastavení
auths.tip.gitlab_new = Zaregistrujte si novou aplikaci na https://gitlab.com/-/profile/applications
auths.default_domain_name = Výchozí doménové jméno použité pro e-mailovou adresu
config.app_slogan = Slogan instance
+config.cache_test_succeeded = Test mezipaměti byl úspěšný, odpověď byla obdržena za %s.
+config.cache_test = Otestovat mezipaměť
+config.cache_test_failed = Nepodařilo se prověřit mezipaměť: %v.
+config.cache_test_slow = Test mezipaměti byl úspěšný, ale odpověď byla pomalá: %s.
+users.activated.description = Dokončení ověření e-mailu. Majitel neaktivovaného účtu se nebude moci přihlásit, dokud nedokončí ověření e-mailu.
+users.block.description = Zablokovat tomuto uživateli interakci s touto službou prostřednictvím jeho účtu a zakázat mu přihlášení.
+users.restricted.description = Povolit interakci pouze s repozitáři a organizacemi, kde je uživatel přidán jako spolupracovník. Toto zamezí přístup k veřejným repozitářům na této instanci.
+users.organization_creation.description = Povolit vytváření nových organizací.
+users.local_import.description = Povolit importování repozitářů z lokálního souborového systému serveru. Toto může být bezpečnostní problém.
+users.admin.description = Udělit tomuto uživateli plný přístup ke všem administrativním funkcem dostupným ve webovém rozhraní a v rozhraní API.
+emails.delete = Odstranit e-mail
+emails.delete_desc = Opravdu chcete odstranit tuto e-mailovou adresu?
+emails.deletion_success = E-mailová adresa byla odstraněna.
+emails.delete_primary_email_error = Nemůžete odstranit primární e-mail.
[action]
create_repo=vytvořil/a repozitář %s
@@ -3715,6 +3789,22 @@ rpm.repository.multiple_groups = Tento balíček je dostupný v několika skupin
owner.settings.cargo.rebuild.description = Opětovné sestavení může být užitečné, pokud není index synchronizován s uloženými balíčky Cargo.
owner.settings.cargo.rebuild.no_index = Opětovné vytvoření selhalo, nebyl inicializován žádný index.
npm.dependencies.bundle = Přidružené závislosti
+arch.pacman.helper.gpg = Přidat certifikát důvěryhodnosti do nástroje pacman:
+arch.pacman.repo.multi = %s má stejnou verzi v různých distribucích.
+arch.pacman.repo.multi.item = Nastavení pro %s
+arch.pacman.conf = Přidejte server s odpovídající distribucí a architekturou do /etc/pacman.conf
:
+arch.pacman.sync = Synchronizace balíčku nástrojem pacman:
+arch.version.properties = Vlastnosti verze
+arch.version.description = Popis
+arch.version.provides = Poskytuje
+arch.version.groups = Skupina
+arch.version.depends = Závislosti
+arch.version.optdepends = Volitelné závislosti
+arch.version.makedepends = Závislosti Make
+arch.version.checkdepends = Závislosti Check
+arch.version.conflicts = Konflikty
+arch.version.replaces = Nahrazuje
+arch.version.backup = Záloha
[secrets]
secrets=Tajné klíče
@@ -3828,11 +3918,20 @@ need_approval_desc = Potřebovat schválení pro spouštění workflowů pro ž
runners.runner_manage_panel = Správa runnerů
runs.no_job_without_needs = Workflow musí obsahovat alespoň jednu práci bez závislostí.
runs.no_job = Workflow musí obsahovat alespoň jednu úlohu
+workflow.dispatch.use_from = Použít workflow z
+workflow.dispatch.run = Spustit workflow
+workflow.dispatch.input_required = Vyžadovaná hodnota pro vstup „%s“.
+workflow.dispatch.invalid_input_type = Neplatný typ vstupu „%s“.
+workflow.dispatch.warn_input_limit = Zobrazování prvních %d vstupů.
+workflow.dispatch.trigger_found = Tento workflow má spouštěč událostí Alt
+ Klick/Enter
verwenden, um Labels auszuschließen`
@@ -1572,8 +1613,8 @@ issues.reopened_at=`hat dieses Issue %[2]s wiede
issues.commit_ref_at=`hat dieses Issue %[2]s aus einem Commit referenziert`
issues.ref_issue_from=`hat %[2]s auf dieses Issue verwiesen %[4]s`
issues.ref_pull_from=`hat %[2]s auf diesen Pull-Request verwiesen %[4]s`
-issues.ref_closing_from=`hat %[2]s auf einen Pull-Request %[4]s verwiesen, welcher das Issue schließen wird`
-issues.ref_reopening_from=`hat auf einen Pull-Request %[4]s verwiesen, welcher das Issue %[2]s erneut öffnen wird`
+issues.ref_closing_from=`hat %[2]s in einem Pull-Request %[4]s auf dieses Issue verwiesen, welcher es schließen wird`
+issues.ref_reopening_from=`hat %[2]s in einem Pull-Request %[4]s auf dieses Issue verwiesen, welcher es erneut öffnen wird`
issues.ref_closed_from=`hat dieses Issue %[4]s geschlossen %[2]s`
issues.ref_reopened_from=`hat dieses Issue %[4]s %[2]s wieder geöffnet`
issues.ref_from=`von %[1]s`
@@ -1640,7 +1681,7 @@ issues.unlock_comment=hat diese Diskussion %s entsperrt
issues.lock_confirm=Sperren
issues.unlock_confirm=Entsperren
issues.lock.notice_1=- Andere Nutzer können keine neuen Kommentare beisteuern.
-issues.lock.notice_2=- Du und andere Mitarbeiter mit Zugriff auf dieses Repository können weiterhin für andere sichtbare Kommentare hinterlassen.
+issues.lock.notice_2=– Du und andere Mitarbeiter mit Zugriff auf dieses Repository können weiterhin für andere sichtbare Kommentare hinterlassen.
issues.lock.notice_3=- Du kannst die Diskussion jederzeit wieder entsperren.
issues.unlock.notice_1=- Jeder wird wieder in der Lage sein, zu diesem Issue zu kommentieren.
issues.unlock.notice_2=- Du kannst den Issue jederzeit wieder sperren.
@@ -2019,7 +2060,7 @@ activity.unresolved_conv_label=Offen
activity.title.releases_1=%d Release
activity.title.releases_n=%d Releases
activity.title.releases_published_by=%s von %s veröffentlicht
-activity.published_release_label=Veröffentlicht
+activity.published_release_label=Release
activity.no_git_activity=In diesem Zeitraum hat es keine Commit-Aktivität gegeben.
activity.git_stats_exclude_merges=Von Merges abgesehen, gilt:
activity.git_stats_author_1=%d Autor
@@ -2367,37 +2408,37 @@ settings.protect_enable_merge_desc=Jeder mit Schreibzugriff darf die Pull-Reques
settings.protect_whitelist_committers=Positivlisten-eingeschränkter Push
settings.protect_whitelist_committers_desc=Jeder, der auf der Whitelist steht, darf in diesen Branch pushen (aber kein Force-Push).
settings.protect_whitelist_deploy_keys=Deploy-Key mit Schreibzugriff zum Pushen whitelisten.
-settings.protect_whitelist_users=Nutzer, die pushen dürfen:
+settings.protect_whitelist_users=Nutzer, die pushen dürfen
settings.protect_whitelist_search_users=Benutzer suchen …
-settings.protect_whitelist_teams=Teams, die pushen dürfen:
+settings.protect_whitelist_teams=Teams, die pushen dürfen
settings.protect_whitelist_search_teams=Teams suchen …
-settings.protect_merge_whitelist_committers=Merge-Whitelist aktivieren
-settings.protect_merge_whitelist_committers_desc=Erlaube Nutzern oder Teams auf der Whitelist, Pull-Requests in diesen Branch zusammenzuführen.
-settings.protect_merge_whitelist_users=Nutzer, die zusammenführen dürfen:
-settings.protect_merge_whitelist_teams=Teams, die zusammenführen dürfen:
+settings.protect_merge_whitelist_committers=Merge-Positivliste aktivieren
+settings.protect_merge_whitelist_committers_desc=Erlaube Nutzern oder Teams auf der Positivliste, Pull-Requests in diesen Branch zusammenzuführen.
+settings.protect_merge_whitelist_users=Nutzer, die zusammenführen dürfen
+settings.protect_merge_whitelist_teams=Teams, die zusammenführen dürfen
settings.protect_check_status_contexts=Statusprüfung aktivieren
-settings.protect_status_check_patterns=Statuscheck-Muster:
+settings.protect_status_check_patterns=Statuscheck-Muster
settings.protect_status_check_patterns_desc=Gib Muster ein, um festzulegen, welche Statusüberprüfungen durchgeführt werden müssen, bevor Branches in einen Branch, der dieser Regel entspricht, zusammenführen werden können. Jede Zeile gibt ein Muster an. Muster dürfen nicht leer sein.
settings.protect_check_status_contexts_desc=Vor dem Zusammenführen müssen Statusprüfungen bestanden werden. Wähle aus, welche Statusprüfungen erfolgreich durchgeführt werden müssen, bevor Branches in einen anderen zusammengeführt werden können, der dieser Regel entspricht. Wenn aktiviert, müssen Commits zuerst auf einen anderen Branch gepusht werden, dann nach bestandener Statusprüfung gemergt oder direkt auf einen Branch gepusht werden, der dieser Regel entspricht. Wenn kein Kontext ausgewählt ist, muss der letzte Commit unabhängig vom Kontext erfolgreich sein.
settings.protect_check_status_contexts_list=Statusprüfungen, die in der letzten Woche für dieses Repository gefunden wurden
settings.protect_status_check_matched=Übereinstimmung
settings.protect_invalid_status_check_pattern=Ungültiges Statusprüfungspattern: „%s“.
settings.protect_no_valid_status_check_patterns=Keine gültigen Statuscheck-Muster.
-settings.protect_required_approvals=Erforderliche Genehmigungen:
+settings.protect_required_approvals=Erforderliche Genehmigungen
settings.protect_required_approvals_desc=Erlaube das Zusammenführen des Pull-Requests nur mit genügend positiven Reviews.
-settings.protect_approvals_whitelist_enabled=Genehmigungen auf Benutzer oder Teams auf der Whitelist beschränken
-settings.protect_approvals_whitelist_enabled_desc=Nur Reviews von Benutzern auf der Whitelist oder Teams zählen zu den erforderlichen Genehmigungen. Existiert keine Whitelist, so zählen Reviews von jedem mit Schreibzugriff zu den erforderlichen Genehmigungen.
-settings.protect_approvals_whitelist_users=Reviewer auf der Whitelist:
-settings.protect_approvals_whitelist_teams=Für Reviews gewhitelistete Teams:
+settings.protect_approvals_whitelist_enabled=Genehmigungen auf Benutzer oder Teams auf der Positivliste beschränken
+settings.protect_approvals_whitelist_enabled_desc=Nur Reviews von Benutzern oder Teams auf der Positivliste zählen zu den erforderlichen Genehmigungen. Existiert keine Positivliste, so zählen Reviews von jedem mit Schreibzugriff zu den erforderlichen Genehmigungen.
+settings.protect_approvals_whitelist_users=Nutzer, die reviewen dürfen
+settings.protect_approvals_whitelist_teams=Teams, die reviewen dürfen
settings.dismiss_stale_approvals=Entferne alte Genehmigungen
settings.dismiss_stale_approvals_desc=Wenn neue Commits gepusht werden, die den Inhalt des Pull-Requests ändern, werden alte Genehmigungen entfernt.
settings.require_signed_commits=Signierte Commits erforderlich
settings.require_signed_commits_desc=Pushes auf diesen Branch ablehnen, wenn Commits nicht signiert oder nicht überprüfbar sind.
settings.protect_branch_name_pattern=Muster für geschützte Branchnamen
settings.protect_patterns=Muster
-settings.protect_protected_file_patterns=Geschützte Dateimuster (durch Semikolon „;“ getrennt):
+settings.protect_protected_file_patterns=Geschützte Dateimuster (durch Semikolon „;“ getrennt)
settings.protect_protected_file_patterns_desc=Geschützte Dateien dürfen nicht direkt geändert werden, auch wenn der Benutzer Rechte hat, Dateien in diesem Branch hinzuzufügen, zu bearbeiten oder zu löschen. Mehrere Muster können mit Semikolon („;“) getrennt werden. Siehe github.com/gobwas/glob Dokumentation zur Mustersyntax. Beispiele: .drone.yml
, /docs/**/*.txt
.
-settings.protect_unprotected_file_patterns=Ungeschützte Dateimuster (durch Semikolon „;“ getrennt):
+settings.protect_unprotected_file_patterns=Ungeschützte Dateimuster (durch Semikolon „;“ getrennt)
settings.protect_unprotected_file_patterns_desc=Ungeschützte Dateien, die direkt geändert werden dürfen, wenn der Benutzer Schreibzugriff hat, können die Push-Beschränkung umgehen. Mehrere Muster können mit Semikolon („;“) getrennt werden. Siehe github.com/gobwas/glob Dokumentation zur Mustersyntax. Beispiele: .drone.yml
, /docs/**/*.txt
.
settings.add_protected_branch=Schutz aktivieren
settings.delete_protected_branch=Schutz deaktivieren
@@ -2677,7 +2718,7 @@ commits.browse_further = Weiter browsen
pulls.nothing_to_compare_have_tag = Der gewählte Branch/Tag ist gleich.
pulls.status_checks_hide_all = Alle Prüfungen verbergen
pulls.status_checks_show_all = Alle Prüfungen anzeigen
-pulls.cmd_instruction_hint = `Anweisungen für die Kommandozeile betrachten.`
+pulls.cmd_instruction_hint = Anweisungen für die Kommandozeile betrachten
pulls.cmd_instruction_checkout_title = Auschecken
wiki.cancel = Abbrechen
settings.wiki_globally_editable = Allen erlauben, das Wiki zu bearbeiten
@@ -2742,7 +2783,7 @@ settings.sourcehut_builds.secrets_helper = Dem Job zugriff auf die Build-Geheimn
settings.web_hook_name_sourcehut_builds = SourceHut-Builds
settings.graphql_url = GraphQL-URL
settings.matrix.room_id_helper = Die Raum-ID kann über den Element-Webclient ermittelt werden: Raumeinstellungen > Erweitert > Interne Raum-ID. Beispielsweise %s.
-settings.sourcehut_builds.access_token_helper = Zugangstoken der die JOBS:RW-Freigabe hat. Generiere auf meta.sr.ht einen builds.sr.ht-Token oder einen builds.sr.ht-Token mit Zugriff auf die Secrets.
+settings.sourcehut_builds.access_token_helper = Zugangstoken, der die JOBS:RW-Freigabe hat. Generiere auf meta.sr.ht einen builds.sr.ht-Token oder einen builds.sr.ht-Token mit Zugriff auf die Secrets.
settings.matrix.access_token_helper = Es wird empfohlen, einen dedizierten Matrix-Account hierfür anzulegen. Der Zugangstoken kann in einem Incognito-Tab über den Element-Webclient geholt werden: Benutzermenü (oben links) > Alle Einstellungen > Hilfe & Über > Erweitert > Zugangstoken (direkt unter der Homeserver-URL). Schließe das Incognito-Tab dann (Abmelden würde den Token ungültig werden lassen).
release.hide_archive_links = Automatisch generierte Archive verstecken
release.hide_archive_links_helper = Verstecke automatisch generierte Quellcodearchive für diesen Release. Zum Beispiel, wenn du deine eigenen hochlädst.
@@ -2750,7 +2791,7 @@ settings.transfer.button = Besitz übertragen
settings.transfer.modal.title = Besitz übertragen
wiki.no_search_results = Keine Ergebnisse
wiki.search = Wiki durchsuchen
-n_release_one = %s freigegebn
+n_release_one = %s freigegeben
n_release_few = %s Veröffentlichungen
form.string_too_long = Die Zeichenkette ist länger als %d Zeichen.
settings.federation_settings = Föderationseinstellungen
@@ -2763,6 +2804,31 @@ issues.edit.already_changed = Die Änderungen an diesem Issue können nicht gesp
pulls.edit.already_changed = Die Änderungen an diesem Pull-Request können nicht gespeichert werden. Es scheint, als seien die Inhalte bereits durch einen anderen Benutzer verändert worden. Bitte die Seite neu laden und das Bearbeiten erneut versuchen, um deren Änderungen nicht zu überschreiben
subscribe.pull.guest.tooltip = Einloggen, um diesen Pull-Request zu abbonieren.
subscribe.issue.guest.tooltip = Einloggen, um dieses Issue zu abbonieren.
+issues.author.tooltip.pr = Dieser Benutzer ist der Autor dieses Pull-Requests.
+issues.author.tooltip.issue = Dieser Benutzer ist der Autor dieses Issues.
+activity.commit = Commit-Aktivität
+milestones.filter_sort.name = Name
+release.type_attachment = Anhang
+release.type_external_asset = Externes Asset
+release.asset_name = Asset-Name
+release.asset_external_url = Externe URL
+release.add_external_asset = Externes Asset hinzufügen
+release.invalid_external_url = Ungültige externe URL: „%s“
+activity.published_prerelease_label = Pre-Release
+activity.published_tag_label = Tag
+settings.pull_mirror_sync_quota_exceeded = Quota überschritten, Änderungen werden nicht gepullt.
+settings.transfer_quota_exceeded = Der neue Eigentümer (%s) hat die Quota überschritten. Das Repository wurde nicht übertragen.
+no_eol.text = Kein EOL
+no_eol.tooltip = Diese Datei enthält am Ende kein Zeilenende-Zeichen (EOL).
+pulls.cmd_instruction_merge_warning = Achtung: Die Einstellung „Autoerkennung von manuellen Zusammenführungen“ ist für dieses Repository nicht aktiviert. Du musst hinterher diesen Pull-Request als manuell zusammengeführt markieren.
+settings.protect_new_rule = Neue Branch-Schutzregel erstellen
+mirror_public_key = Öffentlicher SSH-Schlüssel
+mirror_use_ssh.text = SSH-Authentifizierung benutzen
+mirror_use_ssh.helper = Wenn du diese Option auswählst, spiegelt Forgejo das Repository mittels Git über SSH und erstellt ein Schlüsselpaar für dich. Du musst sicherstellen, dass der generierte öffentliche Schlüssel zum Pushen in das Zielrepository autorisiert ist. Wenn du diese Option wählst, kannst du die passwortbasierte Autorisierung nicht verwenden.
+mirror_denied_combination = Authentifizierung mittels öffentlichem Schlüssel und Passwort in Kombination ist nicht möglich.
+settings.mirror_settings.push_mirror.none_ssh = Nichts
+settings.mirror_settings.push_mirror.copy_public_key = Öffentlichen Schlüssel kopieren
+mirror_use_ssh.not_available = SSH-Authentifizierung ist nicht verfügbar.
[graphs]
@@ -2834,18 +2900,18 @@ members.member=Mitglied
members.remove=Entfernen
members.remove.detail=%[1]s aus %[2]s entfernen?
members.leave=Verlassen
-members.leave.detail=%s verlassen?
+members.leave.detail=Bist du dir sicher, dass du die Organisation „%s“ verlassen willst?
members.invite_desc=Neues Mitglied zu %s hinzufügen:
members.invite_now=Jetzt einladen
teams.join=Beitreten
teams.leave=Verlassen
-teams.leave.detail=%s verlassen?
+teams.leave.detail=Bist du dir sicher, dass du das Team „%s“ verlassen willst?
teams.can_create_org_repo=Repositorys erstellen
teams.can_create_org_repo_helper=Mitglieder können neue Repositorys in der Organisation erstellen. Der Ersteller erhält Administrator-Zugriff auf das neue Repository.
teams.none_access=Kein Zugriff
-teams.none_access_helper=Teammitglieder haben keinen Zugriff auf diese Einheit.
-teams.general_access=Allgemeiner Zugriff
+teams.none_access_helper=Die Option „Kein Zugriff“ hat nur eine Auswirkung auf private Repositorys.
+teams.general_access=Benutzerdefinierter Zugriff
teams.general_access_helper=Mitgliederberechtigungen werden durch folgende Berechtigungstabelle festgelegt.
teams.read_access=Lesen
teams.read_access_helper=Mitglieder können Teamrepositorys ansehen und klonen.
@@ -2867,7 +2933,7 @@ teams.delete_team_desc=Das Löschen eines Teams widerruft den Repository-Zugriff
teams.delete_team_success=Das Team wurde gelöscht.
teams.read_permission_desc=Dieses Team hat Lesezugriff: Mitglieder können Team-Repositorys einsehen und klonen.
teams.write_permission_desc=Dieses Team hat Schreibzugriff: Mitglieder können Team-Repositorys einsehen und darauf pushen.
-teams.admin_permission_desc=Dieses Team hat Adminzugriff: Mitglieder dieses Teams können Team-Repositorys ansehen, auf sie pushen und Mitarbeiter hinzufügen.
+teams.admin_permission_desc=Dieses Team hat Administratorzugriff: Mitglieder können von Team-Repositorys lesen, auf sie pushen und Mitarbeiter hinzufügen.
teams.create_repo_permission_desc=Zusätzlich erteilt dieses Team die Berechtigung Repository erstellen: Mitglieder können neue Repositorys in der Organisation erstellen.
teams.repositories=Team-Repositorys
teams.search_repo_placeholder=Repository durchsuchen …
@@ -2880,7 +2946,7 @@ teams.add_duplicate_users=Dieser Benutzer ist bereits ein Teammitglied.
teams.repos.none=Dieses Team hat Zugang zu keinem Repository.
teams.members.none=Keine Mitglieder in diesem Team.
teams.specific_repositories=Bestimmte Repositorys
-teams.specific_repositories_helper=Mitglieder haben nur Zugriff auf Repositorys, die explizit dem Team hinzugefügt wurden. Wenn Du diese Option wählst, werden Repositorys, die bereits mit Alle Repositorys hinzugefügt wurden, nicht automatisch entfernt.
+teams.specific_repositories_helper=Mitglieder haben nur Zugriff auf Repositorys, die explizit dem Team hinzugefügt wurden. Wenn du diese Option wählst, werden Repositorys, die bereits mit Alle Repositorys hinzugefügt wurden, nicht automatisch entfernt.
teams.all_repositories=Alle Repositorys
teams.all_repositories_helper=Team hat Zugriff auf alle Repositorys. Wenn dies ausgewählt wird, werden alle vorhandenen Repositorys zum Team hinzugefügt.
teams.all_repositories_read_permission_desc=Dieses Team gewährt Lese-Zugriff auf Repositorys: Mitglieder können Repositorys ansehen und klonen.
@@ -2948,7 +3014,7 @@ dashboard.update_migration_poster_id=Migration Poster-IDs updaten
dashboard.git_gc_repos=Garbage-Collection für alle Repositorys ausführen
dashboard.resync_all_sshkeys=Die Datei „.ssh/authorized_keys“ mit Forgejo-SSH-Schlüsseln aktualisieren.
dashboard.resync_all_sshprincipals=Aktualisiere die Datei „.ssh/authorized_principals“ mit Forgejo-SSH-Principals.
-dashboard.resync_all_hooks=Die „pre-receive“-, „update“- und „post-receive“-Hooks für alle Repositorys erneut synchronisieren.
+dashboard.resync_all_hooks=Die „pre-receive“-, „update“- und „post-receive“-Hooks für alle Repositorys erneut synchronisieren
dashboard.reinit_missing_repos=Alle Git-Repositorys neu einlesen, für die Einträge existieren
dashboard.sync_external_users=Externe Benutzerdaten synchronisieren
dashboard.cleanup_hook_task_table=Hook-Task-Tabelle bereinigen
@@ -2988,10 +3054,10 @@ dashboard.delete_old_actions.started=Löschen aller alten Aktivitäten aus der D
dashboard.update_checker=Update-Checker
dashboard.delete_old_system_notices=Alle alten Systemmeldungen aus der Datenbank löschen
dashboard.gc_lfs=Garbage-Collection für LFS Meta-Objekte ausführen
-dashboard.stop_zombie_tasks=Zombie-Aufgaben stoppen
-dashboard.stop_endless_tasks=Endlose Aufgaben stoppen
-dashboard.cancel_abandoned_jobs=Aufgegebene Jobs abbrechen
-dashboard.start_schedule_tasks=Terminierte Aufgaben starten
+dashboard.stop_zombie_tasks=Zombie-Actions-Aufgaben stoppen
+dashboard.stop_endless_tasks=Endlose Actions-Aufgaben stoppen
+dashboard.cancel_abandoned_jobs=Aufgegebene Actions-Jobs abbrechen
+dashboard.start_schedule_tasks=Terminierte Actions-Aufgaben starten
dashboard.sync_branch.started=Synchronisierung der Branches gestartet
dashboard.rebuild_issue_indexer=Issue-Indexer neu bauen
@@ -3021,10 +3087,10 @@ users.update_profile_success=Das Benutzerkonto wurde aktualisiert.
users.edit_account=Benutzerkonto bearbeiten
users.max_repo_creation=Maximale Anzahl an Repositorys
users.max_repo_creation_desc=(Gib -1 ein, um das globale Standardlimit zu verwenden.)
-users.is_activated=Account ist aktiviert
-users.prohibit_login=Anmelden deaktivieren
-users.is_admin=Ist Administrator
-users.is_restricted=Ist eingeschränkt
+users.is_activated=Aktivierter Account
+users.prohibit_login=Gesperrter Account
+users.is_admin=Administrator-Account
+users.is_restricted=Eingeschränkter Account
users.allow_git_hook=Kann Git-Hooks erstellen
users.allow_git_hook_tooltip=Git-Hooks werden mit denselben Benutzer-Rechten ausgeführt, mit denen Forgejo läuft, und haben die gleiche Ebene von Host-Zugriff. Dadurch können Benutzer mit diesen speziellen Git-Hook-Rechten auf alle Forgejo-Repositorys sowie auf die von Forgejo verwendete Datenbank zugreifen und diese ändern. Auch das Erhalten von Administratorrechten für Forgejo ist möglich.
users.allow_import_local=Kann lokale Repositorys importieren
@@ -3073,7 +3139,7 @@ orgs.new_orga=Neue Organisation
repos.repo_manage_panel=Repositorys verwalten
repos.unadopted=Nicht übernommene Repositorys
-repos.unadopted.no_more=Keine weiteren nicht übernommenen Repositorys gefunden
+repos.unadopted.no_more=Keine nicht übernommenen Repositorys gefunden.
repos.owner=Besitzer
repos.name=Name
repos.private=Privat
@@ -3434,6 +3500,20 @@ config_summary = Zusammenfassung
auths.tip.gitlab_new = Registriere eine neue Anwendung auf https://gitlab.com/-/profile/applications
auths.default_domain_name = Standarddomainname, der für die E-Mail-Adresse benutzt wird
config.app_slogan = Instanz-Slogan
+config.cache_test_failed = Konnte den Cache nicht untersuchen: %v.
+config.cache_test_succeeded = Cache-Test erfolgreich, eine Antwort erhalten in %s.
+config.cache_test = Cache testen
+config.cache_test_slow = Cache-Test erfolgreich, aber die Antwort ist langsam: %s.
+users.block.description = Interaktionen mit diesen Dienst für diesen Benutzer mit seinem Account blockierten und Einloggen verhindern.
+users.restricted.description = Nur Interaktionen mit den Repositorys und Organisationen erlauben, wo der Benutzer als Mitarbeiter hinzugefügt wurde. Dies verhindert Zugriff auf öffentliche Repositorys in dieser Instanz.
+users.local_import.description = Import von Repositorys aus dem lokalen Dateisystem des Servers erlauben. Dies kann ein Sicherheitsproblem sein.
+users.organization_creation.description = Erstellung neuer Organisationen erlauben.
+users.activated.description = Abschluss der E-Mail-Verifizierung. Der Besitzer eines nicht aktivierten Accounts wird nicht in der Lage sein, sich einzuloggen, bis die E-Mail-Verifikation abgeschlossen wurde.
+users.admin.description = Diesen Benutzer vollständigen Zugriff zu allen administrativen Features gewähren mittels der Web-UI und der API.
+emails.delete = E-Mail löschen
+emails.deletion_success = Die E-Mail-Adresse wurde gelöscht.
+emails.delete_primary_email_error = Du kannst die primäre E-Mail nicht löschen.
+emails.delete_desc = Bist du dir sicher, dass du diese E-Mail-Adresse löschen willst?
[action]
@@ -3516,7 +3596,7 @@ error.generate_hash=Es konnte kein Hash vom Commit generiert werden
error.no_committer_account=Es ist kein Account mit der E-Mail-Adresse des Committers verbunden
error.no_gpg_keys_found=Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
error.not_signed_commit=Kein signierter Commit
-error.failed_retrieval_gpg_keys=Fehler beim Abrufen eines Keys des Commiter-Kontos
+error.failed_retrieval_gpg_keys=Fehler beim Abrufen eines Schlüssels des Committer-Kontos
error.probable_bad_signature=WARNHINWEIS! Obwohl ein Schlüssel mit dieser ID in der Datenbank existiert, verifiziert er nicht diesen Commit! Dieser Commit ist VERDÄCHTIG.
error.probable_bad_default_signature=WARNHINWEIS! Obwohl der Standardschlüssel diese ID hat, verifiziert er nicht diesen Commit! Dieser Commit ist VERDÄCHTIG.
@@ -3550,7 +3630,7 @@ details.project_site=Projektwebseite
details.repository_site=Repository-Webseite
details.documentation_site=Dokumentationswebseite
details.license=Lizenz
-assets=Dateien
+assets=Assets
versions=Versionen
versions.view_all=Alle anzeigen
dependency.id=ID
@@ -3680,6 +3760,22 @@ rpm.repository.multiple_groups = Dieses Paket ist in mehreren Gruppen verfügbar
rpm.repository.architectures = Architekturen
owner.settings.cargo.rebuild.no_index = Kann nicht erneut erzeugen, es wurde kein Index initialisiert.
npm.dependencies.bundle = Gebündelte Abhängigkeiten
+arch.pacman.helper.gpg = Trust-Zertifikat für pacman hinzufügen:
+arch.pacman.repo.multi = %s hat die gleiche Version in verschiedenen Distributionen.
+arch.pacman.repo.multi.item = Konfiguration für %s
+arch.pacman.conf = Server mit verwandter Distribution und Architektur zu /etc/pacman.conf
hinzufügen:
+arch.pacman.sync = Paket mit pacman synchronisieren:
+arch.version.properties = Versionseigenschaften
+arch.version.description = Beschreibung
+arch.version.provides = Bietet
+arch.version.groups = Gruppe
+arch.version.depends = Hängt ab von
+arch.version.makedepends = Make-Abhängigkeit
+arch.version.checkdepends = Check-Abhängigkeit
+arch.version.conflicts = Konflikte
+arch.version.replaces = Ersetzt
+arch.version.backup = Backup
+arch.version.optdepends = Optionale Abhängigkeit
[secrets]
secrets=Secrets
@@ -3790,11 +3886,20 @@ variables.id_not_exist = Variable mit ID %d existiert nicht.
runs.workflow = Workflow
runs.no_job_without_needs = Der Workflow muss mindestens einen Job ohne Abhängigkeiten enthalten.
runs.no_job = Der Workflow muss mindestens einen Job enthalten
+workflow.dispatch.use_from = Workflow benutzen von
+workflow.dispatch.run = Workflow ausführen
+workflow.dispatch.input_required = Wert für Eingabe „%s“ erfordern.
+workflow.dispatch.invalid_input_type = Ungültiger Eingabetyp „%s“.
+workflow.dispatch.warn_input_limit = Es werden nur die ersten %d Eingaben angezeigt.
+workflow.dispatch.trigger_found = Dieser Workflow hat einen