test('fetchChangelogBody(<version>)', (t) => { const releasePost = require('../../scripts/release-post') const changelogFixture = path.resolve(__dirname, 'CHANGELOG.fixture.md') t.test('does not include `## header` in matched version section', (t) => { const github = nock('https://raw.githubusercontent.com') .get('/nodejs/node/master/doc/changelogs/CHANGELOG_V4.md') .replyWithFile(200, changelogFixture) releasePost.fetchChangelogBody('4.1.0').then((body) => { t.true(body.startsWith('### Notable changes')) t.true(github.isDone(), 'githubusercontent.com was requested') t.end() }, t.fail) }) t.end() })
test('Should remove by url', done => { const rmServer = nock('http://localhost:8080').post(`/remove/${url}`).reply(204); const consoleSpy = sinon.spy(console, 'log'); remove({id: url}).then(() => { // make sure log in was successful // check that server was called expect(rmServer.isDone()).toBeTruthy(); // first check console output expect(consoleSpy.args).toMatchSnapshot(); // restore console console.log.restore(); rmServer.done(); done(); }); });
// test failure test('Should not login with wrong certificate', done => { // stup inquirer answers sinon.stub(inquirer, 'prompt').callsFake(() => Promise.resolve(failedLogin.user)); // spy on console const consoleSpy = sinon.spy(console, 'log'); // execute login login({key: privateKeyNameBroken}).then(() => { // make sure log in was successful // check that server was called expect(failedLoginSrv.isDone()).toBeTruthy(); // first check console output expect(consoleSpy.args).toMatchSnapshot(); // restore inquirer inquirer.prompt.restore(); // restore console console.log.restore(); done(); }); });
// test list test('Should get list of deployments', done => { // handle correct request const listServer = nock('http://localhost:8080').get(`/list`).reply(200, {containers}); // spy on console const consoleSpy = sinon.spy(console, 'log'); // execute login list().then(() => { // make sure log in was successful // check that server was called expect(listServer.isDone()).toBeTruthy(); // first check console output expect(consoleSpy.args).toMatchSnapshot(); // restore console console.log.restore(); listServer.done(); done(); }); });
// test update error test('Should display update error', done => { // handle correct request const response = {updated: false, error: 'Test error', log: 'log'}; const updateServer = nock('http://localhost:8080').post('/update/traefik').reply(500, response); // spy on console const consoleSpy = sinon.spy(console, 'log'); // execute login update({target: 'traefik'}).then(() => { // make sure log in was successful // check that server was called expect(updateServer.isDone()).toBeTruthy(); // first check console output expect(consoleSpy.args).toMatchSnapshot(); // restore console console.log.restore(); updateServer.done(); done(); }); });
// test update test('Should execute prune', done => { // handle correct request const pruneServer = nock('http://localhost:8080') .post('/system/prune') .reply(200, {pruned: true, data: [{SpaceReclaimed: 1024}]}); // spy on console const consoleSpy = sinon.spy(console, 'log'); // execute login system({cmd: 'prune'}).then(() => { // make sure log in was successful // check that server was called expect(pruneServer.isDone()).toBeTruthy(); // first check console output expect(consoleSpy.args).toMatchSnapshot(); // restore console console.log.restore(); pruneServer.done(); done(); }); });
test('Should remove by token instead of default auth', done => { const rmServer = nock('http://localhost:8080').post(`/remove/${id}`).reply(204); const consoleSpy = sinon.spy(console, 'log'); remove({id: id, token: 'test-token'}).then(() => { // make sure log in was successful // check that server was called expect(rmServer.isDone()).toBeTruthy(); // first check console output expect(consoleSpy.args).toMatchSnapshot(); // restore console console.log.restore(); rmServer.done(); done(); }); });
// test removal error on incorrect success code test('Should show not found error', done => { // handle correct request const rmServer = nock('http://localhost:8080').post(`/remove/${id}`).reply(200); // spy on console const consoleSpy = sinon.spy(console, 'log'); // execute login remove({id}).then(() => { // make sure log in was successful // check that server was called expect(rmServer.isDone()).toBeTruthy(); // first check console output expect(consoleSpy.args).toMatchSnapshot(); // restore console console.log.restore(); rmServer.done(); done(); }); });
// test update test('Should update traefik', done => { // handle correct request const updateServer = nock('http://localhost:8080').post('/update/traefik').reply(200, {updated: true}); // spy on console const consoleSpy = sinon.spy(console, 'log'); // execute login update({target: 'traefik'}).then(() => { // make sure log in was successful // check that server was called expect(updateServer.isDone()).toBeTruthy(); // first check console output expect(consoleSpy.args).toMatchSnapshot(); // restore console console.log.restore(); updateServer.done(); done(); }); });
// test removal error test('Should show not found error', done => { // handle correct request const rmServer = nock('http://localhost:8080').post(`/remove/${id}`).reply(404); // spy on console const consoleSpy = sinon.spy(console, 'log'); // execute login remove({id}).then(() => { // make sure log in was successful // check that server was called expect(rmServer.isDone()).toBeTruthy(); // first check console output expect(consoleSpy.args).toMatchSnapshot(); // restore console console.log.restore(); rmServer.done(); done(); }); });