You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.1 KiB
81 lines
2.1 KiB
4 years ago
|
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();
|
||
|
})();
|
||
|
|