Skip to content

Commit 62894b6

Browse files
committed
smoketests: listen on db events in node
1 parent 6858a76 commit 62894b6

File tree

1 file changed

+26
-4
lines changed
  • smoketests/packages/node-ts-esm/src

1 file changed

+26
-4
lines changed

smoketests/packages/node-ts-esm/src/index.ts

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ const client = BacktraceClient.initialize({
4040
function waitForSend(timeout: number) {
4141
return new Promise<BacktraceReportSubmissionResult<BacktraceSubmissionResponse>>((resolve, reject) => {
4242
let resolved = false;
43-
client.once('after-send', (data, attachments, result) => {
43+
client.once('after-send', (report, data, attachments, result) => {
4444
if (!resolved) {
4545
resolved = true;
4646
resolve(result);
@@ -56,8 +56,30 @@ function waitForSend(timeout: number) {
5656
});
5757
}
5858

59-
async function test(fn: () => Promise<BacktraceReportSubmissionResult<BacktraceSubmissionResponse>> | void) {
60-
const waitPromise = waitForSend(TIMEOUT);
59+
function waitForDbSend(timeout: number) {
60+
return new Promise<BacktraceReportSubmissionResult<BacktraceSubmissionResponse>>((resolve, reject) => {
61+
let resolved = false;
62+
client.database?.once('after-send', (record, result) => {
63+
if (!resolved) {
64+
resolved = true;
65+
resolve(result);
66+
}
67+
});
68+
69+
setTimeout(() => {
70+
if (!resolved) {
71+
resolved = true;
72+
reject(new Error('Wait for send timed out.'));
73+
}
74+
}, timeout);
75+
});
76+
}
77+
78+
async function test(
79+
fn: () => Promise<BacktraceReportSubmissionResult<BacktraceSubmissionResponse>> | void,
80+
waitForResult?: (timeout: number) => Promise<BacktraceReportSubmissionResult<BacktraceSubmissionResponse>>,
81+
) {
82+
const waitPromise = (waitForResult ?? waitForSend)(TIMEOUT);
6183
const result = (await fn()) ?? (await waitPromise);
6284
if (result.status === 'Ok') {
6385
console.log(result.result?._rxid);
@@ -73,7 +95,7 @@ switch (TEST ?? 'test-exception') {
7395
case DATABASE_TEST: {
7496
await test(() => {
7597
// do nothing, expect database to send something
76-
});
98+
}, waitForDbSend);
7799
break;
78100
}
79101
case 'test-unhandled-exception':

0 commit comments

Comments
 (0)