UNPKG

2.19 kBJavaScriptView Raw
1(function (nock, chai, Promise) {
2 'use strict';
3
4 var expect = chai.expect;
5 chai.use(require('chai-as-promised'));
6 chai.use(require('dirty-chai'));
7 chai.config.includeStack = true;
8
9 // Disable outgoing connections to non-mocked endpoints.
10 nock.disableNetConnect();
11
12 //Setup mock for the Codacy API endpoint.
13 function setupMockEndpoint(token, commitId, bodyValidator, statusCode) {
14 return new Promise(function (resolve) {
15 expect(token).to.be.ok();
16 expect(commitId).to.be.ok();
17 expect(bodyValidator).to.be.ok();
18
19 return resolve(nock('https://api.codacy.com')
20 .post('/2.0/coverage/' + commitId + '/javascript', function (body) {
21 var result = bodyValidator.validate(body);
22
23 return !result.error;
24 })
25 .reply(statusCode || 200));
26 });
27 }
28
29 function setupLangMockEndpoint(token, commitId, bodyValidator, language) {
30 return new Promise(function (resolve) {
31 expect(token).to.be.ok();
32 expect(commitId).to.be.ok();
33 expect(bodyValidator).to.be.ok();
34
35 return resolve(nock('https://api.codacy.com')
36 .post('/2.0/coverage/' + commitId + '/' + language, function (body) {
37
38 console.error('<BODY>');
39 console.error(body);
40 console.error('</BODY>');
41
42 var result = bodyValidator.validate(body);
43 return !(result.error);
44 }).reply(200));
45 });
46 }
47
48 module.exports = {
49 setupMockEndpoint: setupMockEndpoint,
50 setupLangMockEndpoint: setupLangMockEndpoint,
51 chai: chai,
52 clearEnvironmentVariables: function () {
53 process.env.CODACY_GIT_COMMIT = '';
54 process.env.TRAVIS_COMMIT = '';
55 process.env.DRONE_COMMIT = '';
56 process.env.GIT_COMMIT = '';
57 process.env.CIRCLE_SHA1 = '';
58 process.env.CI_COMMIT_ID = '';
59 process.env.WERCKER_GIT_COMMIT = '';
60 }
61 };
62}(require('nock'), require('chai'), require('bluebird')));