X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Futils%2Fmiscs%2Femail.ts;h=6fac7621f2bb3204c48b22d7c16127e6ffaad8a3;hb=89ada4e26ca1df8ff0dd02acda1d1661f121a294;hp=108f7d3d93b8bb1c2f2f91e0bd33456d5e19504a;hpb=43483d12963ed7a82adee2e35a7bcb7e55e54b3e;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/utils/miscs/email.ts b/shared/utils/miscs/email.ts index 108f7d3d9..6fac7621f 100644 --- a/shared/utils/miscs/email.ts +++ b/shared/utils/miscs/email.ts @@ -1,22 +1,20 @@ -import * as child from 'child_process' +import { fork, ChildProcess } from 'child_process' class MockSmtpServer { private static instance: MockSmtpServer private started = false - private emailChildProcess: child.ChildProcess + private emailChildProcess: ChildProcess private emails: object[] private constructor () { - this.emailChildProcess = child.fork(`${__dirname}/email-child-process`, [], { silent: true }) + this.emailChildProcess = fork(`${__dirname}/email-child-process`, []) + this.emailChildProcess.on('message', (msg) => { if (msg.email) { return this.emails.push(msg.email) } }) - process.on('exit', () => { - this.emailChildProcess.kill() - }) } collectEmails (emailsCollection: object[]) { @@ -43,6 +41,13 @@ class MockSmtpServer { }) } + kill () { + process.kill(this.emailChildProcess.pid) + + this.emailChildProcess = null + MockSmtpServer.instance = null + } + static get Instance () { return this.instance || (this.instance = new this()) }