builder / lib /server-generate /__tests__ /vfs-context.test.ts
Leon4gr45's picture
Upload folder using huggingface_hub (part 2)
391c43e verified
Raw
History Blame Contribute Delete
1.26 kB
import { describe, it, expect } from 'vitest';
import { runWithVFS, getContextVFS } from '../vfs-context';
describe('VFS AsyncLocalStorage context', () => {
it('returns undefined when no context is active', () => {
expect(getContextVFS()).toBeUndefined();
});
it('returns the VFS instance inside runWithVFS', async () => {
const fakeVFS = { marker: 'test-vfs' } as any;
await runWithVFS(fakeVFS, async () => {
expect(getContextVFS()).toBe(fakeVFS);
});
});
it('returns undefined after runWithVFS completes', async () => {
const fakeVFS = { marker: 'test-vfs' } as any;
await runWithVFS(fakeVFS, async () => {});
expect(getContextVFS()).toBeUndefined();
});
it('isolates concurrent contexts', async () => {
const vfs1 = { marker: 'vfs-1' } as any;
const vfs2 = { marker: 'vfs-2' } as any;
const results: string[] = [];
await Promise.all([
runWithVFS(vfs1, async () => {
await new Promise((r) => setTimeout(r, 10));
results.push((getContextVFS() as any).marker);
}),
runWithVFS(vfs2, async () => {
results.push((getContextVFS() as any).marker);
}),
]);
expect(results).toContain('vfs-1');
expect(results).toContain('vfs-2');
});
});