mirror of https://github.com/certd/certd
50 lines
1.2 KiB
JavaScript
50 lines
1.2 KiB
JavaScript
/**
|
|
* Setup testing
|
|
*/
|
|
|
|
const fs = require('fs');
|
|
const chai = require('chai');
|
|
const chaiAsPromised = require('chai-as-promised');
|
|
const axios = require('./../src/axios');
|
|
|
|
/**
|
|
* Add promise support to Chai
|
|
*/
|
|
|
|
chai.use(chaiAsPromised);
|
|
|
|
/**
|
|
* Challenge test server ports
|
|
*/
|
|
|
|
if (process.env.ACME_HTTP_PORT) {
|
|
axios.defaults.acmeSettings.httpChallengePort = process.env.ACME_HTTP_PORT;
|
|
}
|
|
|
|
if (process.env.ACME_HTTPS_PORT) {
|
|
axios.defaults.acmeSettings.httpsChallengePort = process.env.ACME_HTTPS_PORT;
|
|
}
|
|
|
|
if (process.env.ACME_TLSALPN_PORT) {
|
|
axios.defaults.acmeSettings.tlsAlpnChallengePort = process.env.ACME_TLSALPN_PORT;
|
|
}
|
|
|
|
/**
|
|
* Greatly reduce retry duration while testing
|
|
*/
|
|
|
|
axios.defaults.acmeSettings.retryMaxAttempts = 3;
|
|
axios.defaults.acmeSettings.retryDefaultDelay = 1;
|
|
|
|
/**
|
|
* External account binding
|
|
*/
|
|
|
|
if (('ACME_CAP_EAB_ENABLED' in process.env) && (process.env.ACME_CAP_EAB_ENABLED === '1')) {
|
|
const pebbleConfig = JSON.parse(fs.readFileSync('/etc/pebble/pebble.json').toString());
|
|
const [kid, hmacKey] = Object.entries(pebbleConfig.pebble.externalAccountMACKeys)[0];
|
|
|
|
process.env.ACME_EAB_KID = kid;
|
|
process.env.ACME_EAB_HMAC_KEY = hmacKey;
|
|
}
|