Coverage Base
Base class defining the interface for coverage upload implementations
Usage
npm install screwdriver-coverage-base
Interface
This is an interface for uploading code coverage results from a Screwdriver build to a code coverage server.
getAccessToken
Required Parameters
Parameter | Type | Description |
---|---|---|
config | Object | |
config.buildCredentials | Object | Information stored in the build JWT token |
config.projectKey | String | Project key (can be directly passed in with just startTime and endTime) |
config.scope | String | Coverage scope (pipeline or job) |
config.username | String | Project username |
Expected Outcome
The getAccessToken
function should resolve a Promise with an access token that build can use to talk to the code coverage server.
getInfo
Required Parameters
Parameter | Type | Description |
---|---|---|
config | Object | |
config.jobId | String | The unique ID for a job |
config.jobName | String | The Screwdriver job name |
config.pipelineId | String | The unique ID for a pipeline |
config.pipelineName | String | The Screwdriver pipeline name |
config.prNum | String | The pull request number |
config.startTime | String | The job start time |
config.endTime | String | The job end time |
config.projectKey | String | Project key (can be directly passed in with just startTime and endTime) |
config.prParentJobId | String | PR parent job ID |
config.scope | String | Coverage scope (pipeline or job) |
Expected Outcome
The getInfo
function should resolve a Promise with an object with metadata about the project coverage.
getUploadCoverageCmd
Required Parameters
Parameter | Type | Description |
---|---|---|
config | Object | |
config.build | String | The build |
config.job | String | The job |
config.pipeline | String | The pipeline |
Expected Outcome
The getUploadCoverageCmd
function should resolve a Promise with a string of shell commands to upload code coverage results.
Extending
To extend the base class, the functions to override are:
_getAccessToken
_getInfo
_getUploadCoverageCmd
Testing
npm test
Related links
See the coverage-bookend
License
Code licensed under the BSD 3-Clause license. See LICENSE file for terms.