update
This commit is contained in:
@ -18,4 +18,12 @@ tap.test('should return undefined for deeper domain', async () => {
|
||||
expect(result).toEqual(undefined);
|
||||
});
|
||||
|
||||
// Wildcard domain handling
|
||||
tap.test('should strip wildcard prefix and return base domain', async () => {
|
||||
const matcher = new SmartacmeCertMatcher();
|
||||
expect(matcher.getCertificateDomainNameByDomainName('*.example.com')).toEqual('example.com');
|
||||
expect(matcher.getCertificateDomainNameByDomainName('*.sub.example.com')).toEqual('sub.example.com');
|
||||
expect(matcher.getCertificateDomainNameByDomainName('*.a.b.example.com')).toEqual('a.b.example.com');
|
||||
});
|
||||
|
||||
export default tap.start();
|
@ -1,7 +1,7 @@
|
||||
import { tap, expect } from '@push.rocks/tapbundle';
|
||||
import { Qenv } from '@push.rocks/qenv';
|
||||
import * as cloudflare from '@apiclient.xyz/cloudflare';
|
||||
import { SmartAcme, MongoCertManager } from '../ts/index.js';
|
||||
import { SmartAcme, MongoCertManager, MemoryCertManager } from '../ts/index.js';
|
||||
import { Dns01Handler } from '../ts/handlers/Dns01Handler.js';
|
||||
|
||||
// Load environment variables for credentials (stored under .nogit/)
|
||||
@ -20,7 +20,8 @@ let smartAcmeInstance: SmartAcme;
|
||||
tap.test('create SmartAcme instance with DNS-01 handler and start', async () => {
|
||||
smartAcmeInstance = new SmartAcme({
|
||||
accountEmail: 'domains@lossless.org',
|
||||
certManager: new MongoCertManager({ mongoDbName, mongoDbPass, mongoDbUrl }),
|
||||
// certManager: new MongoCertManager({ mongoDbName, mongoDbPass, mongoDbUrl }),
|
||||
certManager: new MemoryCertManager(),
|
||||
environment: 'integration',
|
||||
retryOptions: {},
|
||||
challengeHandlers: [new Dns01Handler(cfAccount)],
|
||||
|
@ -28,5 +28,20 @@ tap.test('constructor accepts valid challengeHandlers', async () => {
|
||||
});
|
||||
expect(sa).toBeInstanceOf(SmartAcme);
|
||||
});
|
||||
// Wildcard certificate stub for integration mode
|
||||
tap.test('get wildcard certificate stub in integration mode', async () => {
|
||||
const sa = new SmartAcme({
|
||||
accountEmail: 'domains@lossless.org',
|
||||
certManager: new MemoryCertManager(),
|
||||
environment: 'integration',
|
||||
retryOptions: {},
|
||||
challengeHandlers: [new DummyHandler()],
|
||||
});
|
||||
await sa.start();
|
||||
const domainWildcard = '*.example.com';
|
||||
const cert = await sa.getCertificateForDomain(domainWildcard);
|
||||
expect(cert.domainName).toEqual(domainWildcard);
|
||||
await sa.stop();
|
||||
});
|
||||
|
||||
export default tap.start();
|
Reference in New Issue
Block a user