Skip to content

Commit d192e8c

Browse files
committed
Add test
1 parent 5c1d4c4 commit d192e8c

File tree

1 file changed

+35
-1
lines changed

1 file changed

+35
-1
lines changed

tests/integration/api_packages_composer_test.go

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ import (
1313

1414
"code.gitea.io/gitea/models/db"
1515
"code.gitea.io/gitea/models/packages"
16+
packages_model "code.gitea.io/gitea/models/packages"
17+
repo_model "code.gitea.io/gitea/models/repo"
1618
"code.gitea.io/gitea/models/unittest"
1719
user_model "code.gitea.io/gitea/models/user"
1820
composer_module "code.gitea.io/gitea/modules/packages/composer"
@@ -215,8 +217,40 @@ func TestPackageComposer(t *testing.T) {
215217
assert.Equal(t, packageAuthor, pkgs[0].Authors[0].Name)
216218
assert.Equal(t, "zip", pkgs[0].Dist.Type)
217219
assert.Equal(t, "4f5fa464c3cb808a1df191dbf6cb75363f8b7072", pkgs[0].Dist.Checksum)
218-
// TODO: add a test for repository field after link package to a repository via API is implemented
219220
assert.Len(t, pkgs[0].Bin, 1)
220221
assert.Equal(t, packageBin, pkgs[0].Bin[0])
222+
223+
// Test package linked to repository
224+
repo1 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
225+
pvs, err := packages.GetVersionsByPackageType(db.DefaultContext, user.ID, packages.TypeComposer)
226+
assert.NoError(t, err)
227+
assert.Len(t, pvs, 1)
228+
229+
err = packages_model.SetRepositoryLink(db.DefaultContext, pvs[0].ID, repo1.ID)
230+
assert.NoError(t, err)
231+
232+
req = NewRequest(t, "GET", fmt.Sprintf("%s/p2/%s/%s.json", url, vendorName, projectName)).
233+
AddBasicAuth(user.Name)
234+
resp = MakeRequest(t, req, http.StatusOK)
235+
236+
result = composer.PackageMetadataResponse{}
237+
DecodeJSON(t, resp, &result)
238+
239+
assert.Contains(t, result.Packages, packageName)
240+
pkgs = result.Packages[packageName]
241+
assert.Len(t, pkgs, 1)
242+
assert.Equal(t, packageName, pkgs[0].Name)
243+
assert.Equal(t, packageVersion, pkgs[0].Version)
244+
assert.Equal(t, packageType, pkgs[0].Type)
245+
assert.Equal(t, packageDescription, pkgs[0].Description)
246+
assert.Len(t, pkgs[0].Authors, 1)
247+
assert.Equal(t, packageAuthor, pkgs[0].Authors[0].Name)
248+
assert.Equal(t, "zip", pkgs[0].Dist.Type)
249+
assert.Equal(t, "4f5fa464c3cb808a1df191dbf6cb75363f8b7072", pkgs[0].Dist.Checksum)
250+
assert.Len(t, pkgs[0].Bin, 1)
251+
assert.Equal(t, packageBin, pkgs[0].Bin[0])
252+
assert.Equal(t, repo1.HTMLURL(), pkgs[0].Source.URL)
253+
assert.Equal(t, "git", pkgs[0].Source.Type)
254+
assert.Equal(t, packageVersion, pkgs[0].Source.Reference)
221255
})
222256
}

0 commit comments

Comments
 (0)