0
Fork 0
mirror of https://github.com/verdaccio/verdaccio.git synced 2024-12-16 21:56:25 -05:00
verdaccio/packages/plugins/audit/tests/audit.spec.ts
Juan Picado 45c03819e2
refactor: html render middleware improvements (#3603)
* refactor: render middleware

* refactor: render middleware
2023-02-12 20:26:18 +01:00

101 lines
3.3 KiB
TypeScript

import express from 'express';
import nock from 'nock';
import { join } from 'path';
import supertest from 'supertest';
import { Config, parseConfigFile } from '@verdaccio/config';
import { logger, setup } from '@verdaccio/logger';
import { HTTP_STATUS } from '../../local-storage/node_modules/@verdaccio/core/build';
import ProxyAudit, { ConfigAudit } from '../src/index';
setup({});
const auditConfig: ConfigAudit = {
enabled: true,
} as ConfigAudit;
describe('Audit plugin', () => {
test('should test audit', () => {
const audit = new ProxyAudit(auditConfig, {
logger,
config: new Config(parseConfigFile(join(__dirname, 'config.yaml'))),
});
expect(audit).toBeDefined();
});
test('should test audit with configuration', () => {
const config = { strict_ssl: false } as ConfigAudit;
const audit = new ProxyAudit(auditConfig, { logger, config: config });
expect(audit).toBeDefined();
// expect(audit.strict_ssl).toBeFalsy();
});
test('should handle /-/npm/v1/security/audits/quick', async () => {
nock('https://registry.npmjs.org')
.post('/-/npm/v1/security/audits/quick')
.reply(200, { foo: 'someData' });
const config = { strict_ssl: false } as ConfigAudit;
const audit = new ProxyAudit(auditConfig, { logger, config: config });
const app = express();
audit.register_middlewares(app, {
// @ts-ignore
config: {
https_proxy: '',
http_proxy: '',
},
});
await supertest(app).post('/-/npm/v1/security/audits/quick').expect(HTTP_STATUS.OK);
});
test('should handle /-/npm/v1/security/audits/bulk', async () => {
nock('https://registry.npmjs.org')
.post('/-/npm/v1/security/advisories/bulk')
.reply(200, { foo: 'someData' });
const config = { strict_ssl: false } as ConfigAudit;
const audit = new ProxyAudit(auditConfig, { logger, config: config });
const app = express();
audit.register_middlewares(app, {
// @ts-ignore
config: {
https_proxy: '',
http_proxy: '',
},
});
await supertest(app).post('/-/npm/v1/security/advisories/bulk').expect(HTTP_STATUS.OK);
});
test('should handle /-/npm/v1/security/audits', async () => {
nock('https://registry.npmjs.org')
.post('/-/npm/v1/security/audits')
.reply(200, { foo: 'someData' });
const config = { strict_ssl: false } as ConfigAudit;
const audit = new ProxyAudit(auditConfig, { logger, config: config });
const app = express();
audit.register_middlewares(app, {
// @ts-ignore
config: {
https_proxy: '',
http_proxy: '',
},
});
await supertest(app).post('/-/npm/v1/security/audits').expect(HTTP_STATUS.OK);
});
test('should handle proxy', async () => {
nock('https://registry.npmjs.org')
.post('/-/npm/v1/security/audits/quick')
.reply(200, { foo: 'someData' });
const config = { strict_ssl: false } as ConfigAudit;
const audit = new ProxyAudit(auditConfig, { logger, config: config });
const app = express();
audit.register_middlewares(app, {
// @ts-ignore
config: {
https_proxy: 'https://registry.proxy.org',
http_proxy: '',
},
});
await supertest(app).post('/-/npm/v1/security/audits/quick').expect(HTTP_STATUS.OK);
});
});