Remove blacklist code

This commit is contained in:
Michael Jackson
2019-01-15 08:06:12 -08:00
parent 5e7323f389
commit dc2950d60f
14 changed files with 3 additions and 493 deletions

View File

@ -1,109 +0,0 @@
import request from 'supertest';
import createServer from '../createServer';
import clearBlacklist from './utils/clearBlacklist';
import withToken from './utils/withToken';
describe('The /_blacklist endpoint', () => {
let server;
beforeEach(() => {
server = createServer();
});
describe('POST /_blacklist', () => {
afterEach(clearBlacklist);
describe('with no auth', () => {
it('is forbidden', done => {
request(server)
.post('/_blacklist')
.end((err, res) => {
expect(res.statusCode).toBe(403);
done();
});
});
});
describe('with the "blacklist.add" scope', () => {
it('can add to the blacklist', done => {
withToken({ blacklist: { add: true } }, token => {
request(server)
.post('/_blacklist')
.send({ token, packageName: 'bad-package' })
.end((err, res) => {
expect(res.statusCode).toBe(200);
expect(res.body.ok).toBe(true);
done();
});
});
});
});
});
describe('GET /_blacklist', () => {
describe('with no auth', () => {
it('is forbidden', done => {
request(server)
.get('/_blacklist')
.end((err, res) => {
expect(res.statusCode).toBe(403);
done();
});
});
});
describe('with the "blacklist.read" scope', () => {
it('can read the blacklist', done => {
withToken({ blacklist: { read: true } }, token => {
request(server)
.get('/_blacklist?token=' + token)
.end((err, res) => {
expect(res.statusCode).toBe(200);
done();
});
});
});
});
});
describe('DELETE /_blacklist/:packageName', () => {
describe('with no auth', () => {
it('is forbidden', done => {
request(server)
.delete('/_blacklist/bad-package')
.end((err, res) => {
expect(res.statusCode).toBe(403);
done();
});
});
});
describe('with the "blacklist.remove" scope', () => {
it('can remove a package from the blacklist', done => {
withToken({ blacklist: { remove: true } }, token => {
request(server)
.delete('/_blacklist/bad-package')
.send({ token })
.end((err, res) => {
expect(res.statusCode).toBe(200);
expect(res.body.ok).toBe(true);
done();
});
});
});
it('can remove a scoped package from the blacklist', done => {
withToken({ blacklist: { remove: true } }, token => {
request(server)
.delete('/_blacklist/@scope/bad-package')
.send({ token })
.end((err, res) => {
expect(res.statusCode).toBe(200);
expect(res.body.ok).toBe(true);
done();
});
});
});
});
});
});

View File

@ -1,109 +0,0 @@
import request from 'supertest';
import createServer from '../createServer';
import clearBlacklist from './utils/clearBlacklist';
import withToken from './utils/withToken';
describe('The /api/blacklist endpoint', () => {
let server;
beforeEach(() => {
server = createServer();
});
describe('POST /api/blacklist', () => {
afterEach(clearBlacklist);
describe('with no auth', () => {
it('is forbidden', done => {
request(server)
.post('/api/blacklist')
.end((err, res) => {
expect(res.statusCode).toBe(403);
done();
});
});
});
describe('with the "blacklist.add" scope', () => {
it('can add to the blacklist', done => {
withToken({ blacklist: { add: true } }, token => {
request(server)
.post('/api/blacklist')
.send({ token, packageName: 'bad-package' })
.end((err, res) => {
expect(res.statusCode).toBe(200);
expect(res.body.ok).toBe(true);
done();
});
});
});
});
});
describe('GET /api/blacklist', () => {
describe('with no auth', () => {
it('is forbidden', done => {
request(server)
.get('/api/blacklist')
.end((err, res) => {
expect(res.statusCode).toBe(403);
done();
});
});
});
describe('with the "blacklist.read" scope', () => {
it('can read the blacklist', done => {
withToken({ blacklist: { read: true } }, token => {
request(server)
.get('/api/blacklist?token=' + token)
.end((err, res) => {
expect(res.statusCode).toBe(200);
done();
});
});
});
});
});
describe('DELETE /api/blacklist', () => {
describe('with no auth', () => {
it('is forbidden', done => {
request(server)
.delete('/api/blacklist')
.end((err, res) => {
expect(res.statusCode).toBe(403);
done();
});
});
});
describe('with the "blacklist.remove" scope', () => {
it('can remove a package from the blacklist', done => {
withToken({ blacklist: { remove: true } }, token => {
request(server)
.delete('/api/blacklist')
.send({ token, packageName: 'bad-package' })
.end((err, res) => {
expect(res.statusCode).toBe(200);
expect(res.body.ok).toBe(true);
done();
});
});
});
it('can remove a scoped package from the blacklist', done => {
withToken({ blacklist: { remove: true } }, token => {
request(server)
.delete('/api/blacklist')
.send({ token, packageName: '@scope/bad-package' })
.end((err, res) => {
expect(res.statusCode).toBe(200);
expect(res.body.ok).toBe(true);
done();
});
});
});
});
});
});

View File

@ -1,8 +1,6 @@
import request from 'supertest';
import createServer from '../createServer';
import clearBlacklist from './utils/clearBlacklist';
import withBlacklist from './utils/withBlacklist';
describe('The server', () => {
let server;
@ -48,19 +46,4 @@ describe('The server', () => {
done();
});
});
describe('blacklisted packages', () => {
afterEach(clearBlacklist);
it('does not serve blacklisted packages', done => {
withBlacklist(['bad-package'], () => {
request(server)
.get('/bad-package/index.js')
.end((err, res) => {
expect(res.statusCode).toBe(403);
done();
});
});
});
});
});

View File

@ -1,5 +0,0 @@
import { removeAllPackages } from '../../utils/blacklist';
export default function clearBlacklist(done) {
removeAllPackages().then(done, done);
}

View File

@ -1,5 +0,0 @@
import { addPackage } from '../../utils/blacklist';
export default function withBlacklist(blacklist, done) {
Promise.all(blacklist.map(addPackage)).then(done);
}