BREAKING CHANGE(project-structure): Refactor project structure by updating import paths, removing legacy files, and adjusting test configurations

This commit is contained in:
2025-05-09 21:52:46 +00:00
parent b214e58a26
commit 88c75d9cc2
20 changed files with 568 additions and 226 deletions

View File

@ -1,8 +1,9 @@
import { tap, expect } from '@push.rocks/tapbundle';
import * as plugins from '../ts/plugins.js';
import { CertProvisioner } from '../ts/smartproxy/classes.pp.certprovisioner.js';
import type { IDomainConfig, ISmartProxyCertProvisionObject } from '../ts/smartproxy/classes.pp.interfaces.js';
import type { ICertificateData } from '../ts/common/types.js';
import { CertProvisioner } from '../ts/certificate/providers/cert-provisioner.js';
import type { DomainConfig } from '../ts/forwarding/config/forwarding-types.js';
import type { SmartProxyCertProvisionObject } from '../ts/certificate/models/certificate-types.js';
import type { CertificateData } from '../ts/certificate/models/certificate-types.js';
// Fake Port80Handler stub
class FakePort80Handler extends plugins.EventEmitter {
@ -18,15 +19,15 @@ class FakePort80Handler extends plugins.EventEmitter {
// Fake NetworkProxyBridge stub
class FakeNetworkProxyBridge {
public appliedCerts: ICertificateData[] = [];
applyExternalCertificate(cert: ICertificateData) {
public appliedCerts: CertificateData[] = [];
applyExternalCertificate(cert: CertificateData) {
this.appliedCerts.push(cert);
}
}
tap.test('CertProvisioner handles static provisioning', async () => {
const domain = 'static.com';
const domainConfigs: IDomainConfig[] = [{
const domainConfigs: DomainConfig[] = [{
domains: [domain],
forwarding: {
type: 'https-terminate-to-https',
@ -36,7 +37,7 @@ tap.test('CertProvisioner handles static provisioning', async () => {
const fakePort80 = new FakePort80Handler();
const fakeBridge = new FakeNetworkProxyBridge();
// certProvider returns static certificate
const certProvider = async (d: string): Promise<ISmartProxyCertProvisionObject> => {
const certProvider = async (d: string): Promise<SmartProxyCertProvisionObject> => {
expect(d).toEqual(domain);
return {
domainName: domain,
@ -74,7 +75,7 @@ tap.test('CertProvisioner handles static provisioning', async () => {
tap.test('CertProvisioner handles http01 provisioning', async () => {
const domain = 'http01.com';
const domainConfigs: IDomainConfig[] = [{
const domainConfigs: DomainConfig[] = [{
domains: [domain],
forwarding: {
type: 'https-terminate-to-http',
@ -84,7 +85,7 @@ tap.test('CertProvisioner handles http01 provisioning', async () => {
const fakePort80 = new FakePort80Handler();
const fakeBridge = new FakeNetworkProxyBridge();
// certProvider returns http01 directive
const certProvider = async (): Promise<ISmartProxyCertProvisionObject> => 'http01';
const certProvider = async (): Promise<SmartProxyCertProvisionObject> => 'http01';
const prov = new CertProvisioner(
domainConfigs,
fakePort80 as any,
@ -105,7 +106,7 @@ tap.test('CertProvisioner handles http01 provisioning', async () => {
tap.test('CertProvisioner on-demand http01 renewal', async () => {
const domain = 'renew.com';
const domainConfigs: IDomainConfig[] = [{
const domainConfigs: DomainConfig[] = [{
domains: [domain],
forwarding: {
type: 'https-terminate-to-http',
@ -114,7 +115,7 @@ tap.test('CertProvisioner on-demand http01 renewal', async () => {
}];
const fakePort80 = new FakePort80Handler();
const fakeBridge = new FakeNetworkProxyBridge();
const certProvider = async (): Promise<ISmartProxyCertProvisionObject> => 'http01';
const certProvider = async (): Promise<SmartProxyCertProvisionObject> => 'http01';
const prov = new CertProvisioner(
domainConfigs,
fakePort80 as any,
@ -131,7 +132,7 @@ tap.test('CertProvisioner on-demand http01 renewal', async () => {
tap.test('CertProvisioner on-demand static provisioning', async () => {
const domain = 'ondemand.com';
const domainConfigs: IDomainConfig[] = [{
const domainConfigs: DomainConfig[] = [{
domains: [domain],
forwarding: {
type: 'https-terminate-to-https',
@ -140,7 +141,7 @@ tap.test('CertProvisioner on-demand static provisioning', async () => {
}];
const fakePort80 = new FakePort80Handler();
const fakeBridge = new FakeNetworkProxyBridge();
const certProvider = async (): Promise<ISmartProxyCertProvisionObject> => ({
const certProvider = async (): Promise<SmartProxyCertProvisionObject> => ({
domainName: domain,
publicKey: 'PKEY',
privateKey: 'PRIV',