@ -14,6 +14,7 @@ import (
@@ -14,6 +14,7 @@ import (
"net/http/httptest"
neturl "net/url"
"strconv"
"strings"
"testing"
"time"
@ -100,6 +101,7 @@ func TestPackageNuGet(t *testing.T) {
@@ -100,6 +101,7 @@ func TestPackageNuGet(t *testing.T) {
packageVersion := "1.0.3"
packageAuthors := "KN4CK3R"
packageDescription := "Gitea Test Package"
isPrerelease := strings . Contains ( packageVersion , "-" )
symbolFilename := "test.pdb"
symbolID := "d910bb6948bd4c6cb40155bcf52c3c94"
@ -112,11 +114,17 @@ func TestPackageNuGet(t *testing.T) {
@@ -112,11 +114,17 @@ func TestPackageNuGet(t *testing.T) {
packageOwners := "Package Owners"
packageProjectURL := "https://gitea.io"
packageReleaseNotes := "Package Release Notes"
summary := "This is a test package."
packageTags := "tag_1 tag_2 tag_3"
packageTitle := "Package Title"
packageDevelopmentDependency := true
packageRequireLicenseAcceptance := true
dependencyCount := 1
dependencyTargetFramework := ".NETStandard2.0"
dependencyID := "Microsoft.CSharp"
dependencyVersion := "4.5.0"
createNuspec := func ( id , version string ) string {
return ` < ? xml version = "1.0" encoding = "utf-8" ? >
< package xmlns = "http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd" >
@ -133,12 +141,13 @@ func TestPackageNuGet(t *testing.T) {
@@ -133,12 +141,13 @@ func TestPackageNuGet(t *testing.T) {
< projectUrl > ` + packageProjectURL + ` < / projectUrl >
< releaseNotes > ` + packageReleaseNotes + ` < / releaseNotes >
< requireLicenseAcceptance > true < / requireLicenseAcceptance >
< summary > ` + summary + ` < / summary >
< tags > ` + packageTags + ` < / tags >
< title > ` + packageTitle + ` < / title >
< version > ` + version + ` < / version >
< dependencies >
< group targetFramework = ".NETStandard2.0 " >
< dependency id = "Microsoft.CSharp" version = "4.5.0 " / >
< group targetFramework = "` + dependencyTargetFramework + ` " >
< dependency id = "` + dependencyID + `" version = "` + dependencyVersion + ` " / >
< / group >
< / dependencies >
< / metadata >
@ -428,7 +437,7 @@ AAAjQmxvYgAAAGm7ENm9SGxMtAFVvPUsPJTF6PbtAAAAAFcVogEJAAAAAQAAAA==`)
@@ -428,7 +437,7 @@ AAAjQmxvYgAAAGm7ENm9SGxMtAFVvPUsPJTF6PbtAAAAAFcVogEJAAAAAQAAAA==`)
pb , err := packages . GetBlobByID ( db . DefaultContext , pf . BlobID )
assert . NoError ( t , err )
assert . Equal ( t , int64 ( 610 ) , pb . Size )
assert . Equal ( t , int64 ( 633 ) , pb . Size )
case fmt . Sprintf ( "%s.%s.snupkg" , packageName , packageVersion ) :
assert . False ( t , pf . IsLead )
@ -440,7 +449,7 @@ AAAjQmxvYgAAAGm7ENm9SGxMtAFVvPUsPJTF6PbtAAAAAFcVogEJAAAAAQAAAA==`)
@@ -440,7 +449,7 @@ AAAjQmxvYgAAAGm7ENm9SGxMtAFVvPUsPJTF6PbtAAAAAFcVogEJAAAAAQAAAA==`)
pb , err := packages . GetBlobByID ( db . DefaultContext , pf . BlobID )
assert . NoError ( t , err )
assert . Equal ( t , int64 ( 996 ) , pb . Size )
assert . Equal ( t , int64 ( 1043 ) , pb . Size )
case symbolFilename :
assert . False ( t , pf . IsLead )
@ -747,17 +756,39 @@ AAAjQmxvYgAAAGm7ENm9SGxMtAFVvPUsPJTF6PbtAAAAAFcVogEJAAAAAQAAAA==`)
@@ -747,17 +756,39 @@ AAAjQmxvYgAAAGm7ENm9SGxMtAFVvPUsPJTF6PbtAAAAAFcVogEJAAAAAQAAAA==`)
assert . Equal ( t , indexURL , result . RegistrationIndexURL )
assert . Equal ( t , 1 , result . Count )
assert . Len ( t , result . Pages , 1 )
assert . Equal ( t , indexURL , result . Pages [ 0 ] . RegistrationPageURL )
assert . Equal ( t , packageVersion , result . Pages [ 0 ] . Lower )
assert . Equal ( t , packageVersion , result . Pages [ 0 ] . Upper )
assert . Equal ( t , 1 , result . Pages [ 0 ] . Count )
assert . Len ( t , result . Pages [ 0 ] . Items , 1 )
assert . Equal ( t , packageName , result . Pages [ 0 ] . Items [ 0 ] . CatalogEntry . ID )
assert . Equal ( t , packageVersion , result . Pages [ 0 ] . Items [ 0 ] . CatalogEntry . Version )
assert . Equal ( t , packageAuthors , result . Pages [ 0 ] . Items [ 0 ] . CatalogEntry . Authors )
assert . Equal ( t , packageDescription , result . Pages [ 0 ] . Items [ 0 ] . CatalogEntry . Description )
assert . Equal ( t , leafURL , result . Pages [ 0 ] . Items [ 0 ] . CatalogEntry . CatalogLeafURL )
assert . Equal ( t , contentURL , result . Pages [ 0 ] . Items [ 0 ] . CatalogEntry . PackageContentURL )
page := result . Pages [ 0 ]
assert . Equal ( t , indexURL , page . RegistrationPageURL )
assert . Equal ( t , packageVersion , page . Lower )
assert . Equal ( t , packageVersion , page . Upper )
assert . Equal ( t , 1 , page . Count )
assert . Len ( t , page . Items , 1 )
item := page . Items [ 0 ]
assert . Equal ( t , packageName , item . CatalogEntry . ID )
assert . Equal ( t , packageVersion , item . CatalogEntry . Version )
assert . Equal ( t , packageAuthors , item . CatalogEntry . Authors )
assert . Equal ( t , packageDescription , item . CatalogEntry . Description )
assert . Equal ( t , leafURL , item . CatalogEntry . CatalogLeafURL )
assert . Equal ( t , contentURL , item . CatalogEntry . PackageContentURL )
assert . Equal ( t , packageIconURL , item . CatalogEntry . IconURL )
assert . Equal ( t , packageLanguage , item . CatalogEntry . Language )
assert . Equal ( t , packageLicenseURL , item . CatalogEntry . LicenseURL )
assert . Equal ( t , packageProjectURL , item . CatalogEntry . ProjectURL )
assert . Equal ( t , packageReleaseNotes , item . CatalogEntry . ReleaseNotes )
assert . Equal ( t , packageRequireLicenseAcceptance , item . CatalogEntry . RequireLicenseAcceptance )
assert . Equal ( t , packageTags , item . CatalogEntry . Tags )
assert . Equal ( t , summary , item . CatalogEntry . Summary )
assert . Equal ( t , isPrerelease , item . CatalogEntry . IsPrerelease )
assert . Len ( t , item . CatalogEntry . DependencyGroups , dependencyCount )
dependencyGroup := item . CatalogEntry . DependencyGroups [ 0 ]
assert . Equal ( t , dependencyTargetFramework , dependencyGroup . TargetFramework )
assert . Len ( t , dependencyGroup . Dependencies , dependencyCount )
dependency := dependencyGroup . Dependencies [ 0 ]
assert . Equal ( t , dependencyID , dependency . ID )
assert . Equal ( t , dependencyVersion , dependency . Range )
} )
t . Run ( "RegistrationLeaf" , func ( t * testing . T ) {
@ -789,7 +820,8 @@ AAAjQmxvYgAAAGm7ENm9SGxMtAFVvPUsPJTF6PbtAAAAAFcVogEJAAAAAQAAAA==`)
@@ -789,7 +820,8 @@ AAAjQmxvYgAAAGm7ENm9SGxMtAFVvPUsPJTF6PbtAAAAAFcVogEJAAAAAQAAAA==`)
assert . Equal ( t , packageTags , result . Properties . Tags )
assert . Equal ( t , packageTitle , result . Properties . Title )
assert . Equal ( t , "Microsoft.CSharp:4.5.0:.NETStandard2.0" , result . Properties . Dependencies )
packageVersion := strings . Join ( [ ] string { dependencyID , dependencyVersion , dependencyTargetFramework } , ":" )
assert . Equal ( t , packageVersion , result . Properties . Dependencies )
} )
t . Run ( "v3" , func ( t * testing . T ) {
@ -803,8 +835,30 @@ AAAjQmxvYgAAAGm7ENm9SGxMtAFVvPUsPJTF6PbtAAAAAFcVogEJAAAAAQAAAA==`)
@@ -803,8 +835,30 @@ AAAjQmxvYgAAAGm7ENm9SGxMtAFVvPUsPJTF6PbtAAAAAFcVogEJAAAAAQAAAA==`)
DecodeJSON ( t , resp , & result )
assert . Equal ( t , leafURL , result . RegistrationLeafURL )
assert . Equal ( t , contentURL , result . PackageContentURL )
assert . Equal ( t , indexURL , result . RegistrationIndexURL )
assert . Equal ( t , packageAuthors , result . CatalogEntry . Authors )
assert . Equal ( t , packageCopyright , result . CatalogEntry . Copyright )
dependencyGroup := result . CatalogEntry . DependencyGroups [ 0 ]
assert . Equal ( t , dependencyTargetFramework , dependencyGroup . TargetFramework )
assert . Len ( t , dependencyGroup . Dependencies , dependencyCount )
dependency := dependencyGroup . Dependencies [ 0 ]
assert . Equal ( t , dependencyID , dependency . ID )
assert . Equal ( t , dependencyVersion , dependency . Range )
assert . Equal ( t , packageDescription , result . CatalogEntry . Description )
assert . Equal ( t , packageID , result . CatalogEntry . ID )
assert . Equal ( t , packageIconURL , result . CatalogEntry . IconURL )
assert . Equal ( t , isPrerelease , result . CatalogEntry . IsPrerelease )
assert . Equal ( t , packageLanguage , result . CatalogEntry . Language )
assert . Equal ( t , packageLicenseURL , result . CatalogEntry . LicenseURL )
assert . Equal ( t , contentURL , result . PackageContentURL )
assert . Equal ( t , packageProjectURL , result . CatalogEntry . ProjectURL )
assert . Equal ( t , packageRequireLicenseAcceptance , result . CatalogEntry . RequireLicenseAcceptance )
assert . Equal ( t , summary , result . CatalogEntry . Summary )
assert . Equal ( t , packageTags , result . CatalogEntry . Tags )
assert . Equal ( t , packageVersion , result . CatalogEntry . Version )
} )
} )
} )