mirror of
				https://github.com/therootcompany/greenlock.js.git
				synced 2024-11-16 17:29:00 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			106 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			106 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'use strict';
 | 
						|
 | 
						|
var LE = require('../').LE;
 | 
						|
var le = LE.create({
 | 
						|
  server: 'staging'
 | 
						|
, acme: require('le-acme-core').ACME.create()
 | 
						|
, store: require('le-store-certbot').create({
 | 
						|
    configDir: '~/letsencrypt.test/etc/'
 | 
						|
  , webrootPath: '~/letsencrypt.test/tmp/:hostname'
 | 
						|
  })
 | 
						|
, debug: true
 | 
						|
});
 | 
						|
 | 
						|
//var testId = Math.round(Date.now() / 1000).toString();
 | 
						|
var testId = 'test1000';
 | 
						|
var fakeEmail = 'coolaj86+le.' + testId + '@example.com';
 | 
						|
var testEmail = 'coolaj86+le.' + testId + '@gmail.com';
 | 
						|
var testAccount;
 | 
						|
 | 
						|
var tests = [
 | 
						|
  function () {
 | 
						|
    return le.core.accounts.checkAsync({
 | 
						|
      email: testEmail
 | 
						|
    }).then(function (account) {
 | 
						|
      if (account) {
 | 
						|
        console.error(account);
 | 
						|
        throw new Error("Test account should not exist.");
 | 
						|
      }
 | 
						|
    });
 | 
						|
  }
 | 
						|
, function () {
 | 
						|
    return le.core.accounts.registerAsync({
 | 
						|
      email: testEmail
 | 
						|
    , agreeTos: false
 | 
						|
    , rsaKeySize: 2048
 | 
						|
    }).then(function (/*account*/) {
 | 
						|
      throw new Error("Should not register if 'agreeTos' is not truthy.");
 | 
						|
    }, function (err) {
 | 
						|
      if (err.code !== 'E_ARGS') {
 | 
						|
        throw err;
 | 
						|
      }
 | 
						|
    });
 | 
						|
  }
 | 
						|
, function () {
 | 
						|
    return le.core.accounts.registerAsync({
 | 
						|
      email: testEmail
 | 
						|
    , agreeTos: true
 | 
						|
    , rsaKeySize: 1024
 | 
						|
    }).then(function (/*account*/) {
 | 
						|
      throw new Error("Should not register if 'rsaKeySize' is less than 2048.");
 | 
						|
    }, function (err) {
 | 
						|
      if (err.code !== 'E_ARGS') {
 | 
						|
        throw err;
 | 
						|
      }
 | 
						|
    });
 | 
						|
  }
 | 
						|
, function () {
 | 
						|
    return le.core.accounts.registerAsync({
 | 
						|
      email: fakeEmail
 | 
						|
    , agreeTos: true
 | 
						|
    , rsaKeySize: 2048
 | 
						|
    }).then(function (/*account*/) {
 | 
						|
      // TODO test mx record
 | 
						|
      throw new Error("Registration should NOT succeed with a bad email address.");
 | 
						|
    }, function (err) {
 | 
						|
      if (err.code !== 'E_EMAIL') {
 | 
						|
        throw err;
 | 
						|
      }
 | 
						|
    });
 | 
						|
  }
 | 
						|
, function () {
 | 
						|
    return le.core.accounts.registerAsync({
 | 
						|
      email: testEmail
 | 
						|
    , agreeTos: true
 | 
						|
    , rsaKeySize: 2048
 | 
						|
    }).then(function (account) {
 | 
						|
      testAccount = account;
 | 
						|
 | 
						|
      console.log(testEmail);
 | 
						|
      console.log(testAccount);
 | 
						|
 | 
						|
      if (!account) {
 | 
						|
        throw new Error("Registration should always return a new account.");
 | 
						|
      }
 | 
						|
      if (!account.email) {
 | 
						|
        throw new Error("Registration should return the email.");
 | 
						|
      }
 | 
						|
      if (!account.id) {
 | 
						|
        throw new Error("Registration should return the account id.");
 | 
						|
      }
 | 
						|
    });
 | 
						|
  }
 | 
						|
];
 | 
						|
 | 
						|
function run() {
 | 
						|
  var test = tests.shift();
 | 
						|
  if (!test) {
 | 
						|
    console.info('All tests passed');
 | 
						|
    return;
 | 
						|
  }
 | 
						|
 | 
						|
  test().then(run);
 | 
						|
}
 | 
						|
 | 
						|
run();
 |