diff --git a/package.json b/package.json index 90132ef..65fb6ac 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "@types/node": "^14.14.22", "@types/puppeteer": "^5.4.3", "cp-cli": "^2.0.0", + "faker": "^5.3.1", "nodemon": "^2.0.7", "release-it": "^14.2.2", "rimraf": "^3.0.2", diff --git a/src/tests/speedtest.ts b/src/tests/speedtest.ts index 881340d..1c67e8a 100644 --- a/src/tests/speedtest.ts +++ b/src/tests/speedtest.ts @@ -1,5 +1,7 @@ import axios from "axios" +import faker from "faker" import { Runner } from '../models/Runner' +import { RunnerGroup } from '../models/RunnerGroup' const baseurl = "http://localhost:4010" @@ -16,6 +18,21 @@ axios.interceptors.response.use((response) => { return response }) +function generateRunners(amount: number): Runner[] { + let runners: Runner[] = new Array(); + let group = new RunnerGroup(); + let runner = new Runner(); + for (var i = 0; i < amount; i++) { + group.name = faker.company.bsBuzz(); + group.id = Math.floor(Math.random() * (9999999 - 1) + 1); + runner.firstname = faker.name.firstName(); + runner.lastname = faker.name.lastName(); + runner.id = Math.floor(Math.random() * (9999999 - 1) + 1); + runners.push(runner); + } + return runners; +} + async function postContracts(runners: Runner[]): Promise { const res = await axios.post(`${baseurl}/contracts`, runners); return new Measurement("contract", runners.length, parseInt(res.headers['request-duration'])) @@ -23,7 +40,7 @@ async function postContracts(runners: Runner[]): Promise { async function main() { console.log((await axios.get("http://localhost:4010/version")).data) - console.log((await postContracts([])).toString()) + console.log((await postContracts(generateRunners(100))).toString()); } main();