add /api/tunnels/:id/status endpoint

Provides connected_sockets information for a tunnel.
This commit is contained in:
Roman Shtylman
2018-05-16 16:41:05 -04:00
parent 317db73bdc
commit cf070d4ce9
7 changed files with 89 additions and 11 deletions

View File

@@ -82,4 +82,28 @@ describe('Server', () => {
wss.close();
await new Promise(resolve => server.close(resolve));
});
it('should support the /api/tunnels/:id/status endpoint', async () => {
const server = createServer();
await new Promise(resolve => server.listen(resolve));
// no such tunnel yet
const res = await request(server).get('/api/tunnels/foobar-test/status');
assert.equal(res.statusCode, 404);
// request a new client called foobar-test
{
const res = await request(server).get('/foobar-test');
}
{
const res = await request(server).get('/api/tunnels/foobar-test/status');
assert.equal(res.statusCode, 200);
assert.deepEqual(res.body, {
connected_sockets: 0,
});
}
await new Promise(resolve => server.close(resolve));
});
});