diff --git a/services/jenkins/jenkins-coverage.service.js b/services/jenkins/jenkins-coverage.service.js index 36dec6f1a0715..9256d42014611 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 387077181c2f4..1fb29825e506b 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',