From 62ed7c3a277204aea2943adec2f63f3786d80def Mon Sep 17 00:00:00 2001 From: Pierre-Yves Bigourdan <10694593+PyvesB@users.noreply.github.com> Date: Mon, 22 Jul 2024 19:54:18 +0200 Subject: [PATCH] Mock [JenkinsCoverage] Cobertura job found test (#10372) --- services/jenkins/jenkins-coverage.service.js | 5 ++-- services/jenkins/jenkins-coverage.tester.js | 30 ++++++++++++++++---- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/services/jenkins/jenkins-coverage.service.js b/services/jenkins/jenkins-coverage.service.js index 36dec6f1a0..9256d42014 100644 --- a/services/jenkins/jenkins-coverage.service.js +++ b/services/jenkins/jenkins-coverage.service.js @@ -115,12 +115,13 @@ export default class JenkinsCoverage extends JenkinsBase { parameters: [ pathParam({ name: 'format', - example: 'cobertura', + example: 'jacoco', schema: { type: 'string', enum: this.getEnum('format') }, }), queryParam({ name: 'jobUrl', - example: 'https://jenkins.sqlalchemy.org/job/dogpile_coverage', + example: + 'https://ci-maven.apache.org/job/Maven/job/maven-box/job/maven-surefire/job/master', required: true, }), ], diff --git a/services/jenkins/jenkins-coverage.tester.js b/services/jenkins/jenkins-coverage.tester.js index 387077181c..1fb29825e5 100644 --- a/services/jenkins/jenkins-coverage.tester.js +++ b/services/jenkins/jenkins-coverage.tester.js @@ -19,17 +19,35 @@ t.create('jacoco: job not found') .get('/jacoco.json?jobUrl=https://ci-maven.apache.org/job/does-not-exist') .expectBadge({ label: 'coverage', message: 'job or coverage not found' }) -t.create('cobertura: job not found') - .get( - '/cobertura.json?jobUrl=https://jenkins.sqlalchemy.org/job/does-not-exist', - ) - .expectBadge({ label: 'coverage', message: 'job or coverage not found' }) +const coverageCoberturaResponse = { + _class: 'io.jenkins.plugins.coverage.targets.CoverageResult', + results: { + elements: [ + { name: 'Classes', ratio: 52.0 }, + { name: 'Lines', ratio: 40.66363 }, + ], + }, +} t.create('cobertura: job found') .get( '/cobertura.json?jobUrl=https://jenkins.sqlalchemy.org/job/dogpile_coverage', ) - .expectBadge({ label: 'coverage', message: isIntegerPercentage }) + .intercept(nock => + nock( + 'https://jenkins.sqlalchemy.org/job/dogpile_coverage/lastCompletedBuild', + ) + .get('/cobertura/api/json') + .query(true) + .reply(200, coverageCoberturaResponse), + ) + .expectBadge({ label: 'coverage', message: '41%' }) + +t.create('cobertura: job not found') + .get( + '/cobertura.json?jobUrl=https://jenkins.sqlalchemy.org/job/does-not-exist', + ) + .expectBadge({ label: 'coverage', message: 'job or coverage not found' }) const coverageApiV1Response = { _class: 'io.jenkins.plugins.coverage.targets.CoverageResult', -- GitLab