Skip to content

Commit

Permalink
Mock [JenkinsCoverage] Cobertura job found test
Browse files Browse the repository at this point in the history
  • Loading branch information
PyvesB committed Jul 18, 2024
1 parent 1e4c8f5 commit ef29dfe
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 8 deletions.
5 changes: 3 additions & 2 deletions services/jenkins/jenkins-coverage.service.js
Original file line number Diff line number Diff line change
Expand Up @@ -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,
}),
],
Expand Down
30 changes: 24 additions & 6 deletions services/jenkins/jenkins-coverage.tester.js
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down

0 comments on commit ef29dfe

Please sign in to comment.