const { Autohook } = require('../'); const nock = require('nock'); const assert = require('assert'); const oauth = { consumer_key: 'test', consumer_secret: 'test', token: 'test', token_secret: 'test', }; const errorMessage = 'test error'; const response = { statusCode: 403, body: { errors: [{ message: errorMessage, code: 1337, }], }, req: { path: '/example', }, headers: { 'x-rate-limit-reset': new Date().getTime(), } }; const environment = 'test'; const userId = '100001337'; const webhookId = '133700001337'; const webhookUrl = 'https://example.com/webhook/1'; const webhook = new Autohook({...oauth, env: environment}); // Bearer token error (async () => { response.statusCode = 403; const scope = nock('https://api.twitter.com') .post('/oauth2/token', 'grant_type=client_credentials') .reply(() => [response.statusCode, response.body, response.headers]) await assert.rejects(webhook.removeWebhooks(), { name: 'BearerTokenError' }); nock.cleanAll(); })(); // URIError on getWebhooks (async () => { response.statusCode = 555; nock.cleanAll(); const scope = nock('https://api.twitter.com') .post('/oauth2/token', 'grant_type=client_credentials') .reply(200, {token_type: 'bearer', access_token: 'test'}) .get(`/1.1/account_activity/all/${environment}/webhooks.json`) .reply(() => [response.statusCode, response.body, response.headers]) await assert.rejects(webhook.removeWebhooks(), { name: 'URIError' }); nock.cleanAll(); })(); // URIError on deleteWebhooks (async () => { response.statusCode = 555; const scope = nock('https://api.twitter.com') .post('/oauth2/token', 'grant_type=client_credentials') .reply(200, {token_type: 'bearer', access_token: 'test'}) .get(`/1.1/account_activity/all/${environment}/webhooks.json`) .reply(200, [{id: webhookId, url: webhookUrl}]) .delete(`/1.1/account_activity/all/${environment}/webhooks/${webhookId}.json`) .reply(() => [response.statusCode, response.body, response.headers]) await assert.rejects(webhook.removeWebhooks(), { name: 'URIError' }); nock.cleanAll(); })();