mirror of
https://github.com/jambonz/speech-utils.git
synced 2025-12-19 03:37:49 +00:00
49 lines
1.6 KiB
JavaScript
49 lines
1.6 KiB
JavaScript
const test = require('tape').test ;
|
|
const config = require('config');
|
|
const opts = config.get('redis');
|
|
const logger = require('pino')({level: 'error'});
|
|
process.on('unhandledRejection', (reason, p) => {
|
|
console.log('Unhandled Rejection at: Promise', p, 'reason:', reason);
|
|
});
|
|
|
|
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
|
|
test('AWS - create and cache auth token', async(t) => {
|
|
const fn = require('..');
|
|
const {client, getAwsAuthToken} = fn(opts, logger);
|
|
|
|
if (!process.env.AWS_ACCESS_KEY_ID || !process.env.AWS_SECRET_ACCESS_KEY || !process.env.AWS_REGION) {
|
|
t.pass('skipping AWS auth token tests since no AWS credentials provided');
|
|
t.end();
|
|
client.quit();
|
|
return;
|
|
}
|
|
try {
|
|
let obj = await getAwsAuthToken({
|
|
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
|
|
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
|
|
region: process.env.AWS_REGION
|
|
});
|
|
//console.log({obj}, 'received auth token from AWS');
|
|
t.ok(obj.securityToken && !obj.servedFromCache, 'successfullY generated auth token from AWS');
|
|
|
|
await sleep(250);
|
|
obj = await getAwsAuthToken({
|
|
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
|
|
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
|
|
region: process.env.AWS_REGION
|
|
});
|
|
//console.log({obj}, 'received auth token from AWS - second request');
|
|
t.ok(obj.securityToken && obj.servedFromCache, 'successfully received access token from cache');
|
|
|
|
await client.flushall();
|
|
t.end();
|
|
}
|
|
catch (err) {
|
|
console.error(err);
|
|
t.end(err);
|
|
}
|
|
client.quit();
|
|
});
|
|
|