test(e2e): add Convert and Stream view end-to-end tests #202
ci.yml
on: pull_request
Skit
/
Lint (fmt + clippy)
7m 7s
Skit
/
Test
11m 20s
Skit
/
Build
18m 42s
UI
/
Lint (TypeScript + ESLint)
37s
UI
/
Test
22s
UI
/
Build
30s
Plugins
/
Format Check
17s
Plugins
/
Lint (Simple Plugins)
36s
Plugins
/
Lint (Whisper)
1m 17s
Plugins
/
Lint (NLLB)
1m 59s
Plugins
/
Lint (Sherpa-ONNX Plugins)
49s
E2E
/
Playwright E2E
7m 56s
All Checks Passed
0s
Annotations
10 errors, 10 warnings, and 1 notice
|
[chromium] › tests/stream.spec.ts:28:3 › Stream View - Dynamic Pipeline › creates session from template:
e2e/tests/stream.spec.ts#L35
4) [chromium] › tests/stream.spec.ts:28:3 › Stream View - Dynamic Pipeline › creates session from template, verifies active badge, then destroys it
Error: expect(locator).toBeVisible() failed
Locator: getByText('MoQ Peer Transcoder (Gateway)')
Expected: visible
Error: strict mode violation: getByText('MoQ Peer Transcoder (Gateway)') resolved to 2 elements:
1) <div class="css-1vhd9x6">MoQ Peer Transcoder (Gateway)</div> aka getByText('MoQ Peer Transcoder (Gateway)', { exact: true })
2) <div class="cm-line">…</div> aka getByText('name: MoQ Peer Transcoder (')
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByText('MoQ Peer Transcoder (Gateway)')
33 |
34 | const templateCard = page.getByText('MoQ Peer Transcoder (Gateway)');
> 35 | await expect(templateCard).toBeVisible({ timeout: 10_000 });
| ^
36 | await templateCard.click();
37 |
38 | const createButton = page.getByRole('button', { name: /Create Session/i });
at /home/runner/work/streamkit/streamkit/e2e/tests/stream.spec.ts:35:32
|
|
[chromium] › tests/convert.spec.ts:97:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template:
e2e/tests/convert.spec.ts#L103
3) [chromium] › tests/convert.spec.ts:97:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template, use existing asset, convert, verify audio player
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: getByText('Audio Mixing (Upload + Music Track)')
Expected: visible
Error: strict mode violation: getByText('Audio Mixing (Upload + Music Track)') resolved to 2 elements:
1) <div class="css-1vhd9x6">Audio Mixing (Upload + Music Track)</div> aka getByText('Audio Mixing (Upload + Music Track)', { exact: true })
2) <div class="cm-line">…</div> aka getByText('name: Audio Mixing (Upload +')
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByText('Audio Mixing (Upload + Music Track)')
101 |
102 | const templateCard = page.getByText('Audio Mixing (Upload + Music Track)');
> 103 | await expect(templateCard).toBeVisible({ timeout: 10_000 });
| ^
104 | await templateCard.click();
105 |
106 | const assetModeButton = page.getByRole('button', { name: /Select Existing Asset/i });
at /home/runner/work/streamkit/streamkit/e2e/tests/convert.spec.ts:103:32
|
|
[chromium] › tests/convert.spec.ts:97:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template:
e2e/tests/convert.spec.ts#L103
3) [chromium] › tests/convert.spec.ts:97:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template, use existing asset, convert, verify audio player
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: getByText('Audio Mixing (Upload + Music Track)')
Expected: visible
Error: strict mode violation: getByText('Audio Mixing (Upload + Music Track)') resolved to 2 elements:
1) <div class="css-1vhd9x6">Audio Mixing (Upload + Music Track)</div> aka getByText('Audio Mixing (Upload + Music Track)', { exact: true })
2) <div class="cm-line">…</div> aka getByText('name: Audio Mixing (Upload +')
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByText('Audio Mixing (Upload + Music Track)')
101 |
102 | const templateCard = page.getByText('Audio Mixing (Upload + Music Track)');
> 103 | await expect(templateCard).toBeVisible({ timeout: 10_000 });
| ^
104 | await templateCard.click();
105 |
106 | const assetModeButton = page.getByRole('button', { name: /Select Existing Asset/i });
at /home/runner/work/streamkit/streamkit/e2e/tests/convert.spec.ts:103:32
|
|
[chromium] › tests/convert.spec.ts:97:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template:
e2e/tests/convert.spec.ts#L103
3) [chromium] › tests/convert.spec.ts:97:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template, use existing asset, convert, verify audio player
Error: expect(locator).toBeVisible() failed
Locator: getByText('Audio Mixing (Upload + Music Track)')
Expected: visible
Error: strict mode violation: getByText('Audio Mixing (Upload + Music Track)') resolved to 2 elements:
1) <div class="css-1vhd9x6">Audio Mixing (Upload + Music Track)</div> aka getByText('Audio Mixing (Upload + Music Track)', { exact: true })
2) <div class="cm-line">…</div> aka getByText('name: Audio Mixing (Upload +')
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByText('Audio Mixing (Upload + Music Track)')
101 |
102 | const templateCard = page.getByText('Audio Mixing (Upload + Music Track)');
> 103 | await expect(templateCard).toBeVisible({ timeout: 10_000 });
| ^
104 | await templateCard.click();
105 |
106 | const assetModeButton = page.getByRole('button', { name: /Select Existing Asset/i });
at /home/runner/work/streamkit/streamkit/e2e/tests/convert.spec.ts:103:32
|
|
[chromium] › tests/convert.spec.ts:71:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template:
e2e/tests/convert.spec.ts#L77
2) [chromium] › tests/convert.spec.ts:71:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template, upload file, convert, verify audio player
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: getByText('Audio Mixing (Upload + Music Track)')
Expected: visible
Error: strict mode violation: getByText('Audio Mixing (Upload + Music Track)') resolved to 2 elements:
1) <div class="css-1vhd9x6">Audio Mixing (Upload + Music Track)</div> aka getByText('Audio Mixing (Upload + Music Track)', { exact: true })
2) <div class="cm-line">…</div> aka getByText('name: Audio Mixing (Upload +')
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByText('Audio Mixing (Upload + Music Track)')
75 |
76 | const templateCard = page.getByText('Audio Mixing (Upload + Music Track)');
> 77 | await expect(templateCard).toBeVisible({ timeout: 10_000 });
| ^
78 | await templateCard.click();
79 |
80 | await expect(page.locator('input[type="file"]').first()).toBeAttached();
at /home/runner/work/streamkit/streamkit/e2e/tests/convert.spec.ts:77:32
|
|
[chromium] › tests/convert.spec.ts:71:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template:
e2e/tests/convert.spec.ts#L77
2) [chromium] › tests/convert.spec.ts:71:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template, upload file, convert, verify audio player
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: getByText('Audio Mixing (Upload + Music Track)')
Expected: visible
Error: strict mode violation: getByText('Audio Mixing (Upload + Music Track)') resolved to 2 elements:
1) <div class="css-1vhd9x6">Audio Mixing (Upload + Music Track)</div> aka getByText('Audio Mixing (Upload + Music Track)', { exact: true })
2) <div class="cm-line">…</div> aka getByText('name: Audio Mixing (Upload +')
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByText('Audio Mixing (Upload + Music Track)')
75 |
76 | const templateCard = page.getByText('Audio Mixing (Upload + Music Track)');
> 77 | await expect(templateCard).toBeVisible({ timeout: 10_000 });
| ^
78 | await templateCard.click();
79 |
80 | await expect(page.locator('input[type="file"]').first()).toBeAttached();
at /home/runner/work/streamkit/streamkit/e2e/tests/convert.spec.ts:77:32
|
|
[chromium] › tests/convert.spec.ts:71:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template:
e2e/tests/convert.spec.ts#L77
2) [chromium] › tests/convert.spec.ts:71:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template, upload file, convert, verify audio player
Error: expect(locator).toBeVisible() failed
Locator: getByText('Audio Mixing (Upload + Music Track)')
Expected: visible
Error: strict mode violation: getByText('Audio Mixing (Upload + Music Track)') resolved to 2 elements:
1) <div class="css-1vhd9x6">Audio Mixing (Upload + Music Track)</div> aka getByText('Audio Mixing (Upload + Music Track)', { exact: true })
2) <div class="cm-line">…</div> aka getByText('name: Audio Mixing (Upload +')
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByText('Audio Mixing (Upload + Music Track)')
75 |
76 | const templateCard = page.getByText('Audio Mixing (Upload + Music Track)');
> 77 | await expect(templateCard).toBeVisible({ timeout: 10_000 });
| ^
78 | await templateCard.click();
79 |
80 | await expect(page.locator('input[type="file"]').first()).toBeAttached();
at /home/runner/work/streamkit/streamkit/e2e/tests/convert.spec.ts:77:32
|
|
[chromium] › tests/convert.spec.ts:37:3 › Convert View - Audio Mixing Pipeline › API: POST /api/v1/process with mixing pipeline returns audio:
e2e/tests/convert.spec.ts#L0
1) [chromium] › tests/convert.spec.ts:37:3 › Convert View - Audio Mixing Pipeline › API: POST /api/v1/process with mixing pipeline returns audio
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
|
|
[chromium] › tests/convert.spec.ts:37:3 › Convert View - Audio Mixing Pipeline › API: POST /api/v1/process with mixing pipeline returns audio:
e2e/tests/convert.spec.ts#L0
1) [chromium] › tests/convert.spec.ts:37:3 › Convert View - Audio Mixing Pipeline › API: POST /api/v1/process with mixing pipeline returns audio
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 30000ms exceeded.
|
|
[chromium] › tests/convert.spec.ts:37:3 › Convert View - Audio Mixing Pipeline › API: POST /api/v1/process with mixing pipeline returns audio:
e2e/tests/convert.spec.ts#L0
1) [chromium] › tests/convert.spec.ts:37:3 › Convert View - Audio Mixing Pipeline › API: POST /api/v1/process with mixing pipeline returns audio
Test timeout of 30000ms exceeded.
|
|
UI / Test
Cache reservation failed: You have reached your configured budget, your cache is now read only to prevent additional charges.
|
|
UI / Build
Cache reservation failed: You have reached your configured budget, your cache is now read only to prevent additional charges.
|
|
UI / Lint (TypeScript + ESLint)
Cache reservation failed: You have reached your configured budget, your cache is now read only to prevent additional charges.
|
|
Plugins / Lint (Sherpa-ONNX Plugins)
Cache reservation failed: You have reached your configured budget, your cache is now read only to prevent additional charges.
|
|
Plugins / Lint (Sherpa-ONNX Plugins)
Failed to restore: "/usr/bin/tar" failed with error: The process '/usr/bin/tar' failed with exit code 2
|
|
Plugins / Lint (NLLB)
Cache reservation failed: You have reached your configured budget, your cache is now read only to prevent additional charges.
|
|
Plugins / Lint (NLLB)
Failed to restore: "/usr/bin/tar" failed with error: The process '/usr/bin/tar' failed with exit code 2
|
|
Skit / Lint (fmt + clippy)
Cache reservation failed: You have reached your configured budget, your cache is now read only to prevent additional charges.
|
|
Skit / Test
Cache reservation failed: You have reached your configured budget, your cache is now read only to prevent additional charges.
|
|
Skit / Build
Cache reservation failed: You have reached your configured budget, your cache is now read only to prevent additional charges.
|
|
🎭 Playwright Run Summary
4 failed
[chromium] › tests/convert.spec.ts:37:3 › Convert View - Audio Mixing Pipeline › API: POST /api/v1/process with mixing pipeline returns audio
[chromium] › tests/convert.spec.ts:71:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template, upload file, convert, verify audio player
[chromium] › tests/convert.spec.ts:97:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template, use existing asset, convert, verify audio player
[chromium] › tests/stream.spec.ts:28:3 › Stream View - Dynamic Pipeline › creates session from template, verifies active badge, then destroys it
3 skipped
5 passed (2.0m)
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
playwright-report
Expired
|
4.8 MB |
sha256:67b050c4b8e385dd626186417e07ace5918e8a30df5bee362e4f81a597ef5b12
|
|
|
playwright-results
Expired
|
4.96 MB |
sha256:445cd376e2dc0ed61bec7bf103c0f38dca4abacf8102f0421b2bff9e027dbcca
|
|