mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
70 lines
1.8 KiB
TypeScript
70 lines
1.8 KiB
TypeScript
|
import axios from 'axios';
|
||
|
import {configForUser} from 'test/gen-server/testUtils';
|
||
|
import * as testUtils from 'test/server/testUtils';
|
||
|
|
||
|
import {assert} from 'chai';
|
||
|
|
||
|
import {FlexServer} from 'app/server/lib/FlexServer';
|
||
|
|
||
|
import {createBenchmarkServer, removeConnection, setUpDB} from 'test/gen-server/seed';
|
||
|
|
||
|
let home: FlexServer;
|
||
|
let homeUrl: string;
|
||
|
|
||
|
const chimpy = configForUser('Chimpy');
|
||
|
|
||
|
describe('ApiServerBenchmark', function() {
|
||
|
|
||
|
testUtils.setTmpLogLevel('error');
|
||
|
|
||
|
before(async function() {
|
||
|
if (!process.env.ENABLE_BENCHMARKS) {
|
||
|
this.skip();
|
||
|
return;
|
||
|
}
|
||
|
this.timeout(600000);
|
||
|
setUpDB(this);
|
||
|
home = await createBenchmarkServer(0);
|
||
|
homeUrl = home.getOwnUrl();
|
||
|
});
|
||
|
|
||
|
after(async function() {
|
||
|
if (home) {
|
||
|
await home.stopListening();
|
||
|
await removeConnection();
|
||
|
}
|
||
|
});
|
||
|
|
||
|
it('GET /orgs returns in a timely manner', async function() {
|
||
|
this.timeout(600000);
|
||
|
for (let i = 0; i < 10; i++) {
|
||
|
const resp = await axios.get(`${homeUrl}/api/orgs`, chimpy);
|
||
|
assert(resp.data.length === 100);
|
||
|
}
|
||
|
});
|
||
|
|
||
|
// Note the organization id which is being fetched.
|
||
|
it('GET /orgs/{oid} returns in a timely manner', async function() {
|
||
|
this.timeout(600000);
|
||
|
for (let i = 0; i < 100; i++) {
|
||
|
await axios.get(`${homeUrl}/api/orgs/1`, chimpy);
|
||
|
}
|
||
|
});
|
||
|
|
||
|
// Note the organization id which is being fetched.
|
||
|
it('GET /orgs/{oid}/workspaces returns in a timely manner', async function() {
|
||
|
this.timeout(600000);
|
||
|
for (let i = 0; i < 100; i++) {
|
||
|
await axios.get(`${homeUrl}/api/orgs/1/workspaces`, chimpy);
|
||
|
}
|
||
|
});
|
||
|
|
||
|
// Note the workspace ids which are being fetched.
|
||
|
it('GET /workspaces/{wid} returns in a timely manner', async function() {
|
||
|
this.timeout(600000);
|
||
|
for (let wid = 0; wid < 100; wid++) {
|
||
|
await axios.get(`${homeUrl}/api/workspaces/${wid}`, chimpy);
|
||
|
}
|
||
|
});
|
||
|
});
|