Update tests

This commit is contained in:
Tom Hu
2021-04-15 22:25:03 -04:00
parent 83cbbf806b
commit 444b352d52
3 changed files with 28 additions and 25 deletions

20
dist/index.js vendored
View File

@@ -49215,6 +49215,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
} }
}; };
exports.__esModule = true; exports.__esModule = true;
exports.retrieveChecksum = void 0;
var crypto = __webpack_require__(417); var crypto = __webpack_require__(417);
var core = __webpack_require__(470); var core = __webpack_require__(470);
var request = __webpack_require__(335); var request = __webpack_require__(335);
@@ -49233,7 +49234,7 @@ var validateUploader = function (body) { return __awaiter(void 0, void 0, void 0
case 1: case 1:
if (!(_i < _a.length)) return [3 /*break*/, 4]; if (!(_i < _a.length)) return [3 /*break*/, 4];
i = _a[_i]; i = _a[_i];
return [4 /*yield*/, retrieveChecksum(version, i)]; return [4 /*yield*/, exports.retrieveChecksum(version, i)];
case 2: case 2:
publicChecksum = _b.sent(); publicChecksum = _b.sent();
uploaderChecksum = calculateChecksum(body, i); uploaderChecksum = calculateChecksum(body, i);
@@ -49252,30 +49253,27 @@ var validateUploader = function (body) { return __awaiter(void 0, void 0, void 0
}); });
}); }; }); };
var retrieveChecksum = function (version, encryption) { return __awaiter(void 0, void 0, void 0, function () { var retrieveChecksum = function (version, encryption) { return __awaiter(void 0, void 0, void 0, function () {
var url, response, err_1; var url, response;
return __generator(this, function (_a) { return __generator(this, function (_a) {
switch (_a.label) { switch (_a.label) {
case 0: case 0:
url = "https://raw.githubusercontent.com/codecov/codecov-bash/" + version + "/SHA" + encryption + "SUM"; url = "https://raw.githubusercontent.com/codecov/codecov-bash/" + version + "/SHA" + encryption + "SUM";
_a.label = 1;
case 1:
_a.trys.push([1, 3, , 4]);
return [4 /*yield*/, request({ return [4 /*yield*/, request({
maxAttempts: 10, maxAttempts: 10,
timeout: 3000, timeout: 3000,
url: url, url: url,
})]; })];
case 2: case 1:
response = _a.sent(); response = _a.sent();
if (response.statusCode != 200) {
core.warning("Codecov could not retrieve checksum SHA" + encryption + " at " + url);
return [2 /*return*/, ''];
}
return [2 /*return*/, response.body]; return [2 /*return*/, response.body];
case 3:
err_1 = _a.sent();
core.warning("Codecov could not retrieve checksum SHA" + encryption + " at " + url);
return [2 /*return*/, false];
case 4: return [2 /*return*/];
} }
}); });
}); }; }); };
exports.retrieveChecksum = retrieveChecksum;
var calculateChecksum = function (body, i) { var calculateChecksum = function (body, i) {
var shasum = crypto.createHash("sha" + i); var shasum = crypto.createHash("sha" + i);
shasum.update(body); shasum.update(body);

View File

@@ -1,4 +1,4 @@
import validateUploader from './validate'; import validateUploader, {retrieveChecksum} from './validate';
const request = require('requestretry'); const request = require('requestretry');
@@ -16,19 +16,24 @@ const bashScript = (async () => {
} }
}); });
test('validChecksums', async () => { test('valid checksums', async () => {
const valid = await validateUploader(await bashScript()); const valid = await validateUploader(await bashScript());
expect(valid).toBeTruthy(); expect(valid).toBeTruthy();
}); });
test('invalidChecksums', async () => { test('invalid checksums', async () => {
const script = await bashScript(); const script = await bashScript();
const valid = await validateUploader(script.substring(0, script.length - 1)); const valid = await validateUploader(script.substring(0, script.length - 1));
expect(valid).toBeFalsy(); expect(valid).toBeFalsy();
}); });
test('invalidVersion', async () => { test('invalid script version', async () => {
const script = await bashScript(); const script = await bashScript();
const valid = await validateUploader(script.substring(0, 20)); const valid = await validateUploader(script.substring(0, 20));
expect(valid).toBeFalsy(); expect(valid).toBeFalsy();
}); });
test('invalid public checksum file', async () => {
const checksum = await retrieveChecksum('foo', 'bar');
expect(checksum).toBeFalsy();
});

View File

@@ -26,21 +26,21 @@ const validateUploader = async (body) => {
return true; return true;
}; };
const retrieveChecksum = async (version, encryption) => { export const retrieveChecksum = async (version, encryption) => {
const url = `https://raw.githubusercontent.com/codecov/codecov-bash/${version}/SHA${encryption}SUM`; const url = `https://raw.githubusercontent.com/codecov/codecov-bash/${version}/SHA${encryption}SUM`;
try { const response = await request({
const response = await request({ maxAttempts: 10,
maxAttempts: 10, timeout: 3000,
timeout: 3000, url: url,
url: url, });
});
return response.body; if (response.statusCode != 200) {
} catch (err) {
core.warning( core.warning(
`Codecov could not retrieve checksum SHA${encryption} at ${url}`, `Codecov could not retrieve checksum SHA${encryption} at ${url}`,
); );
return false; return '';
} }
return response.body;
}; };
const calculateChecksum = (body, i) => { const calculateChecksum = (body, i) => {