@sendgrid/client
Version:
Twilio SendGrid NodeJS API client
1,959 lines (1,794 loc) • 81.9 kB
JavaScript
'use strict';
const nock = require('nock');
const sgClient = require('./client');
let testClient = require('./client');
const testRequest = (request, statusCode) => {
const sgClient = require('./client');
sgClient.setApiKey('SG.API Key');
sgClient.setDefaultHeader('X-Mock', statusCode);
return sgClient
.request(request)
.then(([response, body]) => {
expect(response.statusCode).to.equal(statusCode);
});
};
describe('client', () => {
const sgClient = require('./client');
let consoleWarnSpy;
beforeEach(() => {
consoleWarnSpy = sinon.spy(console, 'warn');
});
afterEach(() => {
console.warn.restore();
nock.cleanAll();
});
describe('setApiKey', () => {
it('should not log a warning for a proper API key value', () => {
sgClient.setApiKey('SG.1234567890');
expect(consoleWarnSpy.notCalled).to.equal(true);
});
it('should log a warning for an undefined API key value', () => {
sgClient.setApiKey(undefined);
expect(consoleWarnSpy.calledOnce).to.equal(true);
});
it('should send requests to the SendGrid path', () => {
const scope = nock('https://api.sendgrid.com')
.matchHeader('Authorization', /^Bearer SG\.1234567890$/)
.get('/')
.reply(200, 'test response');
sgClient.setApiKey('SG.1234567890');
return sgClient.request({})
.then(() => scope.done());
});
});
describe('setTwilioEmailAuth', () => {
it('should not log a warning for proper creds', () => {
sgClient.setTwilioEmailAuth('username', 'password');
expect(consoleWarnSpy.notCalled).to.equal(true);
});
it('should log a warning for a null password', () => {
sgClient.setTwilioEmailAuth('username', null);
expect(consoleWarnSpy.calledOnce).to.equal(true);
});
it('should send requests to the Twilio Email path', () => {
const scope = nock('https://email.twilio.com')
.matchHeader('Authorization', /^Basic dXNlcm5hbWU6cGFzc3dvcmQ=$/)
.get('/')
.reply(200, 'test response');
sgClient.setTwilioEmailAuth('username', 'password');
return sgClient.request({})
.then(() => scope.done());
});
});
it('should allow large payloads', () => {
const request = {
body: {
content: [
{
type: 'text/plain',
value: '#'.repeat(1024 * 1024 * 10), // 10 MB,
},
],
from: {
email: 'me@you.com',
},
personalizations: [],
subject: 'Hello, World!',
},
method: 'POST',
url: '/v3/mail/send',
};
return testRequest(request, 202);
});
});
describe('setImpersonateSubuser', () => {
const impersonateSubuser = 'abcxyz@this.is.a.test.subuser';
const sgClient = require('./client');
sgClient.setImpersonateSubuser(impersonateSubuser);
it('should set the impersonate subuser header', () => {
expect(sgClient.impersonateSubuser).to.equal(impersonateSubuser);
});
});
describe('test_access_settings_activity_get', () => {
const request = {};
request.qs = {
limit: 1,
};
request.method = 'GET';
request.url = '/v3/access_settings/activity';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_access_settings_whitelist_post', () => {
const request = {};
request.body = {
ips: [
{
ip: '192.168.1.1',
},
{
ip: '192.*.*.*',
},
{
ip: '192.168.1.3/32',
},
],
};
request.method = 'POST';
request.url = '/v3/access_settings/whitelist';
it('should have the correct response code', () => {
return testRequest(request, 201);
});
});
describe('test_access_settings_whitelist_delete', () => {
const request = {};
request.body = {
ids: [
1,
2,
3,
],
};
request.method = 'DELETE';
request.url = '/v3/access_settings/whitelist';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_access_settings_whitelist_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/access_settings/whitelist';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_access_settings_whitelist__rule_id__delete', () => {
const request = {};
request.method = 'DELETE';
request.url = '/v3/access_settings/whitelist/{rule_id}';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_access_settings_whitelist__rule_id__get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/access_settings/whitelist/{rule_id}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_alerts_post', () => {
const request = {};
request.body = {
email_to: 'example@example.com',
frequency: 'daily',
type: 'stats_notification',
};
request.method = 'POST';
request.url = '/v3/alerts';
it('should have the correct response code', () => {
return testRequest(request, 201);
});
});
describe('test_alerts_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/alerts';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_alerts__alert_id__patch', () => {
const request = {};
request.body = {
email_to: 'example@example.com',
};
request.method = 'PATCH';
request.url = '/v3/alerts/{alert_id}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_alerts__alert_id__delete', () => {
const request = {};
request.method = 'DELETE';
request.url = '/v3/alerts/{alert_id}';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_alerts__alert_id__get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/alerts/{alert_id}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_api_keys_post', () => {
const request = {};
request.body = {
name: 'My API Key',
sample: 'data',
scopes: [
'mail.send',
'alerts.create',
'alerts.read',
],
};
request.method = 'POST';
request.url = '/v3/api_keys';
it('should have the correct response code', () => {
return testRequest(request, 201);
});
});
describe('test_api_keys_get', () => {
const request = {};
request.qs = {
limit: 1,
};
request.method = 'GET';
request.url = '/v3/api_keys';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_api_keys__api_key_id__put', () => {
const request = {};
request.body = {
name: 'A New Hope',
scopes: [
'user.profile.read',
'user.profile.update',
],
};
request.method = 'PUT';
request.url = '/v3/api_keys/{api_key_id}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_api_keys__api_key_id__patch', () => {
const request = {};
request.body = {
name: 'A New Hope',
};
request.method = 'PATCH';
request.url = '/v3/api_keys/{api_key_id}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_api_keys__api_key_id__delete', () => {
const request = {};
request.method = 'DELETE';
request.url = '/v3/api_keys/{api_key_id}';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_api_keys__api_key_id__get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/api_keys/{api_key_id}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_asm_groups_post', () => {
const request = {};
request.body = {
description: 'Suggestions for products our users might like.',
is_default: true,
name: 'Product Suggestions',
};
request.method = 'POST';
request.url = '/v3/asm/groups';
it('should have the correct response code', () => {
return testRequest(request, 201);
});
});
describe('test_asm_groups_get', () => {
const request = {};
request.qs = {
id: 1,
};
request.method = 'GET';
request.url = '/v3/asm/groups';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_asm_groups__group_id__delete', () => {
const request = {};
request.method = 'DELETE';
request.url = '/v3/asm/groups/{group_id}';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_asm_groups__group_id__patch', () => {
const request = {};
request.body = {
description: 'Suggestions for items our users might like.',
id: 103,
name: 'Item Suggestions',
};
request.method = 'PATCH';
request.url = '/v3/asm/groups/{group_id}';
it('should have the correct response code', () => {
return testRequest(request, 201);
});
});
describe('test_asm_groups__group_id__get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/asm/groups/{group_id}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_asm_groups__group_id__suppressions_post', () => {
const request = {};
request.body = {
recipient_emails: [
'test1@example.com',
'test2@example.com',
],
};
request.method = 'POST';
request.url = '/v3/asm/groups/{group_id}/suppressions';
it('should have the correct response code', () => {
return testRequest(request, 201);
});
});
describe('test_asm_groups__group_id__suppressions_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/asm/groups/{group_id}/suppressions';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_asm_groups__group_id__suppressions_search_post', () => {
const request = {};
request.body = {
recipient_emails: [
'exists1@example.com',
'exists2@example.com',
'doesnotexists@example.com',
],
};
request.method = 'POST';
request.url = '/v3/asm/groups/{group_id}/suppressions/search';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_asm_groups__group_id__suppressions__email__delete', () => {
const request = {};
request.method = 'DELETE';
request.url = '/v3/asm/groups/{group_id}/suppressions/{email}';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_asm_suppressions_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/asm/suppressions';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_asm_suppressions_global_post', () => {
const request = {};
request.body = {
recipient_emails: [
'test1@example.com',
'test2@example.com',
],
};
request.method = 'POST';
request.url = '/v3/asm/suppressions/global';
it('should have the correct response code', () => {
return testRequest(request, 201);
});
});
describe('test_asm_suppressions_global__email__delete', () => {
const request = {};
request.method = 'DELETE';
request.url = '/v3/asm/suppressions/global/{email}';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_asm_suppressions_global__email__get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/asm/suppressions/global/{email}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_asm_suppressions__email__get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/asm/suppressions/{email}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_browsers_stats_get', () => {
const request = {};
request.qs = {
aggregated_by: 'day',
browsers: 'test_string',
end_date: '2016-04-01',
limit: 'test_string',
offset: 'test_string',
start_date: '2016-01-01',
};
request.method = 'GET';
request.url = '/v3/browsers/stats';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_campaigns_post', () => {
const request = {};
request.body = {
categories: [
'spring line',
],
custom_unsubscribe_url: '',
html_content: '<html><head><title></title></head><body><p>Check out our spring line!</p></body></html>',
ip_pool: 'marketing',
list_ids: [
110,
124,
],
plain_content: 'Check out our spring line!',
segment_ids: [
110,
],
sender_id: 124451,
subject: 'New Products for Spring!',
suppression_group_id: 42,
title: 'March Newsletter',
};
request.method = 'POST';
request.url = '/v3/campaigns';
it('should have the correct response code', () => {
return testRequest(request, 201);
});
});
describe('test_campaigns_get', () => {
const request = {};
request.qs = {
limit: 1,
offset: 1,
};
request.method = 'GET';
request.url = '/v3/campaigns';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_campaigns__campaign_id__patch', () => {
const request = {};
request.body = {
categories: [
'summer line',
],
html_content: '<html><head><title></title></head><body><p>Check out our summer line!</p></body></html>',
plain_content: 'Check out our summer line!',
subject: 'New Products for Summer!',
title: 'May Newsletter',
};
request.method = 'PATCH';
request.url = '/v3/campaigns/{campaign_id}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_campaigns__campaign_id__delete', () => {
const request = {};
request.method = 'DELETE';
request.url = '/v3/campaigns/{campaign_id}';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_campaigns__campaign_id__get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/campaigns/{campaign_id}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_campaigns__campaign_id__schedules_delete', () => {
const request = {};
request.method = 'DELETE';
request.url = '/v3/campaigns/{campaign_id}/schedules';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_campaigns__campaign_id__schedules_post', () => {
const request = {};
request.body = {
send_at: 1489771528,
};
request.method = 'POST';
request.url = '/v3/campaigns/{campaign_id}/schedules';
it('should have the correct response code', () => {
return testRequest(request, 201);
});
});
describe('test_campaigns__campaign_id__schedules_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/campaigns/{campaign_id}/schedules';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_campaigns__campaign_id__schedules_patch', () => {
const request = {};
request.body = {
send_at: 1489451436,
};
request.method = 'PATCH';
request.url = '/v3/campaigns/{campaign_id}/schedules';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_campaigns__campaign_id__schedules_now_post', () => {
const request = {};
request.method = 'POST';
request.url = '/v3/campaigns/{campaign_id}/schedules/now';
it('should have the correct response code', () => {
return testRequest(request, 201);
});
});
describe('test_campaigns__campaign_id__schedules_test_post', () => {
const request = {};
request.body = {
to: 'your.email@example.com',
};
request.method = 'POST';
request.url = '/v3/campaigns/{campaign_id}/schedules/test';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_categories_get', () => {
const request = {};
request.qs = {
category: 'test_string',
limit: 1,
offset: 1,
};
request.method = 'GET';
request.url = '/v3/categories';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_categories_stats_get', () => {
const request = {};
request.qs = {
aggregated_by: 'day',
categories: 'test_string',
end_date: '2016-04-01',
limit: 1,
offset: 1,
start_date: '2016-01-01',
};
request.method = 'GET';
request.url = '/v3/categories/stats';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_categories_stats_sums_get', () => {
const request = {};
request.qs = {
aggregated_by: 'day',
end_date: '2016-04-01',
limit: 1,
offset: 1,
sort_by_direction: 'asc',
sort_by_metric: 'test_string',
start_date: '2016-01-01',
};
request.method = 'GET';
request.url = '/v3/categories/stats/sums';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_clients_stats_get', () => {
const request = {};
request.qs = {
aggregated_by: 'day',
end_date: '2016-04-01',
start_date: '2016-01-01',
};
request.method = 'GET';
request.url = '/v3/clients/stats';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_clients__client_type__stats_get', () => {
const request = {};
request.qs = {
aggregated_by: 'day',
end_date: '2016-04-01',
start_date: '2016-01-01',
};
request.method = 'GET';
request.url = '/v3/clients/{client_type}/stats';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_contactdb_custom_fields_post', () => {
const request = {};
request.body = {
name: 'pet',
type: 'text',
};
request.method = 'POST';
request.url = '/v3/contactdb/custom_fields';
it('should have the correct response code', () => {
return testRequest(request, 201);
});
});
describe('test_contactdb_custom_fields_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/contactdb/custom_fields';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_contactdb_custom_fields__custom_field_id__delete', () => {
const request = {};
request.method = 'DELETE';
request.url = '/v3/contactdb/custom_fields/{custom_field_id}';
it('should have the correct response code', () => {
return testRequest(request, 202);
});
});
describe('test_contactdb_custom_fields__custom_field_id__get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/contactdb/custom_fields/{custom_field_id}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_contactdb_lists_post', () => {
const request = {};
request.body = {
name: 'your list name',
};
request.method = 'POST';
request.url = '/v3/contactdb/lists';
it('should have the correct response code', () => {
return testRequest(request, 201);
});
});
describe('test_contactdb_lists_delete', () => {
const request = {};
request.body = [
1,
2,
3,
4,
];
request.method = 'DELETE';
request.url = '/v3/contactdb/lists';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_contactdb_lists_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/contactdb/lists';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_contactdb_lists__list_id__delete', () => {
const request = {};
request.qs = {
delete_contacts: 'true',
};
request.method = 'DELETE';
request.url = '/v3/contactdb/lists/{list_id}';
it('should have the correct response code', () => {
return testRequest(request, 202);
});
});
describe('test_contactdb_lists__list_id__patch', () => {
const request = {};
request.body = {
name: 'newlistname',
};
request.qs = {
list_id: 1,
};
request.method = 'PATCH';
request.url = '/v3/contactdb/lists/{list_id}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_contactdb_lists__list_id__get', () => {
const request = {};
request.qs = {
list_id: 1,
};
request.method = 'GET';
request.url = '/v3/contactdb/lists/{list_id}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_contactdb_lists__list_id__recipients_post', () => {
const request = {};
request.body = [
'recipient_id1',
'recipient_id2',
];
request.method = 'POST';
request.url = '/v3/contactdb/lists/{list_id}/recipients';
it('should have the correct response code', () => {
return testRequest(request, 201);
});
});
describe('test_contactdb_lists__list_id__recipients_get', () => {
const request = {};
request.qs = {
list_id: 1,
page: 1,
page_size: 1,
};
request.method = 'GET';
request.url = '/v3/contactdb/lists/{list_id}/recipients';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_contactdb_lists__list_id__recipients__recipient_id__post', () => {
const request = {};
request.method = 'POST';
request.url = '/v3/contactdb/lists/{list_id}/recipients/{recipient_id}';
it('should have the correct response code', () => {
return testRequest(request, 201);
});
});
describe('test_contactdb_lists__list_id__recipients__recipient_id__delete', () => {
const request = {};
request.qs = {
list_id: 1,
recipient_id: 1,
};
request.method = 'DELETE';
request.url = '/v3/contactdb/lists/{list_id}/recipients/{recipient_id}';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_contactdb_recipients_post', () => {
const request = {};
request.body = [
{
age: 25,
email: 'example@example.com',
first_name: '',
last_name: 'User',
},
{
age: 25,
email: 'example2@example.com',
first_name: 'Example',
last_name: 'User',
},
];
request.method = 'POST';
request.url = '/v3/contactdb/recipients';
it('should have the correct response code', () => {
return testRequest(request, 201);
});
});
describe('test_contactdb_recipients_delete', () => {
const request = {};
request.body = [
'recipient_id1',
'recipient_id2',
];
request.method = 'DELETE';
request.url = '/v3/contactdb/recipients';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_contactdb_recipients_get', () => {
const request = {};
request.qs = {
page: 1,
page_size: 1,
};
request.method = 'GET';
request.url = '/v3/contactdb/recipients';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_contactdb_recipients_patch', () => {
const request = {};
request.body = [
{
email: 'jones@example.com',
first_name: 'Guy',
last_name: 'Jones',
},
];
request.method = 'PATCH';
request.url = '/v3/contactdb/recipients';
it('should have the correct response code', () => {
return testRequest(request, 201);
});
});
describe('test_contactdb_recipients_billable_count_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/contactdb/recipients/billable_count';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_contactdb_recipients_count_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/contactdb/recipients/count';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_contactdb_recipients_search_get', () => {
const request = {};
request.qs = {
'{field_name}': 'test_string',
};
request.method = 'GET';
request.url = '/v3/contactdb/recipients/search';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_contactdb_recipients__recipient_id__delete', () => {
const request = {};
request.method = 'DELETE';
request.url = '/v3/contactdb/recipients/{recipient_id}';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_contactdb_recipients__recipient_id__get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/contactdb/recipients/{recipient_id}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_contactdb_recipients__recipient_id__lists_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/contactdb/recipients/{recipient_id}/lists';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_contactdb_reserved_fields_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/contactdb/reserved_fields';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_contactdb_segments_post', () => {
const request = {};
request.body = {
conditions: [
{
and_or: '',
field: 'last_name',
operator: 'eq',
value: 'Miller',
},
{
and_or: 'and',
field: 'last_clicked',
operator: 'gt',
value: '01/02/2015',
},
{
and_or: 'or',
field: 'clicks.campaign_identifier',
operator: 'eq',
value: '513',
},
],
list_id: 4,
name: 'Last Name Miller',
};
request.method = 'POST';
request.url = '/v3/contactdb/segments';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_contactdb_segments_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/contactdb/segments';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_contactdb_segments__segment_id__delete', () => {
const request = {};
request.qs = {
delete_contacts: 'true',
};
request.method = 'DELETE';
request.url = '/v3/contactdb/segments/{segment_id}';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_contactdb_segments__segment_id__patch', () => {
const request = {};
request.body = {
conditions: [
{
and_or: '',
field: 'last_name',
operator: 'eq',
value: 'Miller',
},
],
list_id: 5,
name: 'The Millers',
};
request.qs = {
segment_id: 'test_string',
};
request.method = 'PATCH';
request.url = '/v3/contactdb/segments/{segment_id}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_contactdb_segments__segment_id__get', () => {
const request = {};
request.qs = {
segment_id: 1,
};
request.method = 'GET';
request.url = '/v3/contactdb/segments/{segment_id}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_contactdb_segments__segment_id__recipients_get', () => {
const request = {};
request.qs = {
page: 1,
page_size: 1,
};
request.method = 'GET';
request.url = '/v3/contactdb/segments/{segment_id}/recipients';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_contactdb_status_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/contactdb/status';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_devices_stats_get', () => {
const request = {};
request.qs = {
aggregated_by: 'day',
end_date: '2016-04-01',
limit: 1,
offset: 1,
start_date: '2016-01-01',
};
request.method = 'GET';
request.url = '/v3/devices/stats';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_geo_stats_get', () => {
const request = {};
request.qs = {
aggregated_by: 'day',
country: 'US',
end_date: '2016-04-01',
limit: 1,
offset: 1,
start_date: '2016-01-01',
};
request.method = 'GET';
request.url = '/v3/geo/stats';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_ips_post', () => {
const request = {};
request.body = {
count: 90323478,
subusers: [
'subuser1',
'subuser2',
],
user_can_send: true,
warmup: true,
};
request.method = 'POST';
request.url = '/v3/ips';
it('should have the correct response code', () => {
return testRequest(request, 201);
});
});
describe('test_ips_get', () => {
const request = {};
request.qs = {
exclude_whitelabels: 'true',
ip: 'test_string',
limit: 1,
offset: 1,
sort_by_direction: 'asc',
subuser: 'test_string',
};
request.method = 'GET';
request.url = '/v3/ips';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_ips_assigned_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/ips/assigned';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_ips_pools_post', () => {
const request = {};
request.body = {
name: 'marketing',
};
request.method = 'POST';
request.url = '/v3/ips/pools';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_ips_pools_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/ips/pools';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_ips_pools__pool_name__put', () => {
const request = {};
request.body = {
name: 'new_pool_name',
};
request.method = 'PUT';
request.url = '/v3/ips/pools/{pool_name}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_ips_pools__pool_name__delete', () => {
const request = {};
request.method = 'DELETE';
request.url = '/v3/ips/pools/{pool_name}';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_ips_pools__pool_name__get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/ips/pools/{pool_name}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_ips_pools__pool_name__ips_post', () => {
const request = {};
request.body = {
ip: '0.0.0.0',
};
request.method = 'POST';
request.url = '/v3/ips/pools/{pool_name}/ips';
it('should have the correct response code', () => {
return testRequest(request, 201);
});
});
describe('test_ips_pools__pool_name__ips__ip__delete', () => {
const request = {};
request.method = 'DELETE';
request.url = '/v3/ips/pools/{pool_name}/ips/{ip}';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_ips_remaining_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/ips/remaining';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_ips_warmup_post', () => {
const request = {};
request.body = {
ip: '0.0.0.0',
};
request.method = 'POST';
request.url = '/v3/ips/warmup';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_ips_warmup_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/ips/warmup';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_ips_warmup__ip_address__delete', () => {
const request = {};
request.method = 'DELETE';
request.url = '/v3/ips/warmup/{ip_address}';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_ips_warmup__ip_address__get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/ips/warmup/{ip_address}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_ips__ip_address__get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/ips/{ip_address}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_mail_batch_post', () => {
const request = {};
request.method = 'POST';
request.url = '/v3/mail/batch';
it('should have the correct response code', () => {
return testRequest(request, 201);
});
});
describe('test_mail_batch__batch_id__get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/mail/batch/{batch_id}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_mail_send_post', () => {
const request = {};
request.body = {
content: [
{
type: 'text/html',
value: '<html><p>Hello, world!</p></html>',
},
],
from: {
email: 'sam.smith@example.com',
name: 'Sam Smith',
},
personalizations: [
{
subject: 'Hello, World!',
to: [
{
email: 'john.doe@example.com',
name: 'John Doe',
},
],
},
],
reply_to: {
email: 'sam.smith@example.com',
name: 'Sam Smith',
},
subject: 'Hello, World!',
};
request.method = 'POST';
request.url = '/v3/mail/send';
it('should have the correct response code', () => {
return testRequest(request, 202);
});
});
describe('test_mail_settings_get', () => {
const request = {};
request.qs = {
limit: 1,
offset: 1,
};
request.method = 'GET';
request.url = '/v3/mail_settings';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_mail_settings_address_whitelist_patch', () => {
const request = {};
request.body = {
enabled: true,
list: [
'email1@example.com',
'example.com',
],
};
request.method = 'PATCH';
request.url = '/v3/mail_settings/address_whitelist';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_mail_settings_address_whitelist_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/mail_settings/address_whitelist';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_mail_settings_bcc_patch', () => {
const request = {};
request.body = {
email: 'email@example.com',
enabled: false,
};
request.method = 'PATCH';
request.url = '/v3/mail_settings/bcc';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_mail_settings_bcc_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/mail_settings/bcc';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_mail_settings_bounce_purge_patch', () => {
const request = {};
request.body = {
enabled: true,
hard_bounces: 5,
soft_bounces: 5,
};
request.method = 'PATCH';
request.url = '/v3/mail_settings/bounce_purge';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_mail_settings_bounce_purge_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/mail_settings/bounce_purge';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_mail_settings_footer_patch', () => {
const request = {};
request.body = {
enabled: true,
html_content: '...',
plain_content: '...',
};
request.method = 'PATCH';
request.url = '/v3/mail_settings/footer';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_mail_settings_footer_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/mail_settings/footer';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_mail_settings_forward_bounce_patch', () => {
const request = {};
request.body = {
email: 'example@example.com',
enabled: true,
};
request.method = 'PATCH';
request.url = '/v3/mail_settings/forward_bounce';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_mail_settings_forward_bounce_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/mail_settings/forward_bounce';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_mail_settings_forward_spam_patch', () => {
const request = {};
request.body = {
email: '',
enabled: false,
};
request.method = 'PATCH';
request.url = '/v3/mail_settings/forward_spam';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_mail_settings_forward_spam_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/mail_settings/forward_spam';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_mail_settings_plain_content_patch', () => {
const request = {};
request.body = {
enabled: false,
};
request.method = 'PATCH';
request.url = '/v3/mail_settings/plain_content';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_mail_settings_plain_content_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/mail_settings/plain_content';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_mail_settings_spam_check_patch', () => {
const request = {};
request.body = {
enabled: true,
max_score: 5,
url: 'url',
};
request.method = 'PATCH';
request.url = '/v3/mail_settings/spam_check';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_mail_settings_spam_check_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/mail_settings/spam_check';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_mail_settings_template_patch', () => {
const request = {};
request.body = {
enabled: true,
html_content: '<% body %>',
};
request.method = 'PATCH';
request.url = '/v3/mail_settings/template';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_mail_settings_template_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/mail_settings/template';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_mailbox_providers_stats_get', () => {
const request = {};
request.qs = {
aggregated_by: 'day',
end_date: '2016-04-01',
limit: 1,
mailbox_providers: 'test_string',
offset: 1,
start_date: '2016-01-01',
};
request.method = 'GET';
request.url = '/v3/mailbox_providers/stats';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_partner_settings_get', () => {
const request = {};
request.qs = {
limit: 1,
offset: 1,
};
request.method = 'GET';
request.url = '/v3/partner_settings';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_partner_settings_new_relic_patch', () => {
const request = {};
request.body = {
enable_subuser_statistics: true,
enabled: true,
license_key: '',
};
request.method = 'PATCH';
request.url = '/v3/partner_settings/new_relic';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_partner_settings_new_relic_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/partner_settings/new_relic';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_scopes_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/scopes';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_scopes_requests_get', () => {
const request = {};
request.qs = {
limit: 1,
offset: 1,
};
request.method = 'GET';
request.url = '/v3/scopes/requests';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_scopes_requests__request_id__delete', () => {
const request = {};
request.method = 'DELETE';
request.url = '/v3/scopes/requests/{request_id}';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_scopes_requests__request_id__approve_patch', () => {
const request = {};
request.method = 'PATCH';
request.url = '/v3/scopes/requests/{request_id}/approve';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_senders_post', () => {
const request = {};
request.body = {
address: '123 Elm St.',
address_2: 'Apt. 456',
city: 'Denver',
country: 'United States',
from: {
email: 'from@example.com',
name: 'Example INC',
},
nickname: 'My Sender ID',
reply_to: {
email: 'replyto@example.com',
name: 'Example INC',
},
state: 'Colorado',
zip: '80202',
};
request.method = 'POST';
request.url = '/v3/senders';
it('should have the correct response code', () => {
return testRequest(request, 201);
});
});
describe('test_senders_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/senders';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_senders__sender_id__get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/senders/{sender_id}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_senders__sender_id__delete', () => {
const request = {};
request.method = 'DELETE';
request.url = '/v3/senders/{sender_id}';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_senders__sender_id__patch', () => {
const request = {};
request.body = {
address: '123 Elm St.',
address_2: 'Apt. 456',
city: 'Denver',
country: 'United States',
from: {
email: 'from@example.com',
name: 'Example INC',
},
nickname: 'My Sender ID',
reply_to: {
email: 'replyto@example.com',
name: 'Example INC',
},
state: 'Colorado',
zip: '80202',
};
request.method = 'PATCH';
request.url = '/v3/senders/{sender_id}';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_senders__sender_id__resend_verification_post', () => {
const request = {};
request.method = 'POST';
request.url = '/v3/senders/{sender_id}/resend_verification';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_stats_get', () => {
const request = {};
request.qs = {
aggregated_by: 'day',
end_date: '2016-04-01',
limit: 1,
offset: 1,
start_date: '2016-01-01',
};
request.method = 'GET';
request.url = '/v3/stats';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_subusers_post', () => {
const request = {};
request.body = {
email: 'John@example.com',
ips: [
'1.1.1.1',
'2.2.2.2',
],
password: 'johns_password',
username: 'John@example.com',
};
request.method = 'POST';
request.url = '/v3/subusers';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_subusers_get', () => {
const request = {};
request.qs = {
limit: 1,
offset: 1,
username: 'test_string',
};
request.method = 'GET';
request.url = '/v3/subusers';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_subusers_reputations_get', () => {
const request = {};
request.qs = {
usernames: 'test_string',
};
request.method = 'GET';
request.url = '/v3/subusers/reputations';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_subusers_stats_get', () => {
const request = {};
request.qs = {
aggregated_by: 'day',
end_date: '2016-04-01',
limit: 1,
offset: 1,
start_date: '2016-01-01',
subusers: 'test_string',
};
request.method = 'GET';
request.url = '/v3/subusers/stats';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_subusers_stats_monthly_get', () => {
const request = {};
request.qs = {
date: 'test_string',
limit: 1,
offset: 1,
sort_by_direction: 'asc',
sort_by_metric: 'test_string',
subuser: 'test_string',
};
request.method = 'GET';
request.url = '/v3/subusers/stats/monthly';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_subusers_stats_sums_get', () => {
const request = {};
request.qs = {
aggregated_by: 'day',
end_date: '2016-04-01',
limit: 1,
offset: 1,
sort_by_direction: 'asc',
sort_by_metric: 'test_string',
start_date: '2016-01-01',
};
request.method = 'GET';
request.url = '/v3/subusers/stats/sums';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_subusers__subuser_name__delete', () => {
const request = {};
request.method = 'DELETE';
request.url = '/v3/subusers/{subuser_name}';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_subusers__subuser_name__patch', () => {
const request = {};
request.body = {
disabled: false,
};
request.method = 'PATCH';
request.url = '/v3/subusers/{subuser_name}';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_subusers__subuser_name__ips_put', () => {
const request = {};
request.body = [
'127.0.0.1',
];
request.method = 'PUT';
request.url = '/v3/subusers/{subuser_name}/ips';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_subusers__subuser_name__monitor_put', () => {
const request = {};
request.body = {
email: 'example@example.com',
frequency: 500,
};
request.method = 'PUT';
request.url = '/v3/subusers/{subuser_name}/monitor';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_subusers__subuser_name__monitor_post', () => {
const request = {};
request.body = {
email: 'example@example.com',
frequency: 50000,
};
request.method = 'POST';
request.url = '/v3/subusers/{subuser_name}/monitor';
it('should have the correct response code', () => {
return testRequest(request, 200);
});
});
describe('test_subusers__subuser_name__monitor_delete', () => {
const request = {};
request.method = 'DELETE';
request.url = '/v3/subusers/{subuser_name}/monitor';
xit('should have the correct response code', () => {
return testRequest(request, 204);
});
});
describe('test_subusers__subuser_name__monitor_get', () => {
const request = {};
request.method = 'GET';
request.url = '/v3/subusers/{subuser_name}/monitor';
it('should have the correct response code', () => {
return te