Add consent-gated media exchange library
This commit is contained in:
1 parent
b8e4a1bb88
commit
bf474dfe10
42 files changed
+2533
-9
No files matched your search
@@ -24,6 +24,8 @@ function createWorkspace(includeReactBuild = true): string {
|
||||
fs.writeFileSync(path.join(workspace, 'public', 'index.html'), '<h1>Legacy dashboard</h1>');
|
||||
fs.mkdirSync(path.join(workspace, 'data', 'media'), { recursive: true });
|
||||
fs.writeFileSync(path.join(workspace, 'data', 'media', 'sample.txt'), 'private media');
|
||||
fs.mkdirSync(path.join(workspace, 'data', 'media-library'), { recursive: true });
|
||||
fs.writeFileSync(path.join(workspace, 'data', 'media-library', 'library.txt'), 'private library media');
|
||||
if (includeReactBuild) {
|
||||
fs.mkdirSync(path.join(workspace, 'apps', 'dashboard', 'dist', 'assets'), { recursive: true });
|
||||
fs.writeFileSync(path.join(workspace, 'apps', 'dashboard', 'dist', 'index.html'), '<h1>React dashboard</h1><script src="/assets/app.js"></script>');
|
||||
@@ -81,19 +83,22 @@ describe('authenticated React dashboard cutover', () => {
|
||||
fetch(`${running.baseUrl}/api/stats`),
|
||||
fetch(`${running.baseUrl}/api/events/stream`),
|
||||
fetch(`${running.baseUrl}/media/sample.txt`),
|
||||
fetch(`${running.baseUrl}/library-media/library.txt`),
|
||||
fetch(running.baseUrl, { redirect: 'manual' }),
|
||||
]);
|
||||
expect(anonymous.map((response) => response.status)).toEqual([401, 401, 401, 302]);
|
||||
expect(anonymous.map((response) => response.status)).toEqual([401, 401, 401, 401, 302]);
|
||||
|
||||
const headers = { Authorization: `Bearer ${AUTH_TOKEN}` };
|
||||
const api = await fetch(`${running.baseUrl}/api/stats`, { headers });
|
||||
const media = await fetch(`${running.baseUrl}/media/sample.txt`, { headers });
|
||||
const libraryMedia = await fetch(`${running.baseUrl}/library-media/library.txt`, { headers });
|
||||
const root = await fetch(running.baseUrl, { headers });
|
||||
const asset = await fetch(`${running.baseUrl}/assets/app.js`, { headers });
|
||||
const spa = await fetch(`${running.baseUrl}/conversations/example`, { headers: { ...headers, Accept: 'text/html' } });
|
||||
|
||||
expect(api.status).toBe(200);
|
||||
expect(await media.text()).toBe('private media');
|
||||
expect(await libraryMedia.text()).toBe('private library media');
|
||||
expect(await root.text()).toContain('React dashboard');
|
||||
expect(await asset.text()).toBe('react-build');
|
||||
expect(await spa.text()).toContain('React dashboard');
|
||||
|
||||
Reference in new issue
Block a user