Skip to content

Commit baf374a

Browse files
KN4CK3Rlafrikstechknowlogick
authored
Allow multiple metadata files for Maven packages (#20674)
* Allow file overwrite for meta files. * Added tests. * lint Co-authored-by: Lauris BH <[email protected]> Co-authored-by: techknowlogick <[email protected]>
1 parent d890f0d commit baf374a

File tree

2 files changed

+20
-7
lines changed

2 files changed

+20
-7
lines changed

integrations/api_packages_maven_test.go

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ func TestPackageMaven(t *testing.T) {
4242
defer PrintCurrentTest(t)()
4343

4444
putFile(t, fmt.Sprintf("/%s/%s", packageVersion, filename), "test", http.StatusCreated)
45+
putFile(t, fmt.Sprintf("/%s/%s", packageVersion, filename), "test", http.StatusBadRequest)
4546
putFile(t, "/maven-metadata.xml", "test", http.StatusOK)
4647

4748
pvs, err := packages.GetVersionsByPackageType(db.DefaultContext, user.ID, packages.TypeMaven)
@@ -135,12 +136,14 @@ func TestPackageMaven(t *testing.T) {
135136
pfs, err := packages.GetFilesByVersionID(db.DefaultContext, pvs[0].ID)
136137
assert.NoError(t, err)
137138
assert.Len(t, pfs, 2)
138-
i := 0
139-
if strings.HasSuffix(pfs[1].Name, ".pom") {
140-
i = 1
139+
for _, pf := range pfs {
140+
if strings.HasSuffix(pf.Name, ".pom") {
141+
assert.Equal(t, filename+".pom", pf.Name)
142+
assert.True(t, pf.IsLead)
143+
} else {
144+
assert.False(t, pf.IsLead)
145+
}
141146
}
142-
assert.Equal(t, filename+".pom", pfs[i].Name)
143-
assert.True(t, pfs[i].IsLead)
144147
})
145148

146149
t.Run("DownloadPOM", func(t *testing.T) {
@@ -202,4 +205,13 @@ func TestPackageMaven(t *testing.T) {
202205
assert.Equal(t, checksum, resp.Body.String())
203206
}
204207
})
208+
209+
t.Run("UploadSnapshot", func(t *testing.T) {
210+
snapshotVersion := packageVersion + "-SNAPSHOT"
211+
212+
putFile(t, fmt.Sprintf("/%s/%s", snapshotVersion, filename), "test", http.StatusCreated)
213+
putFile(t, "/maven-metadata.xml", "test", http.StatusOK)
214+
putFile(t, fmt.Sprintf("/%s/maven-metadata.xml", snapshotVersion), "test", http.StatusCreated)
215+
putFile(t, fmt.Sprintf("/%s/maven-metadata.xml", snapshotVersion), "test-overwrite", http.StatusCreated)
216+
})
205217
}

routers/api/packages/maven/maven.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -266,8 +266,9 @@ func UploadPackageFile(ctx *context.Context) {
266266
PackageFileInfo: packages_service.PackageFileInfo{
267267
Filename: params.Filename,
268268
},
269-
Data: buf,
270-
IsLead: false,
269+
Data: buf,
270+
IsLead: false,
271+
OverwriteExisting: params.IsMeta,
271272
}
272273

273274
// If it's the package pom file extract the metadata

0 commit comments

Comments
 (0)