aboutsummaryrefslogtreecommitdiff
path: root/e2e/lib/TestServer.ts
diff options
context:
space:
mode:
Diffstat (limited to 'e2e/lib/TestServer.ts')
-rw-r--r--e2e/lib/TestServer.ts24
1 files changed, 18 insertions, 6 deletions
diff --git a/e2e/lib/TestServer.ts b/e2e/lib/TestServer.ts
index ba9845b..c010e37 100644
--- a/e2e/lib/TestServer.ts
+++ b/e2e/lib/TestServer.ts
@@ -37,16 +37,28 @@ export default class TestServer {
return `http://${addr.address}:${addr.port}${path}`
}
- listen() {
+ start(): Promise<void> {
+ if (this.http) {
+ throw new Error('http server already started');
+ }
+
this.http = http.createServer(this.app)
- this.http.listen(this.port, this.address);
+ return new Promise((resolve) => {
+ this.http!!.listen(this.port, this.address, () => {
+ resolve();
+ })
+ });
}
- close(): void {
+ stop(): Promise<void> {
if (!this.http) {
- return;
+ return Promise.resolve();
}
- this.http.close();
- this.http = undefined;
+ return new Promise((resolve) => {
+ this.http!!.close(() => {
+ this.http = undefined;
+ resolve();
+ });
+ })
}
}