Skip to content

Commit

Permalink
test: verify tracePromise does not do runStores
Browse files Browse the repository at this point in the history
PR-URL: #47349
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
  • Loading branch information
Stephen Belanger authored and targos committed Nov 10, 2023
1 parent 3d7734c commit 4f78233
Showing 1 changed file with 11 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,23 @@ const assert = require('assert');
const channel = dc.tracingChannel('test');
const store = new AsyncLocalStorage();

const context = { foo: 'bar' };
const firstContext = { foo: 'bar' };
const secondContext = { baz: 'buz' };

channel.start.bindStore(store, common.mustCall(() => {
return context;
return firstContext;
}));

channel.asyncStart.bindStore(store, common.mustNotCall(() => {
return secondContext;
}));

assert.strictEqual(store.getStore(), undefined);
channel.tracePromise(common.mustCall(async () => {
assert.deepStrictEqual(store.getStore(), context);
assert.deepStrictEqual(store.getStore(), firstContext);
await setTimeout(1);
assert.deepStrictEqual(store.getStore(), context);
// Should _not_ switch to second context as promises don't have an "after"
// point at which to do a runStores.
assert.deepStrictEqual(store.getStore(), firstContext);
}));
assert.strictEqual(store.getStore(), undefined);

0 comments on commit 4f78233

Please sign in to comment.