@@ -14,6 +14,7 @@ import (
1414	"net/http/httptest" 
1515	neturl "net/url" 
1616	"strconv" 
17+ 	"strings" 
1718	"testing" 
1819	"time" 
1920
@@ -100,6 +101,7 @@ func TestPackageNuGet(t *testing.T) {
100101	packageVersion  :=  "1.0.3" 
101102	packageAuthors  :=  "KN4CK3R" 
102103	packageDescription  :=  "Gitea Test Package" 
104+ 	isPrerelease  :=  strings .Contains (packageVersion , "-" )
103105
104106	symbolFilename  :=  "test.pdb" 
105107	symbolID  :=  "d910bb6948bd4c6cb40155bcf52c3c94" 
@@ -112,11 +114,17 @@ func TestPackageNuGet(t *testing.T) {
112114	packageOwners  :=  "Package Owners" 
113115	packageProjectURL  :=  "https://gitea.io" 
114116	packageReleaseNotes  :=  "Package Release Notes" 
117+ 	summary  :=  "This is a test package." 
115118	packageTags  :=  "tag_1 tag_2 tag_3" 
116119	packageTitle  :=  "Package Title" 
117120	packageDevelopmentDependency  :=  true 
118121	packageRequireLicenseAcceptance  :=  true 
119122
123+ 	dependencyCount  :=  1 
124+ 	dependencyTargetFramework  :=  ".NETStandard2.0" 
125+ 	dependencyID  :=  "Microsoft.CSharp" 
126+ 	dependencyVersion  :=  "4.5.0" 
127+ 
120128	createNuspec  :=  func (id , version  string ) string  {
121129		return  `<?xml version="1.0" encoding="utf-8"?> 
122130		<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd"> 
@@ -133,12 +141,13 @@ func TestPackageNuGet(t *testing.T) {
133141				<projectUrl>`  +  packageProjectURL  +  `</projectUrl> 
134142				<releaseNotes>`  +  packageReleaseNotes  +  `</releaseNotes> 
135143				<requireLicenseAcceptance>true</requireLicenseAcceptance> 
144+ 				<summary>`  +  summary  +  `</summary> 
136145				<tags>`  +  packageTags  +  `</tags> 
137146				<title>`  +  packageTitle  +  `</title> 
138147				<version>`  +  version  +  `</version> 
139148				<dependencies> 
140- 					<group targetFramework=".NETStandard2.0 "> 
141- 						<dependency id="Microsoft.CSharp " version="4.5.0 " /> 
149+ 					<group targetFramework="`    +   dependencyTargetFramework   +   ` ">
150+ 						<dependency id="`    +   dependencyID   +   ` " version="`   +   dependencyVersion   +   ` " />
142151					</group> 
143152				</dependencies> 
144153			</metadata> 
@@ -428,7 +437,7 @@ AAAjQmxvYgAAAGm7ENm9SGxMtAFVvPUsPJTF6PbtAAAAAFcVogEJAAAAAQAAAA==`)
428437
429438					pb , err  :=  packages .GetBlobByID (db .DefaultContext , pf .BlobID )
430439					assert .NoError (t , err )
431- 					assert .Equal (t , int64 (610 ), pb .Size )
440+ 					assert .Equal (t , int64 (633 ), pb .Size )
432441				case  fmt .Sprintf ("%s.%s.snupkg" , packageName , packageVersion ):
433442					assert .False (t , pf .IsLead )
434443
@@ -440,7 +449,7 @@ AAAjQmxvYgAAAGm7ENm9SGxMtAFVvPUsPJTF6PbtAAAAAFcVogEJAAAAAQAAAA==`)
440449
441450					pb , err  :=  packages .GetBlobByID (db .DefaultContext , pf .BlobID )
442451					assert .NoError (t , err )
443- 					assert .Equal (t , int64 (996 ), pb .Size )
452+ 					assert .Equal (t , int64 (1043 ), pb .Size )
444453				case  symbolFilename :
445454					assert .False (t , pf .IsLead )
446455
@@ -747,17 +756,39 @@ AAAjQmxvYgAAAGm7ENm9SGxMtAFVvPUsPJTF6PbtAAAAAFcVogEJAAAAAQAAAA==`)
747756			assert .Equal (t , indexURL , result .RegistrationIndexURL )
748757			assert .Equal (t , 1 , result .Count )
749758			assert .Len (t , result .Pages , 1 )
750- 			assert .Equal (t , indexURL , result .Pages [0 ].RegistrationPageURL )
751- 			assert .Equal (t , packageVersion , result .Pages [0 ].Lower )
752- 			assert .Equal (t , packageVersion , result .Pages [0 ].Upper )
753- 			assert .Equal (t , 1 , result .Pages [0 ].Count )
754- 			assert .Len (t , result .Pages [0 ].Items , 1 )
755- 			assert .Equal (t , packageName , result .Pages [0 ].Items [0 ].CatalogEntry .ID )
756- 			assert .Equal (t , packageVersion , result .Pages [0 ].Items [0 ].CatalogEntry .Version )
757- 			assert .Equal (t , packageAuthors , result .Pages [0 ].Items [0 ].CatalogEntry .Authors )
758- 			assert .Equal (t , packageDescription , result .Pages [0 ].Items [0 ].CatalogEntry .Description )
759- 			assert .Equal (t , leafURL , result .Pages [0 ].Items [0 ].CatalogEntry .CatalogLeafURL )
760- 			assert .Equal (t , contentURL , result .Pages [0 ].Items [0 ].CatalogEntry .PackageContentURL )
759+ 
760+ 			page  :=  result .Pages [0 ]
761+ 			assert .Equal (t , indexURL , page .RegistrationPageURL )
762+ 			assert .Equal (t , packageVersion , page .Lower )
763+ 			assert .Equal (t , packageVersion , page .Upper )
764+ 			assert .Equal (t , 1 , page .Count )
765+ 			assert .Len (t , page .Items , 1 )
766+ 
767+ 			item  :=  page .Items [0 ]
768+ 			assert .Equal (t , packageName , item .CatalogEntry .ID )
769+ 			assert .Equal (t , packageVersion , item .CatalogEntry .Version )
770+ 			assert .Equal (t , packageAuthors , item .CatalogEntry .Authors )
771+ 			assert .Equal (t , packageDescription , item .CatalogEntry .Description )
772+ 			assert .Equal (t , leafURL , item .CatalogEntry .CatalogLeafURL )
773+ 			assert .Equal (t , contentURL , item .CatalogEntry .PackageContentURL )
774+ 			assert .Equal (t , packageIconURL , item .CatalogEntry .IconURL )
775+ 			assert .Equal (t , packageLanguage , item .CatalogEntry .Language )
776+ 			assert .Equal (t , packageLicenseURL , item .CatalogEntry .LicenseURL )
777+ 			assert .Equal (t , packageProjectURL , item .CatalogEntry .ProjectURL )
778+ 			assert .Equal (t , packageReleaseNotes , item .CatalogEntry .ReleaseNotes )
779+ 			assert .Equal (t , packageRequireLicenseAcceptance , item .CatalogEntry .RequireLicenseAcceptance )
780+ 			assert .Equal (t , packageTags , item .CatalogEntry .Tags )
781+ 			assert .Equal (t , summary , item .CatalogEntry .Summary )
782+ 			assert .Equal (t , isPrerelease , item .CatalogEntry .IsPrerelease )
783+ 			assert .Len (t , item .CatalogEntry .DependencyGroups , dependencyCount )
784+ 
785+ 			dependencyGroup  :=  item .CatalogEntry .DependencyGroups [0 ]
786+ 			assert .Equal (t , dependencyTargetFramework , dependencyGroup .TargetFramework )
787+ 			assert .Len (t , dependencyGroup .Dependencies , dependencyCount )
788+ 
789+ 			dependency  :=  dependencyGroup .Dependencies [0 ]
790+ 			assert .Equal (t , dependencyID , dependency .ID )
791+ 			assert .Equal (t , dependencyVersion , dependency .Range )
761792		})
762793
763794		t .Run ("RegistrationLeaf" , func (t  * testing.T ) {
@@ -789,7 +820,8 @@ AAAjQmxvYgAAAGm7ENm9SGxMtAFVvPUsPJTF6PbtAAAAAFcVogEJAAAAAQAAAA==`)
789820				assert .Equal (t , packageTags , result .Properties .Tags )
790821				assert .Equal (t , packageTitle , result .Properties .Title )
791822
792- 				assert .Equal (t , "Microsoft.CSharp:4.5.0:.NETStandard2.0" , result .Properties .Dependencies )
823+ 				packageVersion  :=  strings .Join ([]string {dependencyID , dependencyVersion , dependencyTargetFramework }, ":" )
824+ 				assert .Equal (t , packageVersion , result .Properties .Dependencies )
793825			})
794826
795827			t .Run ("v3" , func (t  * testing.T ) {
@@ -803,8 +835,30 @@ AAAjQmxvYgAAAGm7ENm9SGxMtAFVvPUsPJTF6PbtAAAAAFcVogEJAAAAAQAAAA==`)
803835				DecodeJSON (t , resp , & result )
804836
805837				assert .Equal (t , leafURL , result .RegistrationLeafURL )
806- 				assert .Equal (t , contentURL , result .PackageContentURL )
807838				assert .Equal (t , indexURL , result .RegistrationIndexURL )
839+ 				assert .Equal (t , packageAuthors , result .CatalogEntry .Authors )
840+ 				assert .Equal (t , packageCopyright , result .CatalogEntry .Copyright )
841+ 
842+ 				dependencyGroup  :=  result .CatalogEntry .DependencyGroups [0 ]
843+ 				assert .Equal (t , dependencyTargetFramework , dependencyGroup .TargetFramework )
844+ 				assert .Len (t , dependencyGroup .Dependencies , dependencyCount )
845+ 
846+ 				dependency  :=  dependencyGroup .Dependencies [0 ]
847+ 				assert .Equal (t , dependencyID , dependency .ID )
848+ 				assert .Equal (t , dependencyVersion , dependency .Range )
849+ 
850+ 				assert .Equal (t , packageDescription , result .CatalogEntry .Description )
851+ 				assert .Equal (t , packageID , result .CatalogEntry .ID )
852+ 				assert .Equal (t , packageIconURL , result .CatalogEntry .IconURL )
853+ 				assert .Equal (t , isPrerelease , result .CatalogEntry .IsPrerelease )
854+ 				assert .Equal (t , packageLanguage , result .CatalogEntry .Language )
855+ 				assert .Equal (t , packageLicenseURL , result .CatalogEntry .LicenseURL )
856+ 				assert .Equal (t , contentURL , result .PackageContentURL )
857+ 				assert .Equal (t , packageProjectURL , result .CatalogEntry .ProjectURL )
858+ 				assert .Equal (t , packageRequireLicenseAcceptance , result .CatalogEntry .RequireLicenseAcceptance )
859+ 				assert .Equal (t , summary , result .CatalogEntry .Summary )
860+ 				assert .Equal (t , packageTags , result .CatalogEntry .Tags )
861+ 				assert .Equal (t , packageVersion , result .CatalogEntry .Version )
808862			})
809863		})
810864	})
0 commit comments