Skip to content

Commit 70cabcf

Browse files
committed
Updated NuGet unit tests to test for the additional values present in the API requests.
1 parent 71f2ed2 commit 70cabcf

File tree

1 file changed

+71
-17
lines changed

1 file changed

+71
-17
lines changed

tests/integration/api_packages_nuget_test.go

Lines changed: 71 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)