2016-08-09 00:26:55 +00:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
var LE = require('../').LE;
|
|
|
|
var le = LE.create({
|
2019-10-08 10:51:15 +00:00
|
|
|
server: 'staging',
|
|
|
|
acme: require('le-acme-core').ACME.create(),
|
|
|
|
store: require('le-store-certbot').create({
|
|
|
|
configDir: '~/letsencrypt.test/etc',
|
|
|
|
webrootPath: '~/letsencrypt.test/var/:hostname'
|
|
|
|
}),
|
|
|
|
challenge: require('le-challenge-fs').create({
|
|
|
|
webrootPath: '~/letsencrypt.test/var/:hostname'
|
|
|
|
}),
|
|
|
|
debug: true
|
2016-08-09 00:26:55 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
// TODO test generateRsaKey code path separately
|
|
|
|
// and then provide opts.accountKeypair to create account
|
|
|
|
|
|
|
|
//var testId = Math.round(Date.now() / 1000).toString();
|
|
|
|
var testId = 'test1000';
|
|
|
|
var testEmail = 'coolaj86+le.' + testId + '@gmail.com';
|
|
|
|
// TODO integrate with Daplie Domains for junk domains to test with
|
2019-10-08 10:51:15 +00:00
|
|
|
var testDomains = ['pokemap.hellabit.com', 'www.pokemap.hellabit.com'];
|
2016-08-09 00:26:55 +00:00
|
|
|
|
|
|
|
var tests = [
|
2019-10-08 10:51:15 +00:00
|
|
|
function() {
|
|
|
|
return le.core.certificates
|
|
|
|
.checkAsync({
|
|
|
|
domains: ['example.com', 'www.example.com']
|
|
|
|
})
|
|
|
|
.then(function(cert) {
|
|
|
|
if (cert) {
|
|
|
|
throw new Error(
|
|
|
|
'Bogus domain should not have certificate.'
|
|
|
|
);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
},
|
2016-08-09 00:26:55 +00:00
|
|
|
|
2019-10-08 10:51:15 +00:00
|
|
|
function() {
|
|
|
|
return le.core.certificates
|
|
|
|
.getAsync({
|
|
|
|
email: testEmail,
|
|
|
|
domains: testDomains
|
|
|
|
})
|
|
|
|
.then(function(certs) {
|
|
|
|
if (!certs) {
|
|
|
|
throw new Error(
|
|
|
|
'Should have acquired certificate for domains.'
|
|
|
|
);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
2016-08-09 00:26:55 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
function run() {
|
2019-10-08 10:51:15 +00:00
|
|
|
//var express = require(express);
|
|
|
|
var server = require('http').createServer(le.middleware());
|
|
|
|
server.listen(80, function() {
|
|
|
|
console.log('Server running, proceeding to test.');
|
2016-08-09 00:26:55 +00:00
|
|
|
|
2019-10-08 10:51:15 +00:00
|
|
|
function next() {
|
|
|
|
var test = tests.shift();
|
|
|
|
if (!test) {
|
|
|
|
server.close();
|
|
|
|
console.info('All tests passed');
|
|
|
|
return;
|
|
|
|
}
|
2016-08-09 00:26:55 +00:00
|
|
|
|
2019-10-08 10:51:15 +00:00
|
|
|
test().then(next, function(err) {
|
|
|
|
console.error('ERROR');
|
|
|
|
console.error(err.stack);
|
|
|
|
server.close();
|
|
|
|
});
|
|
|
|
}
|
2016-08-09 00:26:55 +00:00
|
|
|
|
2019-10-08 10:51:15 +00:00
|
|
|
next();
|
|
|
|
});
|
2016-08-09 00:26:55 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
run();
|