67 lines
1.4 KiB
TypeScript
67 lines
1.4 KiB
TypeScript
import { expect, tap } from '@pushrocks/tapbundle';
|
|
import * as webrequest from '../ts/index';
|
|
import * as fetch from 'node-fetch';
|
|
|
|
declare global {
|
|
namespace NodeJS {
|
|
interface Global {
|
|
fetch: any;
|
|
}
|
|
}
|
|
}
|
|
global.fetch = fetch;
|
|
|
|
|
|
// test dependencies
|
|
import * as smartexpress from '@pushrocks/smartexpress';
|
|
|
|
let testServer: smartexpress.Server;
|
|
|
|
tap.test('setup test server', async () => {
|
|
testServer = new smartexpress.Server({
|
|
cors: false,
|
|
forceSsl: false,
|
|
port: 2345
|
|
});
|
|
|
|
testServer.addRoute('/apiroute1', new smartexpress.Handler("GET", (req, res) => {
|
|
res.status(429);
|
|
res.end();
|
|
}));
|
|
|
|
testServer.addRoute('/apiroute2', new smartexpress.Handler("GET", (req, res) => {
|
|
res.status(500);
|
|
res.end();
|
|
}));
|
|
|
|
testServer.addRoute('/apiroute3', new smartexpress.Handler("GET", (req, res) => {
|
|
res.status(200);
|
|
res.send({
|
|
hithere: 'hi'
|
|
});
|
|
}));
|
|
|
|
await testServer.start();
|
|
})
|
|
|
|
tap.test('first test', async (tools) => {
|
|
const response = await (new webrequest.WebRequest()).request([
|
|
'http://localhost:2345/apiroute1',
|
|
'http://localhost:2345/apiroute2',
|
|
'http://localhost:2345/apiroute4',
|
|
'http://localhost:2345/apiroute3'
|
|
], {
|
|
method: 'GET'
|
|
})
|
|
|
|
console.log(response);
|
|
|
|
expect(response).property('hithere').to.equal('hi');
|
|
})
|
|
|
|
tap.test('tear down server', async () => {
|
|
testServer.stop();
|
|
})
|
|
|
|
tap.start()
|