89 lines
2.5 KiB
TypeScript
89 lines
2.5 KiB
TypeScript
import 'typings-test'
|
|
import * as should from 'should'
|
|
import * as cflare from 'cflare'
|
|
import * as qenv from 'qenv'
|
|
|
|
let testQenv = new qenv.Qenv(process.cwd(), process.cwd() + '/.nogit')
|
|
|
|
// import the module to test
|
|
import * as smartacme from '../dist/index'
|
|
|
|
let myCflareAccount = new cflare.CflareAccount()
|
|
myCflareAccount.auth({
|
|
email: process.env.CF_EMAIL,
|
|
key: process.env.CF_KEY
|
|
})
|
|
|
|
describe('smartacme', function () {
|
|
let testSmartAcme: smartacme.SmartAcme
|
|
let testAcmeAccount: smartacme.AcmeAccount
|
|
let testAcmeCert: smartacme.AcmeCert
|
|
let testChallenge: smartacme.ISmartAcmeChallengeAccepted
|
|
|
|
it('should create a valid instance', function (done) {
|
|
this.timeout(10000)
|
|
testSmartAcme = new smartacme.SmartAcme()
|
|
testSmartAcme.init().then(() => {
|
|
should(testSmartAcme).be.instanceOf(smartacme.SmartAcme)
|
|
done()
|
|
}).catch(err => { done(err) })
|
|
})
|
|
|
|
it('should have created keyPair', function () {
|
|
should(testSmartAcme.acmeUrl).be.of.type('string')
|
|
})
|
|
|
|
it('should register a new account', function (done) {
|
|
this.timeout(10000)
|
|
testSmartAcme.createAcmeAccount().then(x => {
|
|
testAcmeAccount = x
|
|
done()
|
|
}).catch(err => {
|
|
console.log(err)
|
|
done(err)
|
|
})
|
|
})
|
|
|
|
it('should create a AcmeCert', function() {
|
|
testAcmeAccount.createAcmeCert('test1.bleu.de').then(x => {
|
|
testAcmeCert = x
|
|
should(testAcmeAccount).be.instanceOf(smartacme.AcmeCert)
|
|
})
|
|
})
|
|
|
|
it('should get a challenge for a AcmeCert', function (done) {
|
|
this.timeout(10000)
|
|
testAcmeCert.requestChallenge().then((challengeAccepted) => {
|
|
console.log(challengeAccepted)
|
|
testChallenge = challengeAccepted
|
|
done()
|
|
})
|
|
})
|
|
|
|
it('should set the challenge', function(done) {
|
|
this.timeout(30000)
|
|
myCflareAccount.createRecord(
|
|
testChallenge.domainNamePrefixed,
|
|
'TXT', testChallenge.dnsKeyHash
|
|
).then(() => {
|
|
done()
|
|
})
|
|
})
|
|
|
|
it('should check for a DNS record', function(done) {
|
|
this.timeout(40000)
|
|
testAcmeCert.checkDns().then(x => {
|
|
console.log(x)
|
|
done()
|
|
})
|
|
})
|
|
|
|
it('should poll for validation of a challenge', function (done) {
|
|
this.timeout(700000)
|
|
testAcmeCert.requestValidation().then(x => {
|
|
console.log(x)
|
|
done()
|
|
})
|
|
})
|
|
})
|