Skip to content
This repository was archived by the owner on Feb 19, 2020. It is now read-only.

Commit ee1b86c

Browse files
pedrorijo91rtfpessoa
authored andcommitted
Allow to pass a language other than Javascript as param
1 parent b991fe3 commit ee1b86c

File tree

5 files changed

+16
-14
lines changed

5 files changed

+16
-14
lines changed

bin/codacy-coverage.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
.option('-f, --format [value]', 'Coverage input format')
2121
.option('-t, --token [value]', 'Codacy Project API Token')
2222
.option('-c, --commit [value]', 'Commit SHA hash')
23+
.option('-l, --language [value', 'Project Language')
2324
.option('-e, --endpoint [value]', 'Codacy API Endpoint')
2425
.option('-p, --prefix [value]', 'Project path prefix')
2526
.option('-v, --verbose', 'Display verbose output')
@@ -31,8 +32,8 @@
3132
debug: program.debug
3233
});
3334

34-
loggerImpl.info(util.format('Started with: token [%j], commitId [%j], endpoint [%j], format [%j], path prefix [%j], verbose [%j], debug [%j]',
35-
program.token, program.commit, program.endpoint, program.format, program.prefix, program.verbose, program.debug));
35+
loggerImpl.info(util.format('Started with: token [%j], commitId [%j], language [%j], endpoint [%j], format [%j], path prefix [%j], verbose [%j], debug [%j]',
36+
program.token, program.commit, program.language, program.endpoint, program.format, program.prefix, program.verbose, program.debug));
3637

3738
process.stdin.on('end', function () {
3839
loggerImpl.trace('Received file through stdin');

lib/handleInput.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
var commit = opts.commit;
88
var format = opts.format || 'lcov';
99
var pathPrefix = opts.prefix || '';
10+
var language = opts.language || 'javascript';
1011
var loggerImpl;
1112

1213
loggerImpl = logger({
@@ -18,8 +19,8 @@
1819
return Promise.reject(new Error('Token is required'));
1920
}
2021

21-
loggerImpl.info(util.format('Handling input for: token [%j], commitId [%j], endpoint [%j], format [%j], path prefix [%j], verbose [%j], debug [%j]',
22-
token, commit, opts.endpoint, format, pathPrefix, opts.verbose, opts.debug));
22+
loggerImpl.info(util.format('Handling input for: token [%j], commitId [%j], language [%j], endpoint [%j], format [%j], path prefix [%j], verbose [%j], debug [%j]',
23+
token, commit, language, opts.endpoint, format, pathPrefix, opts.verbose, opts.debug));
2324

2425
// Parse the coverage data for the given format and retrieve the commit id if we don't have it.
2526
return Promise.all([parser.getParser(format).parse(pathPrefix, input), getGitData.getCommitId(commit)]).spread(function (parsedCoverage, commitId) {
@@ -28,7 +29,7 @@
2829
loggerImpl.debug('Sending coverage');
2930
return reporter({
3031
endpoint: opts.endpoint
31-
}).sendCoverage(token, commitId, parsedCoverage);
32+
}).sendCoverage(token, commitId, language, parsedCoverage);
3233
});
3334
};
3435
}(require('./coverageParser'), require('./reporter'), require('./getGitData'), require('./logger'), require('bluebird'), require('util')));

lib/reporter.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@
2626
throw optionsValid.error;
2727
}
2828

29-
var endpoint = (options.endpoint || 'https://api.codacy.com') + '/2.0/coverage/:commitId/javascript';
29+
var endpoint = (options.endpoint || 'https://api.codacy.com') + '/2.0/coverage/:commitId/:language';
3030
logger.debug('Setting up reporter communicating to: ' + endpoint);
3131

3232
return {
33-
sendCoverage: function sendCoverage(token, commitId, data) {
33+
sendCoverage: function sendCoverage(token, commitId, language, data) {
3434
return new Promise(function (resolve, reject) {
3535
logger.trace(util.format('Sending Coverage for token [%s] and commitId [%s]', token, commitId));
3636
var tokenValid = Joi.validate(token, tokenValidation);
@@ -45,7 +45,7 @@
4545
return reject(validationErr);
4646
}
4747

48-
var url = endpoint.replace(':commitId', commitId);
48+
var url = endpoint.replace(':commitId', commitId).replace(':language', language);
4949
logger.trace(util.format('Sending POST to %s', url));
5050

5151
return request({

test/cli.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@
6161
return done(err);
6262
}
6363

64-
expect(res).to.match(/Started with: token \["1234"], commitId \["4321"], endpoint \["something"], format \["lcov"], path prefix \["asdf\/"], verbose \[true], debug \[true]/);
65-
expect(res).to.match(/Handling input for: token \["1234"], commitId \["4321"], endpoint \["something"], format \["lcov"], path prefix \["asdf\/"], verbose \[true], debug \[true]/);
64+
expect(res).to.match(/Started with: token \["1234"], commitId \["4321"], language \[undefined], endpoint \["something"], format \["lcov"], path prefix \["asdf\/"], verbose \[true], debug \[true]/);
65+
expect(res).to.match(/Handling input for: token \["1234"], commitId \["4321"], language \["javascript"], endpoint \["something"], format \["lcov"], path prefix \["asdf\/"], verbose \[true], debug \[true]/);
6666
done();
6767
});
6868
});

test/reporter.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
sampleCoverageData.fileReports[0].coverage['3'] = 0;
5454

5555
return expect(reporter({})
56-
.sendCoverage('1234', '4321', sampleCoverageData))
56+
.sendCoverage('1234', '4321', 'javascript', sampleCoverageData))
5757
.to.eventually.be.rejectedWith(Error, 'child "fileReports" fails because ["fileReports" does not contain 1 required value(s)]');
5858
});
5959
it('shouldn\'t be able to create a reporter with invalid options', function () {
@@ -65,23 +65,23 @@
6565
return helper.setupMockEndpoint('1234', '4321', bodyValidator)
6666
.then(function () {
6767
return expect(reporter({})
68-
.sendCoverage('1234', '4321', sampleCoverageData))
68+
.sendCoverage('1234', '4321', 'javascript', sampleCoverageData))
6969
.to.eventually.be.fulfilled();
7070
});
7171
});
7272
it('should receive error when non-200 status code', function () {
7373
return helper.setupMockEndpoint('1234', '4321', bodyValidator, 204)
7474
.then(function () {
7575
return expect(reporter({})
76-
.sendCoverage('1234', '4321', sampleCoverageData))
76+
.sendCoverage('1234', '4321', 'javascript', sampleCoverageData))
7777
.to.eventually.be.rejectedWith(Error, 'Expected Status Code of 200, but got [204]');
7878
});
7979
});
8080
it('should receive error when 400 level status code', function () {
8181
return helper.setupMockEndpoint('1234', '4321', bodyValidator, 418)
8282
.then(function () {
8383
return expect(reporter({})
84-
.sendCoverage('1234', '4321', sampleCoverageData))
84+
.sendCoverage('1234', '4321', 'javascript', sampleCoverageData))
8585
.to.eventually.be.rejectedWith(Error, 'Expected Successful Status Code, but got [418]');
8686
});
8787
});

0 commit comments

Comments
 (0)