52 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			52 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | 'use strict'; | ||
|  | 
 | ||
|  | var challenge = require('./').create({ debug: true, webrootPath: '/tmp/acme-challenge' }); | ||
|  | 
 | ||
|  | var opts = challenge.getOptions(); | ||
|  | var domain = 'example.com'; | ||
|  | var token = 'token-id'; | ||
|  | var key = 'secret-key'; | ||
|  | 
 | ||
|  | challenge.remove(opts, domain, token, function () { | ||
|  |   // ignore error, if any
 | ||
|  | 
 | ||
|  |   challenge.set(opts, domain, token, key, function (err) { | ||
|  |     // if there's an error, there's a problem
 | ||
|  |     if (err) { | ||
|  |       throw err; | ||
|  |     } | ||
|  | 
 | ||
|  |     // throw new Error("manually check /tmp/acme-challenge");
 | ||
|  | 
 | ||
|  |     challenge.get(opts, domain, token, function (err, _key) { | ||
|  |       // if there's an error, there's a problem
 | ||
|  |       if (err) { | ||
|  |         throw err; | ||
|  |       } | ||
|  | 
 | ||
|  |       // should retrieve the key
 | ||
|  |       if (key !== _key) { | ||
|  |         throw new Error("FAIL: could not get key by token"); | ||
|  |       } | ||
|  | 
 | ||
|  |       challenge.remove(opts, domain, token, function () { | ||
|  |         // if there's an error, there's a problem
 | ||
|  |         if (err) { | ||
|  |           throw err; | ||
|  |         } | ||
|  | 
 | ||
|  |         challenge.get(opts, domain, token, function (err, _key) { | ||
|  |           // error here is okay
 | ||
|  | 
 | ||
|  |           // should NOT retrieve the key
 | ||
|  |           if (_key) { | ||
|  |             throw new Error("FAIL: should not get key"); | ||
|  |           } | ||
|  | 
 | ||
|  |           console.info('PASS'); | ||
|  |         }); | ||
|  |       }); | ||
|  |     }); | ||
|  |   }); | ||
|  | }); |