Skip to content

Commit

Permalink
test: label selector on ssl
Browse files Browse the repository at this point in the history
  • Loading branch information
bzp2010 committed Jul 18, 2024
1 parent 615070f commit 8c34d35
Showing 1 changed file with 75 additions and 1 deletion.
76 changes: 75 additions & 1 deletion libs/backend-api7/e2e/label-selector.e2e-spec.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
import * as ADCSDK from '@api7/adc-sdk';
import { unset } from 'lodash';
import { readFileSync } from 'node:fs';
import { join } from 'node:path';

import { BackendAPI7 } from '../src';
import {
Expand Down Expand Up @@ -72,7 +75,78 @@ describe('Label Selector', () => {
it('Delete consumers', async () =>
syncEvents(backend, [
deleteEvent(ADCSDK.ResourceType.CONSUMER, consumer1Name),
deleteEvent(ADCSDK.ResourceType.CONSUMER, consumer1Name),
deleteEvent(ADCSDK.ResourceType.CONSUMER, consumer2Name),
]));
});

describe('SSL', () => {
const certificates = [
{
certificate: readFileSync(
join(__dirname, 'assets/certs/test-ssl1.cer'),
).toString('utf-8'),
key: readFileSync(
join(__dirname, 'assets/certs/test-ssl1.key'),
).toString('utf-8'),
},
{
certificate: readFileSync(
join(__dirname, 'assets/certs/test-ssl2.cer'),
).toString('utf-8'),
key: readFileSync(
join(__dirname, 'assets/certs/test-ssl2.key'),
).toString('utf-8'),
},
];
const ssl1SNIs = ['ssl1-1.com', 'ssl1-2.com'];
const ssl1 = {
snis: ssl1SNIs,
labels: { team: '1' },
certificates: [certificates[0]],
} as ADCSDK.SSL;
const ssl2SNIs = ['ssl2-1.com', 'ssl2-2.com'];
const ssl2 = {
snis: ssl2SNIs,
labels: { team: '2' },
certificates: [certificates[1]],
} as ADCSDK.SSL;
const sslName = (snis: Array<string>) => snis.join(',');

const ssl1test = structuredClone(ssl1);
const ssl2test = structuredClone(ssl2);
unset(ssl1test, 'certificates.0.key');
unset(ssl2test, 'certificates.0.key');

it('Create ssls', async () =>
syncEvents(backend, [
createEvent(ADCSDK.ResourceType.SSL, sslName(ssl1SNIs), ssl1),
createEvent(ADCSDK.ResourceType.SSL, sslName(ssl2SNIs), ssl2),
]));

it('Dump consumer whit label team = 1', async () => {
const backend = new BackendAPI7({
...commonBackendOpts,
labelSelector: { team: '1' }, // add custom label selector
});
const result = (await dumpConfiguration(backend)) as ADCSDK.Configuration;
expect(result.ssls).toHaveLength(1);
expect(result.ssls[0]).toMatchObject(ssl1test);
});

it('Dump consumer whit label team = 2', async () => {
const backend = new BackendAPI7({
...commonBackendOpts,
labelSelector: { team: '2' }, // add custom label selector
});
const result = (await dumpConfiguration(backend)) as ADCSDK.Configuration;
expect(result.ssls).toHaveLength(1);
expect(result.ssls[0]).toMatchObject(ssl2test);
});

it('Delete ssls', async () =>
syncEvents(backend, [
deleteEvent(ADCSDK.ResourceType.SSL, sslName(ssl1SNIs)),
deleteEvent(ADCSDK.ResourceType.SSL, sslName(ssl2SNIs)),
]));
});
});

0 comments on commit 8c34d35

Please sign in to comment.