code.gitea.io/gitea@v1.19.3/modules/packages/maven/metadata_test.go (about) 1 // Copyright 2021 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package maven 5 6 import ( 7 "strings" 8 "testing" 9 10 "github.com/stretchr/testify/assert" 11 ) 12 13 const ( 14 groupID = "org.gitea" 15 artifactID = "my-project" 16 version = "1.0.1" 17 name = "My Gitea Project" 18 description = "Package Description" 19 projectURL = "https://gitea.io" 20 license = "MIT" 21 dependencyGroupID = "org.gitea.core" 22 dependencyArtifactID = "git" 23 dependencyVersion = "5.0.0" 24 ) 25 26 const pomContent = `<?xml version="1.0"?> 27 <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 28 <groupId>` + groupID + `</groupId> 29 <artifactId>` + artifactID + `</artifactId> 30 <version>` + version + `</version> 31 <name>` + name + `</name> 32 <description>` + description + `</description> 33 <url>` + projectURL + `</url> 34 <licenses> 35 <license> 36 <name>` + license + `</name> 37 </license> 38 </licenses> 39 <dependencies> 40 <dependency> 41 <groupId>` + dependencyGroupID + `</groupId> 42 <artifactId>` + dependencyArtifactID + `</artifactId> 43 <version>` + dependencyVersion + `</version> 44 </dependency> 45 </dependencies> 46 </project>` 47 48 func TestParsePackageMetaData(t *testing.T) { 49 t.Run("InvalidFile", func(t *testing.T) { 50 m, err := ParsePackageMetaData(strings.NewReader("")) 51 assert.Nil(t, m) 52 assert.Error(t, err) 53 }) 54 55 t.Run("Valid", func(t *testing.T) { 56 m, err := ParsePackageMetaData(strings.NewReader(pomContent)) 57 assert.NoError(t, err) 58 assert.NotNil(t, m) 59 60 assert.Equal(t, groupID, m.GroupID) 61 assert.Equal(t, artifactID, m.ArtifactID) 62 assert.Equal(t, name, m.Name) 63 assert.Equal(t, description, m.Description) 64 assert.Equal(t, projectURL, m.ProjectURL) 65 assert.Len(t, m.Licenses, 1) 66 assert.Equal(t, license, m.Licenses[0]) 67 assert.Len(t, m.Dependencies, 1) 68 assert.Equal(t, dependencyGroupID, m.Dependencies[0].GroupID) 69 assert.Equal(t, dependencyArtifactID, m.Dependencies[0].ArtifactID) 70 assert.Equal(t, dependencyVersion, m.Dependencies[0].Version) 71 }) 72 }