test: consolidate Go tests (#39962)

Consolidate all Go tests. Coverage is identical to before. Go tests are
around 5% faster while being 7% smaller. No non-test code is touched.
This commit is contained in:
silverwind authored and GitHub committed 2026-10-24 13:48:19 +00:00
1 parent ce7364e215
commit 8abda62312
388 files changed
+18410 -29561

No files matched your search

+21 -38
View File
@@ -75,45 +75,28 @@ func TestCommentsUnmarshal(t *testing.T) {
}
func TestParsePackage(t *testing.T) {
t.Run("MissingComposerFile", func(t *testing.T) {
data := test.WriteZipArchive(map[string]string{"dummy.txt": ""}).Bytes()
for _, tc := range []struct {
name, filename, content string
expectedError error
}{
{"MissingComposerFile", "dummy.txt", "", ErrMissingComposerFile},
{"MissingComposerFileInRoot", "sub/sub/composer.json", "", ErrMissingComposerFile},
{"InvalidComposerFile", "composer.json", "", nil},
{"InvalidPackageName", "composer.json", "{}", ErrInvalidName},
{"InvalidPackageVersion", "composer.json", `{"name": "gitea/composer-package", "version": "1.a.3"}`, ErrInvalidVersion},
} {
t.Run(tc.name, func(t *testing.T) {
data := test.WriteZipArchive(map[string]string{tc.filename: tc.content}).Bytes()
cp, err := ParsePackage(bytes.NewReader(data))
assert.Nil(t, cp)
assert.ErrorIs(t, err, ErrMissingComposerFile)
})
t.Run("MissingComposerFileInRoot", func(t *testing.T) {
data := test.WriteZipArchive(map[string]string{"sub/sub/composer.json": ""}).Bytes()
cp, err := ParsePackage(bytes.NewReader(data))
assert.Nil(t, cp)
assert.ErrorIs(t, err, ErrMissingComposerFile)
})
t.Run("InvalidComposerFile", func(t *testing.T) {
data := test.WriteZipArchive(map[string]string{"composer.json": ""}).Bytes()
cp, err := ParsePackage(bytes.NewReader(data))
assert.Nil(t, cp)
assert.Error(t, err)
})
t.Run("InvalidPackageName", func(t *testing.T) {
data := test.WriteZipArchive(map[string]string{"composer.json": "{}"}).Bytes()
cp, err := ParsePackage(bytes.NewReader(data))
assert.Nil(t, cp)
assert.ErrorIs(t, err, ErrInvalidName)
})
t.Run("InvalidPackageVersion", func(t *testing.T) {
data := test.WriteZipArchive(map[string]string{"composer.json": `{"name": "gitea/composer-package", "version": "1.a.3"}`}).Bytes()
cp, err := ParsePackage(bytes.NewReader(data))
assert.Nil(t, cp)
assert.ErrorIs(t, err, ErrInvalidVersion)
})
cp, err := ParsePackage(bytes.NewReader(data))
assert.Nil(t, cp)
if tc.expectedError == nil {
assert.Error(t, err)
} else {
assert.ErrorIs(t, err, tc.expectedError)
}
})
}
t.Run("InvalidReadmePath", func(t *testing.T) {
data := test.WriteZipArchive(map[string]string{"composer.json": `{"name": "gitea/composer-package", "readme": "sub/README.md"}`}).Bytes()