mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-23 22:11:09 +03:00
Updated mailgun-client test fixtures
- some of the existing tests return `items` as an empty array - the upcoming change to switch `mailgun-js` to `mailgun.js` means it's more strict about requiring `paging` too - this commit adds a new empty-response fixture so we can standardize using that across tests
This commit is contained in:
parent
9335b57741
commit
f48a48914a
9
ghost/mailgun-client/test/fixtures/empty.json
vendored
Normal file
9
ghost/mailgun-client/test/fixtures/empty.json
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"items": [],
|
||||||
|
"paging": {
|
||||||
|
"previous": "https://api.mailgun.net/v3/domain.com/events/empty-previous",
|
||||||
|
"first": "https://api.mailgun.net/v3/domain.com/events/empty-first",
|
||||||
|
"last": "https://api.mailgun.net/v3/domain.com/events/empty-last",
|
||||||
|
"next": "https://api.mailgun.net/v3/domain.com/events/empty-next"
|
||||||
|
}
|
||||||
|
}
|
@ -58,13 +58,13 @@ describe('MailgunClient', function () {
|
|||||||
const settingsStub = sinon.stub(settings, 'get');
|
const settingsStub = sinon.stub(settings, 'get');
|
||||||
settingsStub.withArgs('mailgun_api_key').returns('settingsApiKey');
|
settingsStub.withArgs('mailgun_api_key').returns('settingsApiKey');
|
||||||
settingsStub.withArgs('mailgun_domain').returns('settingsdomain.com');
|
settingsStub.withArgs('mailgun_domain').returns('settingsdomain.com');
|
||||||
settingsStub.withArgs('mailgun_base_url').returns('https://example.com/v3');
|
settingsStub.withArgs('mailgun_base_url').returns('https://api.mailgun.net');
|
||||||
|
|
||||||
const eventsMock1 = nock('https://example.com')
|
const eventsMock1 = nock('https://api.mailgun.net')
|
||||||
.get('/v3/settingsdomain.com/events')
|
.get('/v3/settingsdomain.com/events')
|
||||||
.query(MAILGUN_OPTIONS)
|
.query(MAILGUN_OPTIONS)
|
||||||
.reply(200, {'Content-Type': 'application/json'}, {
|
.replyWithFile(200, `${__dirname}/fixtures/empty.json`, {
|
||||||
items: []
|
'Content-Type': 'application/json'
|
||||||
});
|
});
|
||||||
|
|
||||||
const mailgunClient = new MailgunClient({config, settings});
|
const mailgunClient = new MailgunClient({config, settings});
|
||||||
@ -72,13 +72,13 @@ describe('MailgunClient', function () {
|
|||||||
|
|
||||||
settingsStub.withArgs('mailgun_api_key').returns('settingsApiKey2');
|
settingsStub.withArgs('mailgun_api_key').returns('settingsApiKey2');
|
||||||
settingsStub.withArgs('mailgun_domain').returns('settingsdomain2.com');
|
settingsStub.withArgs('mailgun_domain').returns('settingsdomain2.com');
|
||||||
settingsStub.withArgs('mailgun_base_url').returns('https://example2.com/v3');
|
settingsStub.withArgs('mailgun_base_url').returns('https://api.mailgun.net');
|
||||||
|
|
||||||
const eventsMock2 = nock('https://example2.com')
|
const eventsMock2 = nock('https://api.mailgun.net')
|
||||||
.get('/v3/settingsdomain2.com/events')
|
.get('/v3/settingsdomain2.com/events')
|
||||||
.query(MAILGUN_OPTIONS)
|
.query(MAILGUN_OPTIONS)
|
||||||
.reply(200, {'Content-Type': 'application/json'}, {
|
.replyWithFile(200, `${__dirname}/fixtures/empty.json`, {
|
||||||
items: []
|
'Content-Type': 'application/json'
|
||||||
});
|
});
|
||||||
|
|
||||||
await mailgunClient.fetchEvents(MAILGUN_OPTIONS, () => {});
|
await mailgunClient.fetchEvents(MAILGUN_OPTIONS, () => {});
|
||||||
@ -93,27 +93,27 @@ describe('MailgunClient', function () {
|
|||||||
mailgun: {
|
mailgun: {
|
||||||
apiKey: 'apiKey',
|
apiKey: 'apiKey',
|
||||||
domain: 'configdomain.com',
|
domain: 'configdomain.com',
|
||||||
baseUrl: 'https://configapi.com/v3'
|
baseUrl: 'https://api.mailgun.net'
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const settingsStub = sinon.stub(settings, 'get');
|
const settingsStub = sinon.stub(settings, 'get');
|
||||||
settingsStub.withArgs('mailgun_api_key').returns('settingsApiKey');
|
settingsStub.withArgs('mailgun_api_key').returns('settingsApiKey');
|
||||||
settingsStub.withArgs('mailgun_domain').returns('settingsdomain.com');
|
settingsStub.withArgs('mailgun_domain').returns('settingsdomain.com');
|
||||||
settingsStub.withArgs('mailgun_base_url').returns('https://settingsapi.com/v3');
|
settingsStub.withArgs('mailgun_base_url').returns('https://api.mailgun.net');
|
||||||
|
|
||||||
const configApiMock = nock('https://configapi.com')
|
const configApiMock = nock('https://api.mailgun.net')
|
||||||
.get('/v3/configdomain.com/events')
|
.get('/v3/configdomain.com/events')
|
||||||
.query(MAILGUN_OPTIONS)
|
.query(MAILGUN_OPTIONS)
|
||||||
.reply(200, {'Content-Type': 'application/json'}, {
|
.replyWithFile(200, `${__dirname}/fixtures/empty.json`, {
|
||||||
items: []
|
'Content-Type': 'application/json'
|
||||||
});
|
});
|
||||||
|
|
||||||
const settingsApiMock = nock('https://settingsapi.com')
|
const settingsApiMock = nock('https://api.mailgun.net')
|
||||||
.get('/v3/settingsdomain.com/events')
|
.get('/v3/settingsdomain.com/events')
|
||||||
.query(MAILGUN_OPTIONS)
|
.query(MAILGUN_OPTIONS)
|
||||||
.reply(200, {'Content-Type': 'application/json'}, {
|
.replyWithFile(200, `${__dirname}/fixtures/empty.json`, {
|
||||||
items: []
|
'Content-Type': 'application/json'
|
||||||
});
|
});
|
||||||
|
|
||||||
const mailgunClient = new MailgunClient({config, settings});
|
const mailgunClient = new MailgunClient({config, settings});
|
||||||
@ -161,6 +161,7 @@ describe('MailgunClient', function () {
|
|||||||
|
|
||||||
const secondPageMock = nock('https://api.mailgun.net')
|
const secondPageMock = nock('https://api.mailgun.net')
|
||||||
.get('/v3/domain.com/events/all-1-next')
|
.get('/v3/domain.com/events/all-1-next')
|
||||||
|
.query(MAILGUN_OPTIONS)
|
||||||
.replyWithFile(200, `${__dirname}/fixtures/all-2.json`, {
|
.replyWithFile(200, `${__dirname}/fixtures/all-2.json`, {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
});
|
});
|
||||||
@ -168,8 +169,9 @@ describe('MailgunClient', function () {
|
|||||||
// requests continue until an empty items set is returned
|
// requests continue until an empty items set is returned
|
||||||
nock('https://api.mailgun.net')
|
nock('https://api.mailgun.net')
|
||||||
.get('/v3/domain.com/events/all-2-next')
|
.get('/v3/domain.com/events/all-2-next')
|
||||||
.reply(200, {'Content-Type': 'application/json'}, {
|
.query(MAILGUN_OPTIONS)
|
||||||
items: []
|
.replyWithFile(200, `${__dirname}/fixtures/empty.json`, {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
});
|
});
|
||||||
|
|
||||||
const batchHandler = sinon.spy();
|
const batchHandler = sinon.spy();
|
||||||
@ -208,8 +210,8 @@ describe('MailgunClient', function () {
|
|||||||
// requests continue until an empty items set is returned
|
// requests continue until an empty items set is returned
|
||||||
nock('https://api.mailgun.net')
|
nock('https://api.mailgun.net')
|
||||||
.get('/v3/domain.com/events/all-2-next')
|
.get('/v3/domain.com/events/all-2-next')
|
||||||
.reply(200, {'Content-Type': 'application/json'}, {
|
.replyWithFile(200, `${__dirname}/fixtures/empty.json`, {
|
||||||
items: []
|
'Content-Type': 'application/json'
|
||||||
});
|
});
|
||||||
|
|
||||||
const batchHandler = sinon.stub().returnsArg(0);
|
const batchHandler = sinon.stub().returnsArg(0);
|
||||||
@ -244,6 +246,7 @@ describe('MailgunClient', function () {
|
|||||||
|
|
||||||
const secondPageMock = nock('https://api.eu.mailgun.net')
|
const secondPageMock = nock('https://api.eu.mailgun.net')
|
||||||
.get('/v3/domain.com/events/all-1-next')
|
.get('/v3/domain.com/events/all-1-next')
|
||||||
|
.query(MAILGUN_OPTIONS)
|
||||||
.replyWithFile(200, `${__dirname}/fixtures/all-2-eu.json`, {
|
.replyWithFile(200, `${__dirname}/fixtures/all-2-eu.json`, {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
});
|
});
|
||||||
@ -251,8 +254,9 @@ describe('MailgunClient', function () {
|
|||||||
// requests continue until an empty items set is returned
|
// requests continue until an empty items set is returned
|
||||||
nock('https://api.eu.mailgun.net')
|
nock('https://api.eu.mailgun.net')
|
||||||
.get('/v3/domain.com/events/all-2-next')
|
.get('/v3/domain.com/events/all-2-next')
|
||||||
.reply(200, {'Content-Type': 'application/json'}, {
|
.query(MAILGUN_OPTIONS)
|
||||||
items: []
|
.replyWithFile(200, `${__dirname}/fixtures/empty.json`, {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
});
|
});
|
||||||
|
|
||||||
const batchHandler = sinon.spy();
|
const batchHandler = sinon.spy();
|
||||||
|
Loading…
Reference in New Issue
Block a user