Skip to content

Test self-hosted for Mercurial 6 on develop #86

Test self-hosted for Mercurial 6 on develop

Test self-hosted for Mercurial 6 on develop #86

Re-run triggered April 24, 2024 21:20
Status Failure
Total duration 33m 56s
Artifacts 1

integration-test.yaml

on: workflow_dispatch
Test self-hosted for Mercurial 6 on develop
33m 47s
Test self-hosted for Mercurial 6 on develop
Fit to window
Zoom out
Zoom in

Annotations

11 errors, 26 warnings, and 2 notices
Test self-hosted for Mercurial 6 on develop
Process completed with exit code 1.
[chromium] › emailWorkflow.test.ts:27:1 › register: frontend/tests/emailWorkflow.test.ts#L38
1) [chromium] › emailWorkflow.test.ts:27:1 › register, verify, update, verify email address ────── Error: Timed out 5000ms waiting for expect(locator).toHaveCount(expected) Locator: locator('[id^=\'row_\']') Expected: 2 Received: 1 Call log: - expect.toHaveCount with timeout 5000ms - waiting for locator('[id^=\'row_\']') - locator resolved to 1 element - unexpected value "1" - locator resolved to 1 element - unexpected value "1" - locator resolved to 1 element - unexpected value "1" - locator resolved to 1 element - unexpected value "1" - locator resolved to 1 element - unexpected value "1" - locator resolved to 1 element - unexpected value "1" - locator resolved to 1 element - unexpected value "1" - locator resolved to 1 element - unexpected value "1" - locator resolved to 1 element - unexpected value "1" 36 | 37 | const inboxPage = await getInbox(page, tempUser.mailinatorId).goto(); > 38 | await expect(inboxPage.emailLocator).toHaveCount(2); | ^ 39 | let emailPage = await inboxPage.openEmail(); 40 | let pagePromise = emailPage.page.context().waitForEvent('page'); 41 | await emailPage.clickVerifyEmail(); at /runner/_work/languageforge-lexbox/languageforge-lexbox/frontend/tests/emailWorkflow.test.ts:38:40
[chromium] › emailWorkflow.test.ts:27:1 › register: frontend/tests/fixtures.ts#L37
1) [chromium] › emailWorkflow.test.ts:27:1 › register, verify, update, verify email address ────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: Unexpected response: 404 expect(received).toBeLessThan(expected) Expected: < 400 Received: 404 at fixtures.ts:37 35 | expect.soft(response.status(), `Unexpected response: ${response.status()}`).toBeLessThan(500); 36 | if (response.request().isNavigationRequest()) { > 37 | expect.soft(response.status(), `Unexpected response: ${response.status()}`).toBeLessThan(400); | ^ 38 | } 39 | }); 40 | } at BrowserContext.<anonymous> (/runner/_work/languageforge-lexbox/languageforge-lexbox/frontend/tests/fixtures.ts:37:83)
[chromium] › emailWorkflow.test.ts:27:1 › register: frontend/tests/pages/basePage.ts#L53
1) [chromium] › emailWorkflow.test.ts:27:1 › register, verify, update, verify email address ────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: Timed out 10000ms waiting for expect(locator).toHaveURL(expected) Locator: locator(':root') Expected pattern: /\/user($|\?|#)/ Received string: "https://www.mailinator.com/v4/public/3D" Call log: - expect.toHaveURL with timeout 10000ms - waiting for locator(':root') - locator resolved to <html>…</html> - unexpected value "https://www.mailinator.com/v4/public/3D" - locator resolved to <html>…</html> - unexpected value "https://www.mailinator.com/v4/public/3D" - locator resolved to <html>…</html> - unexpected value "https://www.mailinator.com/v4/public/3D" - locator resolved to <html>…</html> - unexpected value "https://www.mailinator.com/v4/public/3D" - locator resolved to <html>…</html> - unexpected value "https://www.mailinator.com/v4/public/3D" - locator resolved to <html>…</html> - unexpected value "https://www.mailinator.com/v4/public/3D" - locator resolved to <html>…</html> - unexpected value "https://www.mailinator.com/v4/public/3D" - locator resolved to <html>…</html> - unexpected value "https://www.mailinator.com/v4/public/3D" - locator resolved to <html>…</html> - unexpected value "https://www.mailinator.com/v4/public/3D" - locator resolved to <html>…</html> - unexpected value "https://www.mailinator.com/v4/public/3D" - locator resolved to <html>…</html> - unexpected value "https://www.mailinator.com/v4/public/3D" - locator resolved to <html>…</html> - unexpected value "https://www.mailinator.com/v4/public/3D" - locator resolved to <html>…</html> - unexpected value "https://www.mailinator.com/v4/public/3D" - locator resolved to <html>…</html> - unexpected value "https://www.mailinator.com/v4/public/3D" at pages/basePage.ts:53 51 | } else { 52 | // first use expect() so we get a good error message > 53 | await expect(this.page).toHaveURL(this.urlPattern, {timeout: 10_000}); | ^ 54 | // still wait to ensure we reach the state we expect 55 | await this.page.waitForURL(this.urlPattern, {waitUntil: 'load'}); 56 | } at UserAccountSettingsPage.waitFor (/runner/_work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:53:31) at /runner/_work/languageforge-lexbox/languageforge-lexbox/frontend/tests/emailWorkflow.test.ts:43:61
[chromium] › emailWorkflow.test.ts:79:1 › forgot password: frontend/tests/pages/basePage.ts#L53
2) [chromium] › emailWorkflow.test.ts:79:1 › forgot ***word ───────────────────────────────────── Error: Timed out 10000ms waiting for expect(locator).toHaveURL(expected) Locator: locator(':root') Expected pattern: /\/resetPassword($|\?|#)/ Received string: "https://ltops.cloudflareaccess.com/cdn-cgi/access/login/develop.lexbox.org?kid=c0fc96660e0d5d5355182066a338d53964d78b1072b2a90110c882a6bb9c0967&redirect_url=%2Fapi%2Flogin%2FloginRedirect%3Fjwt%3DeyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI3YzQ2YjgxYSIsInN1YiI6IjM3ZmYwZTIzLTA0ZjItNDU5OS05M2UwLTIxNTA4NmVmNWMzMCIsImRhdGUiOjE3MTM5OTQyMTMsImVtYWlsIjoiOWE2M2ZjZjAtYjI4Yy00MGNjLTk5ZTgtNzkzYTg3NTIzMzlhQG1haWxpbmF0b3IuY29tIiwibmFtZSI6IlRlc3Q6IGZvcmdvdCBw***d29yZCAtIDlhNjNmY2YwLWIyOGMtNDBjYy05OWU4LTc5M2E4NzUyMzM5YUBtYWlsaW5hdG9yLmNvbSIsInJvbGUiOiJ1c2VyIiwicHJvaiI6IiIsImxvY2siOnRydWUsInVudmVyIjp0cnVlLCJsb2MiOiJlbiIsIm5iZiI6MTcxMzk5NDIxNiwiZXhwIjoxNzE0MjUzNDE2LCJpYXQiOjE3MTM5OTQyMTYsImlzcyI6IkxleGJveEFwaSIsImF1ZCI6IkZvcmdvdFBhc3N3b3JkIn0.-jgKe4kllW4w39i1LYnmrLzdy_LLoqx4qlMIAxVQ_wo%26returnTo%3D%2FresetPassword&meta=***" Call log: - expect.toHaveURL with timeout 10000ms - waiting for locator(':root') - locator resolved to <html>…</html> - unexpected value "https://ltops.cloudflareaccess.com/cdn-cgi/access/login/develop.lexbox.org?kid=c0fc96660e0d5d5355182066a338d53964d78b1072b2a90110c882a6bb9c0967&redirect_url=%2Fapi%2Flogin%2FloginRedirect%3Fjwt%3DeyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI3YzQ2YjgxYSIsInN1YiI6IjM3ZmYwZTIzLTA0ZjItNDU5OS05M2UwLTIxNTA4NmVmNWMzMCIsImRhdGUiOjE3MTM5OTQyMTMsImVtYWlsIjoiOWE2M2ZjZjAtYjI4Yy00MGNjLTk5ZTgtNzkzYTg3NTIzMzlhQG1haWxpbmF0b3IuY29tIiwibmFtZSI6IlRlc3Q6IGZvcmdvdCBw***d29yZCAtIDlhNjNmY2YwLWIyOGMtNDBjYy05OWU4LTc5M2E4NzUyMzM5YUBtYWlsaW5hdG9yLmNvbSIsInJvbGUiOiJ1c2VyIiwicHJvaiI6IiIsImxvY2siOnRydWUsInVudmVyIjp0cnVlLCJsb2MiOiJlbiIsIm5iZiI6MTcxMzk5NDIxNiwiZXhwIjoxNzE0MjUzNDE2LCJpYXQiOjE3MTM5OTQyMTYsImlzcyI6IkxleGJveEFwaSIsImF1ZCI6IkZvcmdvdFBhc3N3b3JkIn0.-jgKe4kllW4w39i1LYnmrLzdy_LLoqx4qlMIAxVQ_wo%26returnTo%3D%2FresetPassword&meta=***" - locator resolved to <html>…</html> - unexpected value "https://ltops.cloudflareaccess.com/cdn-cgi/access/login/develop.lexbox.org?kid=c0fc96660e0d5d5355182066a338d53964d78b1072b2a90110c882a6bb9c0967&redirect_url=%2Fapi%2Flogin%2FloginRedirect%3Fjwt%3DeyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI3YzQ2YjgxYSIsInN1YiI6IjM3ZmYwZTIzLTA0ZjItNDU5OS05M2UwLTIxNTA4NmVmNWMzMCIsImRhdGUiOjE3MTM5OTQyMTMsImVtYWlsIjoiOWE2M2ZjZjAtYjI4Yy00MGNjLTk5ZTgtNzkzYTg3NTIzMzlhQG1haWxpbmF0b3IuY29tIiwibmFtZSI6IlRlc3Q6IGZvcmdvdCBw***d29yZCAtIDlhNjNmY2YwLWIyOGMtNDBjYy05OWU4LTc5M2E4NzUyMzM5YUBtYWlsaW5hdG9yLmNvbSIsInJvbGUiOiJ1c2VyIiwicHJvaiI6IiIsImxvY2siOnRydWUsInVudmVyIjp0cnVlLCJsb2MiOiJlbiIsIm5iZiI6MTcxMzk5NDIxNiwiZXhwIjoxNzE0MjUzNDE2LCJpYXQiOjE3MTM5OTQyMTYsImlzcyI6IkxleGJveEFwaSIsImF1ZCI6IkZvcmdvdFBhc3N3b3JkIn0.-jgKe4kllW4w39i1LYnmrLzdy_LLoqx4qlMIAxVQ_wo%26returnTo%3D%2FresetPassword&meta=***" - locator resolved to <html>…</html> - unexpected value "https://ltops.cloudflareaccess.com/cdn-cgi/access/login/develop.lexbox.org?kid=c0fc96660e0d5d5355182066a338d53964d78b1072b2a90110c882a6bb9c0967&redirect_url=%2Fapi%2Flogin%2FloginRedirect%3Fjwt%3DeyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI3YzQ2YjgxYSIsInN1YiI6IjM3ZmYwZTIzLTA0ZjItNDU5OS05M2UwLTIxNTA4NmVmNWMzMCIsImRhdGUiOjE3MTM5OTQyMTMsImVtYWlsIjoiOWE2M2ZjZjAtYjI4Yy00MGNjLTk5ZTgtNzkzYTg3NTIzMzlhQG1haWxpbmF0b3IuY29tIiwibmFtZSI6IlRlc3Q6IGZvcmdvdCBw***d29yZCAtIDlhNjNmY2YwLWIyOGMtNDBjYy05OWU4LTc5M2E4NzUyMzM5YUBtYWlsaW5hdG9yLmNvbSIsInJvbGUiOiJ1c2VyIiwicHJvaiI6IiIsImxvY2siOnRydWUsInVudmVyIjp0cnVlLCJsb2MiOiJlbiIsIm5iZiI6MTcxMzk5NDIxNiwiZXhwIjoxNzE0MjUzNDE2LCJpYXQiOjE3MTM5OTQyMTYsImlzcyI6IkxleGJveEFwaSIsImF1ZCI6IkZvcmdvdFBhc3N3b3JkIn0.-jgKe4kllW4w39i1LYnmrLzdy_LLoqx4qlMIAxVQ_wo%26returnTo%3D%2FresetPassword&meta=***" - locator resolved to <html>…</html> - unexpected value "https://ltops.cloudflareaccess.com/cdn-cgi/access/login/develop.lexbox.org?kid=c0fc96660e0d5d5355182066a338d53964d78b1072b2a90110c88
[chromium] › emailWorkflow.test.ts:79:1 › forgot password: frontend/tests/emailWorkflow.test.ts#L92
2) [chromium] › emailWorkflow.test.ts:79:1 › forgot ***word ───────────────────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toContain(expected) // indexOf Expected substring: "resetPassword" Received string: "https://develop.lexbox.org/api/login/verifyEmail?jwt=***" 90 | const resetPasswordUrl = await emailPage.getFirstLanguageDepotUrl(); 91 | expect(resetPasswordUrl).not.toBeNull(); > 92 | expect(resetPasswordUrl!).toContain('resetPassword'); | ^ 93 | 94 | const pagePromise = emailPage.page.context().waitForEvent('page'); 95 | await emailPage.clickResetPassword(); at /runner/_work/languageforge-lexbox/languageforge-lexbox/frontend/tests/emailWorkflow.test.ts:92:29
[chromium] › emailWorkflow.test.ts:115:1 › register via new-user invitation email: frontend/tests/pages/basePage.ts#L58
3) [chromium] › emailWorkflow.test.ts:115:1 › register via new-user invitation email ───────────── Error: Timed out 5000ms waiting for expect(locator).toBeVisible() Locator: locator('[id^=\'row_\']').first() Expected: visible Received: hidden Call log: - expect.toBeVisible with timeout 5000ms - waiting for locator('[id^=\'row_\']').first() at pages/basePage.ts:58 56 | } 57 | await BasePage.waitForHydration(this.page); // wait for, e.g., onclick handlers to be attached > 58 | await Promise.all(this.locators.map(l => expect(l).toBeVisible())); | ^ 59 | return this; 60 | } 61 | at map (/runner/_work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:58:56) at MailinatorInboxPage.waitFor (/runner/_work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:58:37) at MailinatorInboxPage.goto (/runner/_work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:43:7) at /runner/_work/languageforge-lexbox/languageforge-lexbox/frontend/tests/emailWorkflow.test.ts:132:21
[chromium] › emailWorkflow.test.ts:115:1 › register via new-user invitation email: frontend/tests/emailWorkflow.test.ts#L1
3) [chromium] › emailWorkflow.test.ts:115:1 › register via new-user invitation email ───────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 60000ms exceeded.
[chromium] › emailWorkflow.test.ts:115:1 › register via new-user invitation email: frontend/tests/pages/mailPages.ts#L50
3) [chromium] › emailWorkflow.test.ts:115:1 › register via new-user invitation email ───────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.click: Test timeout of 60000ms exceeded. Call log: - waiting for frameLocator('#html_msg_body').locator('body').locator('a[href*=\'https://lexbox.dev.languagetechnology.org\']').first() at pages/mailPages.ts:50 48 | 49 | clickFirstLanguageDepotUrl(): Promise<void> { > 50 | return this.bodyLocator.locator(`a[href*='${serverBaseUrl}']`).first().click(); | ^ 51 | } 52 | } 53 | at MailinatorEmailPage.clickFirstLanguageDepotUrl (/runner/_work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/mailPages.ts:50:76) at /runner/_work/languageforge-lexbox/languageforge-lexbox/frontend/tests/emailWorkflow.test.ts:142:19
[chromium] › resetProject.test.ts:20:1 › reset project and upload .zip file: frontend/tests/utils/gqlHelpers.ts#L8
4) [chromium] › resetProject.test.ts:20:1 › reset project and upload .zip file ─────────────────── Error: expect(received).toBeFalsy() Received: [{"__typename": "DbError", "code": "DUPLICATE", "message": "Project already exists"}] at utils/gqlHelpers.ts:8 6 | expect(json.errors).toBeFalsy(); 7 | expect(json.data).toBeDefined(); > 8 | Object.values(json.data as {errors: unknown}[]).forEach(value => expect(value.errors).toBeFalsy()); | ^ 9 | } 10 | } 11 | at forEach (/runner/_work/languageforge-lexbox/languageforge-lexbox/frontend/tests/utils/gqlHelpers.ts:8:91) at validateGqlErrors (/runner/_work/languageforge-lexbox/languageforge-lexbox/frontend/tests/utils/gqlHelpers.ts:8:53) at executeGql (/runner/_work/languageforge-lexbox/languageforge-lexbox/frontend/tests/utils/gqlHelpers.ts:17:3) at Object.tempProject (/runner/_work/languageforge-lexbox/languageforge-lexbox/frontend/tests/fixtures.ts:92:25)
[chromium] › resetProject.test.ts:20:1 › reset project and upload .zip file: frontend/tests/utils/gqlHelpers.ts#L8
4) [chromium] › resetProject.test.ts:20:1 › reset project and upload .zip file ─────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBeFalsy() Received: [{"__typename": "DbError", "code": "DUPLICATE", "message": "Project already exists"}] at utils/gqlHelpers.ts:8 6 | expect(json.errors).toBeFalsy(); 7 | expect(json.data).toBeDefined(); > 8 | Object.values(json.data as {errors: unknown}[]).forEach(value => expect(value.errors).toBeFalsy()); | ^ 9 | } 10 | } 11 | at forEach (/runner/_work/languageforge-lexbox/languageforge-lexbox/frontend/tests/utils/gqlHelpers.ts:8:91) at validateGqlErrors (/runner/_work/languageforge-lexbox/languageforge-lexbox/frontend/tests/utils/gqlHelpers.ts:8:53) at executeGql (/runner/_work/languageforge-lexbox/languageforge-lexbox/frontend/tests/utils/gqlHelpers.ts:17:3) at Object.tempProject (/runner/_work/languageforge-lexbox/languageforge-lexbox/frontend/tests/fixtures.ts:92:25)
SendReceiveAfterProjectReset(protocol: Hgweb) (Testing.SyncReverseProxy.SendReceiveServiceTests) failed: Testing.SyncReverseProxy.SendReceiveServiceTests#L0
./test-results/_gha-lf-lexbox-runner-pvjdr-fswvf_2024-04-24_21_42_59.trx [took 19s]
UnauthorizedUserCloneHgWeb (Testing.SyncReverseProxy.SendReceiveServiceTests) failed: Testing.SyncReverseProxy.SendReceiveServiceTests#L0
./test-results/_gha-lf-lexbox-runner-pvjdr-fswvf_2024-04-24_21_42_59.trx [took 0s]
InvalidUserCloneHgResumable (Testing.SyncReverseProxy.SendReceiveServiceTests) failed: Testing.SyncReverseProxy.SendReceiveServiceTests#L0
./test-results/_gha-lf-lexbox-runner-pvjdr-fswvf_2024-04-24_21_42_59.trx [took 1s]
CanCreateMultipleProjectsAndQueryThemRightAway (Testing.ApiTests.NewProjectRaceCondition) failed: Testing.ApiTests.NewProjectRaceCondition#L0
./test-results/_gha-lf-lexbox-runner-pvjdr-fswvf_2024-04-24_21_42_59.trx [took 0s]
InvalidPassOnCloneHgWeb (Testing.SyncReverseProxy.SendReceiveServiceTests) failed: Testing.SyncReverseProxy.SendReceiveServiceTests#L0
./test-results/_gha-lf-lexbox-runner-pvjdr-fswvf_2024-04-24_21_42_59.trx [took 0s]
Test self-hosted for Mercurial 6 on develop: backend/FixFwData/Program.cs#L1
The variable 'doNothing' is assigned but its value is never used
Test self-hosted for Mercurial 6 on develop: backend/MiniLcm/InMemoryApi.cs#L166
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
Test self-hosted for Mercurial 6 on develop: backend/MiniLcm/InMemoryApi.cs#L190
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
Test self-hosted for Mercurial 6 on develop: backend/LfClassicData/LfClassicLexboxApi.cs#L156
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
Test self-hosted for Mercurial 6 on develop: backend/LexBoxApi/Auth/JwtTicketDataFormat.cs#L122
'JwtBearerOptions.SecurityTokenValidators' is obsolete: 'SecurityTokenValidators is no longer used by default. Use TokenHandlers instead. To continue using SecurityTokenValidators, set UseSecurityTokenValidators to true. See https://aka.ms/aspnetcore8/security-token-changes'
Test self-hosted for Mercurial 6 on develop: backend/LexBoxApi/Controllers/IntegrationController.cs#L62
Action method returns undeclared status code '404'
Test self-hosted for Mercurial 6 on develop: backend/FixFwData/Program.cs#L1
The variable 'doNothing' is assigned but its value is never used
Test self-hosted for Mercurial 6 on develop
The "--output" option isn't supported when building a solution. Specifying a solution-level output path results in all projects copying outputs to the same directory, which can lead to inconsistent builds.
Test self-hosted for Mercurial 6 on develop: backend/LfClassicData/LfClassicLexboxApi.cs#L156
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
Test self-hosted for Mercurial 6 on develop: backend/LexBoxApi/Auth/JwtTicketDataFormat.cs#L122
'JwtBearerOptions.SecurityTokenValidators' is obsolete: 'SecurityTokenValidators is no longer used by default. Use TokenHandlers instead. To continue using SecurityTokenValidators, set UseSecurityTokenValidators to true. See https://aka.ms/aspnetcore8/security-token-changes'
Test self-hosted for Mercurial 6 on develop: backend/LexBoxApi/Controllers/IntegrationController.cs#L62
Action method returns undeclared status code '404'
60 tests found
There are 60 tests, see "Raw output" for the full list of tests.
🎭 Playwright Run Summary
8 failed [chromium] › emailWorkflow.test.ts:27:1 › register, verify, update, verify email address ─────── [chromium] › emailWorkflow.test.ts:79:1 › forgot ***word ────────────────────────────────────── [chromium] › emailWorkflow.test.ts:115:1 › register via new-user invitation email ────────────── [chromium] › resetProject.test.ts:20:1 › reset project and upload .zip file ──────────────────── [firefox] › emailWorkflow.test.ts:27:1 › register, verify, update, verify email address ──────── [firefox] › emailWorkflow.test.ts:79:1 › forgot ***word ─────────────────────────────────────── [firefox] › emailWorkflow.test.ts:115:1 › register via new-user invitation email ─────────────── [firefox] › errorHandling.test.ts:140:1 › page load 403 on home page is redirected to login ──── 52 ***ed (13.1m)

Artifacts

Produced during runtime
Name Size
playwright-traces-self-hosted-hg-6 Expired
175 MB