From d403c7a6b77fff6bffb04502f812790b12ac1f06 Mon Sep 17 00:00:00 2001 From: TenSt Date: Wed, 8 Jul 2026 17:13:01 +0200 Subject: [PATCH 1/2] HMS-10986: update metrics method to include versions --- pkg/tangy/maven.go | 19 +++++++++++++------ pkg/tangy/maven_test.go | 1 + pkg/tangy/python.go | 10 +++++++--- pkg/tangy/python_test.go | 1 + 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/pkg/tangy/maven.go b/pkg/tangy/maven.go index ee78bac..c433170 100644 --- a/pkg/tangy/maven.go +++ b/pkg/tangy/maven.go @@ -55,6 +55,7 @@ type MavenBuildListResponse struct { type MavenRepositoryMetrics struct { PackageCount int `json:"package_count"` BuildCount int `json:"build_count"` + VersionCount int `json:"version_count"` } type mavenArtifactQueryResult struct { @@ -409,8 +410,8 @@ func (t *tangyImpl) MavenBuildList(ctx context.Context, repositoryHref, groupID, }, nil } -// MavenRepositoryMetrics returns package and build counts for the latest version of a repository. -// Packages are distinct group_id/artifact_id pairs; builds are .pom artifacts. +// MavenRepositoryMetrics returns package, build, and version counts for the latest version of a repository. +// Packages are distinct group_id/artifact_id pairs from .pom artifacts; builds and versions are counted from .jar artifacts. func (t *tangyImpl) MavenRepositoryMetrics(ctx context.Context, repositoryHref string) (MavenRepositoryMetrics, error) { if repositoryHref == "" { return MavenRepositoryMetrics{}, nil @@ -444,19 +445,25 @@ func (t *tangyImpl) MavenRepositoryMetrics(ctx context.Context, repositoryHref s } pomFilter := ` AND rp.filename LIKE '%.pom'` - artifactFrom := ` + jarFilter := ` AND rp.filename LIKE '%.jar'` + pomFrom := ` FROM maven_mavenartifact rp ` + innerUnion + pomFilter + jarFrom := ` + FROM maven_mavenartifact rp + ` + innerUnion + jarFilter metricsQuery := ` SELECT (SELECT COUNT(DISTINCT (rp.group_id, rp.artifact_id)) - ` + artifactFrom + `) AS package_count, + ` + pomFrom + `) AS package_count, (SELECT COUNT(*) - ` + artifactFrom + `) AS build_count` + ` + jarFrom + `) AS build_count, + (SELECT COUNT(DISTINCT (rp.group_id, rp.artifact_id, rp.version)) + ` + jarFrom + `) AS version_count` var metrics MavenRepositoryMetrics - err = conn.QueryRow(ctx, metricsQuery, args).Scan(&metrics.PackageCount, &metrics.BuildCount) + err = conn.QueryRow(ctx, metricsQuery, args).Scan(&metrics.PackageCount, &metrics.BuildCount, &metrics.VersionCount) if err != nil { return MavenRepositoryMetrics{}, err } diff --git a/pkg/tangy/maven_test.go b/pkg/tangy/maven_test.go index 5b6c690..40853bc 100644 --- a/pkg/tangy/maven_test.go +++ b/pkg/tangy/maven_test.go @@ -156,6 +156,7 @@ func TestMockTangyMavenRepositoryMetrics(t *testing.T) { expected := MavenRepositoryMetrics{ PackageCount: 1, BuildCount: 1, + VersionCount: 1, } mockTangy.On("MavenRepositoryMetrics", ctx, repoHref).Return(expected, nil) diff --git a/pkg/tangy/python.go b/pkg/tangy/python.go index 6877764..2ff2d42 100644 --- a/pkg/tangy/python.go +++ b/pkg/tangy/python.go @@ -53,6 +53,7 @@ type PythonBuildListResponse struct { type PythonRepositoryMetrics struct { PackageCount int `json:"package_count"` BuildCount int `json:"build_count"` + VersionCount int `json:"version_count"` } type PythonDistributionListItem struct { @@ -520,7 +521,8 @@ func (t *tangyImpl) PythonBuildList(ctx context.Context, repositoryHref, nameNor }, nil } -// PythonRepositoryMetrics returns package and build counts for the latest version of a repository. +// PythonRepositoryMetrics returns package, build, and version counts for the latest version of a repository. +// Build count equals version count (distinct name_normalized + version pairs). func (t *tangyImpl) PythonRepositoryMetrics(ctx context.Context, repositoryHref string) (PythonRepositoryMetrics, error) { if repositoryHref == "" { return PythonRepositoryMetrics{}, nil @@ -566,14 +568,16 @@ func (t *tangyImpl) PythonRepositoryMetrics(ctx context.Context, repositoryHref SELECT 1 ` + contentFrom + ` GROUP BY rp.name_normalized, rp.version - ) builds) AS build_count` + ) versions) AS version_count` var metrics PythonRepositoryMetrics - err = conn.QueryRow(ctx, metricsQuery, args).Scan(&metrics.PackageCount, &metrics.BuildCount) + err = conn.QueryRow(ctx, metricsQuery, args).Scan(&metrics.PackageCount, &metrics.VersionCount) if err != nil { return PythonRepositoryMetrics{}, err } + metrics.BuildCount = metrics.VersionCount + return metrics, nil } diff --git a/pkg/tangy/python_test.go b/pkg/tangy/python_test.go index 7c66425..d334546 100644 --- a/pkg/tangy/python_test.go +++ b/pkg/tangy/python_test.go @@ -393,6 +393,7 @@ func TestMockTangyPythonRepositoryMetrics(t *testing.T) { expected := PythonRepositoryMetrics{ PackageCount: 10, BuildCount: 25, + VersionCount: 25, } mockTangy.On("PythonRepositoryMetrics", ctx, repoHref).Return(expected, nil) From acc22a95bcc5c2735298f660bc81cd6644efcc18 Mon Sep 17 00:00:00 2001 From: TenSt Date: Wed, 8 Jul 2026 17:13:25 +0200 Subject: [PATCH 2/2] HMS-10986: update integration tests --- .../foo/bar/1.2.3/foo.bar.1.2.3.pom | 7 + .../bar/1.2.3/foo.bar.1.2.3.rhlw-00001.jar | Bin 0 -> 212 bytes .../bar/1.2.3/foo.bar.1.2.3.rhlw-00002.jar | Bin 0 -> 212 bytes .../foo/bar/2.0.1/foo.bar.2.0.1.pom | 7 + .../bar/2.0.1/foo.bar.2.0.1.rhlw-00001.jar | Bin 0 -> 212 bytes .../junit/junit/4.13.2/junit-4.13.2.pom | 633 ------------------ internal/test/integration/maven_test.go | 67 +- internal/test/integration/python_test.go | 22 +- 8 files changed, 73 insertions(+), 663 deletions(-) create mode 100644 compose_files/pulp/assets/maven-fixture/foo/bar/1.2.3/foo.bar.1.2.3.pom create mode 100644 compose_files/pulp/assets/maven-fixture/foo/bar/1.2.3/foo.bar.1.2.3.rhlw-00001.jar create mode 100644 compose_files/pulp/assets/maven-fixture/foo/bar/1.2.3/foo.bar.1.2.3.rhlw-00002.jar create mode 100644 compose_files/pulp/assets/maven-fixture/foo/bar/2.0.1/foo.bar.2.0.1.pom create mode 100644 compose_files/pulp/assets/maven-fixture/foo/bar/2.0.1/foo.bar.2.0.1.rhlw-00001.jar delete mode 100644 compose_files/pulp/assets/maven-fixture/junit/junit/4.13.2/junit-4.13.2.pom diff --git a/compose_files/pulp/assets/maven-fixture/foo/bar/1.2.3/foo.bar.1.2.3.pom b/compose_files/pulp/assets/maven-fixture/foo/bar/1.2.3/foo.bar.1.2.3.pom new file mode 100644 index 0000000..3745968 --- /dev/null +++ b/compose_files/pulp/assets/maven-fixture/foo/bar/1.2.3/foo.bar.1.2.3.pom @@ -0,0 +1,7 @@ + + + 4.0.0 + foo + bar + 1.2.3 + diff --git a/compose_files/pulp/assets/maven-fixture/foo/bar/1.2.3/foo.bar.1.2.3.rhlw-00001.jar b/compose_files/pulp/assets/maven-fixture/foo/bar/1.2.3/foo.bar.1.2.3.rhlw-00001.jar new file mode 100644 index 0000000000000000000000000000000000000000..e979a547be906e85eff6b0ace6fac4d384236731 GIT binary patch literal 212 zcmWIWW@h1H0D;1e7co`$qZGt|Y!DV + + 4.0.0 + foo + bar + 2.0.1 + diff --git a/compose_files/pulp/assets/maven-fixture/foo/bar/2.0.1/foo.bar.2.0.1.rhlw-00001.jar b/compose_files/pulp/assets/maven-fixture/foo/bar/2.0.1/foo.bar.2.0.1.rhlw-00001.jar new file mode 100644 index 0000000000000000000000000000000000000000..e979a547be906e85eff6b0ace6fac4d384236731 GIT binary patch literal 212 zcmWIWW@h1H0D;1e7co`$qZGt|Y!DV - - 4.0.0 - - junit - junit - 4.13.2 - - JUnit - JUnit is a unit testing framework for Java, created by Erich Gamma and Kent Beck. - http://junit.org - 2002 - - JUnit - http://www.junit.org - - - - Eclipse Public License 1.0 - http://www.eclipse.org/legal/epl-v10.html - repo - - - - - - dsaff - David Saff - david@saff.net - - - kcooney - Kevin Cooney - kcooney@google.com - - - stefanbirkner - Stefan Birkner - mail@stefan-birkner.de - - - marcphilipp - Marc Philipp - mail@marcphilipp.de - - - - - JUnit contributors - JUnit - team@junit.org - https://github.com/junit-team/junit4/graphs/contributors - - developers - - - - - - 3.0.4 - - - - scm:git:git://github.com/junit-team/junit4.git - scm:git:git@github.com:junit-team/junit4.git - https://github.com/junit-team/junit4 - r4.13.2 - - - github - https://github.com/junit-team/junit4/issues - - - github - https://github.com/junit-team/junit4/actions - - - https://github.com/junit-team/junit4/wiki/Download-and-Install - - junit-snapshot-repo - Nexus Snapshot Repository - https://oss.sonatype.org/content/repositories/snapshots/ - - - junit-releases-repo - Nexus Release Repository - https://oss.sonatype.org/service/local/staging/deploy/maven2/ - - - junit.github.io - gitsite:git@github.com/junit-team/junit4.git - - - - - 1.5 - 2.19.1 - 1.3 - 1.4 - 2.6 - 2.10.3 - ISO-8859-1 - - 67893CC4 - - - - - org.hamcrest - hamcrest-core - ${hamcrestVersion} - - - - org.hamcrest - hamcrest-library - ${hamcrestVersion} - test - - - - - - - ${project.basedir}/src/main/resources - - - ${project.basedir} - - LICENSE-junit.txt - - - - - - - - maven-enforcer-plugin - ${enforcerPluginVersion} - - - enforce-versions - initialize - - enforce - - - true - - - - Current version of Maven ${maven.version} required to build the project - should be ${project.prerequisites.maven}, or higher! - - [${project.prerequisites.maven},) - - - Current JDK version ${java.version} should be ${jdkVersion}, or higher! - - ${jdkVersion} - - - Best Practice is to never define repositories in pom.xml (use a repository - manager instead). - - - - No Snapshots Dependencies Allowed! - - - - - - - - - com.google.code.maven-replacer-plugin - replacer - 1.5.3 - - - process-sources - - replace - - - - - false - ${project.build.sourceDirectory}/junit/runner/Version.java.template - ${project.build.sourceDirectory}/junit/runner/Version.java - false - @version@ - ${project.version} - - - - - maven-compiler-plugin - 3.3 - - ${project.build.sourceEncoding} - ${jdkVersion} - ${jdkVersion} - ${jdkVersion} - ${jdkVersion} - 1.5 - true - true - true - true - - -Xlint:unchecked - - 128m - - - - org.codehaus.mojo - animal-sniffer-maven-plugin - 1.14 - - - signature-check - test - - check - - - - org.codehaus.mojo.signature - java15 - 1.0 - - - - - - - - maven-surefire-plugin - ${surefireVersion} - - org/junit/tests/AllTests.java - true - false - - - - org.apache.maven.surefire - surefire-junit47 - ${surefireVersion} - - - - - - maven-source-plugin - 2.4 - - - - maven-javadoc-plugin - ${javadocPluginVersion} - - ${basedir}/src/main/javadoc/stylesheet.css - protected - false - false - false - true - true - true - JUnit API - UTF-8 - en - ${jdkVersion} - - - api_${jdkVersion} - http://docs.oracle.com/javase/${jdkVersion}.0/docs/api/ - - - *.internal.* - true - 32m - 128m - true - true - - org.hamcrest:hamcrest-core:* - - - - - maven-release-plugin - 2.5.2 - - forked-path - false - -Pgenerate-docs,junit-release ${arguments} - r@{project.version} - - - - maven-site-plugin - 3.4 - - - com.github.stephenc.wagon - wagon-gitsite - 0.4.1 - - - org.apache.maven.doxia - doxia-module-markdown - 1.5 - - - - - maven-jar-plugin - ${jarPluginVersion} - - - false - - true - - - junit - - - - - - maven-clean-plugin - 2.6.1 - - - maven-deploy-plugin - 2.8.2 - - - maven-install-plugin - 2.5.2 - - - maven-resources-plugin - 2.7 - - - - - - - - maven-project-info-reports-plugin - 2.8 - - false - - - - - - index - dependency-info - modules - license - project-team - scm - issue-tracking - mailing-list - dependency-management - dependencies - dependency-convergence - cim - distribution-management - - - - - - maven-javadoc-plugin - ${javadocPluginVersion} - - javadoc/latest - ${basedir}/src/main/javadoc/stylesheet.css - protected - false - false - false - true - true - true - JUnit API - UTF-8 - en - ${jdkVersion} - - - api_${jdkVersion} - http://docs.oracle.com/javase/${jdkVersion}.0/docs/api/ - - - junit.*,*.internal.* - true - 32m - 128m - true - true - - org.hamcrest:hamcrest-core:* - - - - - - javadoc - - - - - - - - - - junit-release - - - - - - maven-gpg-plugin - 1.6 - - - gpg-sign - verify - - sign - - - - - - - - - generate-docs - - - - - maven-source-plugin - - - attach-sources - prepare-package - - jar-no-fork - - - - - - maven-javadoc-plugin - - - attach-javadoc - package - - jar - - - - - - - - - restrict-doclint - - - [1.8,) - - - - - maven-compiler-plugin - - - -Xlint:unchecked - -Xdoclint:accessibility,reference,syntax - - - - - maven-javadoc-plugin - - -Xdoclint:accessibility -Xdoclint:reference - - - - - - - - maven-javadoc-plugin - - -Xdoclint:accessibility -Xdoclint:reference - - - - - - - java9 - - [1.9,12) - - - - 1.6 - - - - - maven-javadoc-plugin - - 1.6 - - - - - - - - maven-javadoc-plugin - - 1.6 - - - - - - - java12 - - [12,) - - - - 1.7 - 3.0.0-M3 - 3.2.0 - 3.2.0 - - - - - maven-javadoc-plugin - - 1.7 - false - - - - maven-compiler-plugin - - - -Xdoclint:none - - - - - - - - - maven-javadoc-plugin - - 1.7 - false - - - - - - - diff --git a/internal/test/integration/maven_test.go b/internal/test/integration/maven_test.go index cd0830e..99dd24a 100644 --- a/internal/test/integration/maven_test.go +++ b/internal/test/integration/maven_test.go @@ -16,16 +16,24 @@ import ( ) const ( - testMavenRepoName = "junit-fixture" - testMavenDistributionBasePath = "junit-fixture" + testMavenRepoName = "foo-fixture" + testMavenDistributionBasePath = "foo-fixture" testMavenRemoteURL = "http://maven_fixture/" testMavenContentOrigin = "http://localhost:8088" - testMavenGroupID = "junit" - testMavenArtifactID = "junit" - testMavenVersion = "4.13.2" - testMavenPomPath = "junit/junit/4.13.2/junit-4.13.2.pom" + testMavenGroupID = "foo" + testMavenArtifactID = "bar" + testMavenVersion123 = "1.2.3" + testMavenVersion201 = "2.0.1" ) +var testMavenArtifactPaths = []string{ + "foo/bar/1.2.3/foo.bar.1.2.3.pom", + "foo/bar/1.2.3/foo.bar.1.2.3.rhlw-00001.jar", + "foo/bar/1.2.3/foo.bar.1.2.3.rhlw-00002.jar", + "foo/bar/2.0.1/foo.bar.2.0.1.pom", + "foo/bar/2.0.1/foo.bar.2.0.1.rhlw-00001.jar", +} + type MavenSuite struct { suite.Suite client *zestwrapper.MavenZest @@ -46,8 +54,10 @@ func (m *MavenSuite) createTestRepository(t *testing.T) { ) require.NoError(t, err) - err = m.client.FetchArtifact(testMavenContentOrigin, m.domainName, testMavenDistributionBasePath, testMavenPomPath) - require.NoError(t, err) + for _, artifactPath := range testMavenArtifactPaths { + err = m.client.FetchArtifact(testMavenContentOrigin, m.domainName, testMavenDistributionBasePath, artifactPath) + require.NoError(t, err) + } addTask, err := m.client.AddCachedContent(repoHref, remoteHref) require.NoError(t, err) @@ -95,21 +105,21 @@ func (m *MavenSuite) TestMavenPackageList() { pkg := response.Results[0] assert.Equal(m.T(), testMavenGroupID, pkg.GroupID) assert.Equal(m.T(), testMavenArtifactID, pkg.ArtifactID) - assert.Contains(m.T(), pkg.Versions, testMavenVersion) + assert.Contains(m.T(), pkg.Versions, testMavenVersion123) + assert.Contains(m.T(), pkg.Versions, testMavenVersion201) require.NotEmpty(m.T(), pkg.LatestReleases) - foundVersion := false + foundVersions := make(map[string]bool) for _, latest := range pkg.LatestReleases { - if latest.Version == testMavenVersion { - foundVersion = true - assert.NotEmpty(m.T(), latest.CreatedAt) - } + foundVersions[latest.Version] = true + assert.NotEmpty(m.T(), latest.CreatedAt) } - assert.True(m.T(), foundVersion) + assert.True(m.T(), foundVersions[testMavenVersion123]) + assert.True(m.T(), foundVersions[testMavenVersion201]) } func (m *MavenSuite) TestMavenPackageListSearchFilter() { - response, err := m.tangy.MavenPackageList(context.Background(), m.repositoryHref, tangy.MavenPackageListFilters{Search: "junit"}, tangy.PageOptions{ + response, err := m.tangy.MavenPackageList(context.Background(), m.repositoryHref, tangy.MavenPackageListFilters{Search: "foo"}, tangy.PageOptions{ Offset: 0, Limit: 10, }) @@ -159,7 +169,7 @@ func (m *MavenSuite) TestMavenBuildList() { m.repositoryHref, testMavenGroupID, testMavenArtifactID, - testMavenVersion, + testMavenVersion123, tangy.PageOptions{Offset: 0, Limit: 10}, ) require.NoError(m.T(), err) @@ -170,7 +180,7 @@ func (m *MavenSuite) TestMavenBuildList() { build := response.Results[0] assert.Equal(m.T(), testMavenGroupID, build.GroupID) assert.Equal(m.T(), testMavenArtifactID, build.ArtifactID) - assert.Equal(m.T(), testMavenVersion, build.Version) + assert.Equal(m.T(), testMavenVersion123, build.Version) assert.True(m.T(), strings.HasSuffix(build.Filename, ".pom"), build.Filename) assert.NotEmpty(m.T(), build.CreatedAt) } @@ -181,7 +191,7 @@ func (m *MavenSuite) TestMavenBuildListPagination() { m.repositoryHref, testMavenGroupID, testMavenArtifactID, - testMavenVersion, + testMavenVersion123, tangy.PageOptions{Offset: 0, Limit: 1}, ) require.NoError(m.T(), err) @@ -193,7 +203,7 @@ func (m *MavenSuite) TestMavenBuildListPagination() { m.repositoryHref, testMavenGroupID, testMavenArtifactID, - testMavenVersion, + testMavenVersion123, tangy.PageOptions{Offset: 1, Limit: 10}, ) require.NoError(m.T(), err) @@ -202,7 +212,7 @@ func (m *MavenSuite) TestMavenBuildListPagination() { } func (m *MavenSuite) TestMavenBuildListEmptyHref() { - response, err := m.tangy.MavenBuildList(context.Background(), "", testMavenGroupID, testMavenArtifactID, testMavenVersion, tangy.PageOptions{Limit: 10}) + response, err := m.tangy.MavenBuildList(context.Background(), "", testMavenGroupID, testMavenArtifactID, testMavenVersion123, tangy.PageOptions{Limit: 10}) require.NoError(m.T(), err) assert.Empty(m.T(), response.Results) assert.Zero(m.T(), response.Total) @@ -219,12 +229,11 @@ func (m *MavenSuite) TestMavenBuildListOptionalFilters() { ) require.NoError(m.T(), err) require.NotEmpty(m.T(), response.Results) - assert.Equal(m.T(), 1, response.Total) + assert.Equal(m.T(), 2, response.Total) build := response.Results[0] assert.Equal(m.T(), testMavenGroupID, build.GroupID) assert.Equal(m.T(), testMavenArtifactID, build.ArtifactID) - assert.Equal(m.T(), testMavenVersion, build.Version) filtered, err := m.tangy.MavenBuildList( context.Background(), @@ -235,8 +244,8 @@ func (m *MavenSuite) TestMavenBuildListOptionalFilters() { tangy.PageOptions{Offset: 0, Limit: 10}, ) require.NoError(m.T(), err) - require.Len(m.T(), filtered.Results, 1) - assert.Equal(m.T(), 1, filtered.Total) + require.Len(m.T(), filtered.Results, 2) + assert.Equal(m.T(), 2, filtered.Total) filtered, err = m.tangy.MavenBuildList( context.Background(), @@ -247,15 +256,16 @@ func (m *MavenSuite) TestMavenBuildListOptionalFilters() { tangy.PageOptions{Offset: 0, Limit: 10}, ) require.NoError(m.T(), err) - require.Len(m.T(), filtered.Results, 1) - assert.Equal(m.T(), 1, filtered.Total) + require.Len(m.T(), filtered.Results, 2) + assert.Equal(m.T(), 2, filtered.Total) } func (m *MavenSuite) TestMavenRepositoryMetrics() { metrics, err := m.tangy.MavenRepositoryMetrics(context.Background(), m.repositoryHref) require.NoError(m.T(), err) assert.Equal(m.T(), 1, metrics.PackageCount) - assert.Equal(m.T(), 1, metrics.BuildCount) + assert.Equal(m.T(), 3, metrics.BuildCount) + assert.Equal(m.T(), 2, metrics.VersionCount) } func (m *MavenSuite) TestMavenRepositoryMetricsEmptyHref() { @@ -263,4 +273,5 @@ func (m *MavenSuite) TestMavenRepositoryMetricsEmptyHref() { require.NoError(m.T(), err) assert.Zero(m.T(), metrics.PackageCount) assert.Zero(m.T(), metrics.BuildCount) + assert.Zero(m.T(), metrics.VersionCount) } diff --git a/internal/test/integration/python_test.go b/internal/test/integration/python_test.go index 576d17c..f6d8aa4 100644 --- a/internal/test/integration/python_test.go +++ b/internal/test/integration/python_test.go @@ -17,6 +17,7 @@ import ( const ( testPythonRepoName = "shelf-reader-fixture" testPythonMultiVersionRepoName = "idna-multi-version-fixture" + testPythonMetricsRepoName = "idna-metrics-fixture" testPythonMultiVersionPackage = "idna" testPythonMultiVersionKeepCount = int64(2) testPythonRepoURL = "https://pypi.org/" @@ -320,10 +321,26 @@ func (p *PythonSuite) TestPythonBuildList() { } func (p *PythonSuite) TestPythonRepositoryMetrics() { - metrics, err := p.tangy.PythonRepositoryMetrics(context.Background(), p.repositoryHref) + repoHref, remoteHref, err := p.client.CreateRepository( + p.domainName, + testPythonMetricsRepoName, + testPythonRepoURL, + []string{testPythonMultiVersionPackage}, + testPythonMultiVersionKeepCount, + ) + require.NoError(p.T(), err) + + syncTask, err := p.client.SyncPythonRepository(repoHref, remoteHref) + require.NoError(p.T(), err) + + _, err = p.client.PollTask(syncTask) + require.NoError(p.T(), err) + + metrics, err := p.tangy.PythonRepositoryMetrics(context.Background(), repoHref) require.NoError(p.T(), err) assert.Equal(p.T(), 1, metrics.PackageCount) - assert.Equal(p.T(), 1, metrics.BuildCount) + assert.Equal(p.T(), 2, metrics.BuildCount) + assert.Equal(p.T(), 2, metrics.VersionCount) } func (p *PythonSuite) TestPythonRepositoryMetricsEmptyHref() { @@ -331,6 +348,7 @@ func (p *PythonSuite) TestPythonRepositoryMetricsEmptyHref() { require.NoError(p.T(), err) assert.Zero(p.T(), metrics.PackageCount) assert.Zero(p.T(), metrics.BuildCount) + assert.Zero(p.T(), metrics.VersionCount) } func (p *PythonSuite) TestPythonPackageGetNotFound() {