@@ -13,16 +13,16 @@ import (
1313 "github.com/stretchr/testify/assert"
1414)
1515
16- const (
17- description = "Package Description"
18- author = "KN4CK3R"
19- homepage = "https://gitea.io/"
20- license = "MIT"
21- )
22-
2316func TestParsePackage (t * testing.T ) {
24- createPackage := func (name , version string ) io.Reader {
25- metadata := `{
17+ const (
18+ description = "Package Description"
19+ author = "KN4CK3R"
20+ homepage = "https://gitea.io/"
21+ license = "MIT"
22+ payload = "gitea test dummy payload" // a fake payload for test only
23+ )
24+ makeDefaultPackageMeta := func (name , version string ) string {
25+ return `{
2626 "name":"` + name + `",
2727 "vers":"` + version + `",
2828 "description":"` + description + `",
@@ -36,18 +36,19 @@ func TestParsePackage(t *testing.T) {
3636 "homepage":"` + homepage + `",
3737 "license":"` + license + `"
3838}`
39-
39+ }
40+ createPackage := func (metadata string ) io.Reader {
4041 var buf bytes.Buffer
4142 binary .Write (& buf , binary .LittleEndian , uint32 (len (metadata )))
4243 buf .WriteString (metadata )
43- binary .Write (& buf , binary .LittleEndian , uint32 (4 ))
44- buf .WriteString ("test" )
44+ binary .Write (& buf , binary .LittleEndian , uint32 (len ( payload ) ))
45+ buf .WriteString (payload )
4546 return & buf
4647 }
4748
4849 t .Run ("InvalidName" , func (t * testing.T ) {
4950 for _ , name := range []string {"" , "0test" , "-test" , "_test" , strings .Repeat ("a" , 65 )} {
50- data := createPackage (name , "1.0.0" )
51+ data := createPackage (makeDefaultPackageMeta ( name , "1.0.0" ) )
5152
5253 cp , err := ParsePackage (data )
5354 assert .Nil (t , cp )
@@ -57,7 +58,7 @@ func TestParsePackage(t *testing.T) {
5758
5859 t .Run ("InvalidVersion" , func (t * testing.T ) {
5960 for _ , version := range []string {"" , "1." , "-1.0" , "1.0.0/1" } {
60- data := createPackage ("test" , version )
61+ data := createPackage (makeDefaultPackageMeta ( "test" , version ) )
6162
6263 cp , err := ParsePackage (data )
6364 assert .Nil (t , cp )
@@ -66,7 +67,7 @@ func TestParsePackage(t *testing.T) {
6667 })
6768
6869 t .Run ("Valid" , func (t * testing.T ) {
69- data := createPackage ("test" , "1.0.0" )
70+ data := createPackage (makeDefaultPackageMeta ( "test" , "1.0.0" ) )
7071
7172 cp , err := ParsePackage (data )
7273 assert .NotNil (t , cp )
@@ -78,9 +79,34 @@ func TestParsePackage(t *testing.T) {
7879 assert .Equal (t , []string {author }, cp .Metadata .Authors )
7980 assert .Len (t , cp .Metadata .Dependencies , 1 )
8081 assert .Equal (t , "dep" , cp .Metadata .Dependencies [0 ].Name )
82+ assert .Nil (t , cp .Metadata .Dependencies [0 ].Package )
8183 assert .Equal (t , homepage , cp .Metadata .ProjectURL )
8284 assert .Equal (t , license , cp .Metadata .License )
8385 content , _ := io .ReadAll (cp .Content )
84- assert .Equal (t , "test" , string (content ))
86+ assert .Equal (t , payload , string (content ))
87+ })
88+
89+ t .Run ("Renamed" , func (t * testing.T ) {
90+ data := createPackage (`{
91+ "name":"test-pkg",
92+ "vers":"1.0",
93+ "description":"test-desc",
94+ "authors": ["test-author"],
95+ "deps":[
96+ {
97+ "name":"dep-renamed",
98+ "explicit_name_in_toml":"dep-explict",
99+ "version_req":"1.0"
100+ }
101+ ],
102+ "homepage":"https://gitea.io/",
103+ "license":"MIT"
104+ }` )
105+ cp , err := ParsePackage (data )
106+ assert .NoError (t , err )
107+ assert .Equal (t , "test-pkg" , cp .Name )
108+ assert .Equal (t , "https://gitea.io/" , cp .Metadata .ProjectURL )
109+ assert .Equal (t , "dep-explict" , cp .Metadata .Dependencies [0 ].Name )
110+ assert .Equal (t , "dep-renamed" , * cp .Metadata .Dependencies [0 ].Package )
85111 })
86112}
0 commit comments