Exporting environment variables Exporting CI Exporting DISPLAY Exporting NODE_ENV Exporting PAGER Exporting SEMAPHORE Exporting SEMAPHORE_AGENT_MACHINE_ENVIRONMENT_TYPE Exporting SEMAPHORE_AGENT_MACHINE_OS_IMAGE Exporting SEMAPHORE_AGENT_MACHINE_TYPE Exporting SEMAPHORE_ARTIFACT_TOKEN Exporting SEMAPHORE_CACHE_BACKEND Exporting SEMAPHORE_CACHE_PRIVATE_KEY_PATH Exporting SEMAPHORE_CACHE_URL Exporting SEMAPHORE_CACHE_USERNAME Exporting SEMAPHORE_GIT_BRANCH Exporting SEMAPHORE_GIT_COMMITTER Exporting SEMAPHORE_GIT_COMMIT_AUTHOR Exporting SEMAPHORE_GIT_COMMIT_RANGE Exporting SEMAPHORE_GIT_DIR Exporting SEMAPHORE_GIT_PROVIDER Exporting SEMAPHORE_GIT_PR_BRANCH Exporting SEMAPHORE_GIT_PR_NAME Exporting SEMAPHORE_GIT_PR_NUMBER Exporting SEMAPHORE_GIT_PR_SHA Exporting SEMAPHORE_GIT_PR_SLUG Exporting SEMAPHORE_GIT_REF Exporting SEMAPHORE_GIT_REF_TYPE Exporting SEMAPHORE_GIT_REPO_NAME Exporting SEMAPHORE_GIT_REPO_SLUG Exporting SEMAPHORE_GIT_SHA Exporting SEMAPHORE_GIT_URL Exporting SEMAPHORE_GIT_WORKING_BRANCH Exporting SEMAPHORE_JOB_CREATION_TIME Exporting SEMAPHORE_JOB_ID Exporting SEMAPHORE_JOB_NAME Exporting SEMAPHORE_ORGANIZATION_URL Exporting SEMAPHORE_PIPELINE_0_ARTEFACT_ID Exporting SEMAPHORE_PIPELINE_ARTEFACT_ID Exporting SEMAPHORE_PIPELINE_ID Exporting SEMAPHORE_PIPELINE_PROMOTED_BY Exporting SEMAPHORE_PIPELINE_PROMOTION Exporting SEMAPHORE_PIPELINE_RERUN Exporting SEMAPHORE_PROJECT_ID Exporting SEMAPHORE_PROJECT_NAME Exporting SEMAPHORE_TOOLBOX_METRICS_ENABLED Exporting SEMAPHORE_WORKFLOW_HOOK_SOURCE Exporting SEMAPHORE_WORKFLOW_ID Exporting SEMAPHORE_WORKFLOW_NUMBER Exporting SEMAPHORE_WORKFLOW_RERUN Exporting SEMAPHORE_WORKFLOW_TRIGGERED_BY Exporting SEMAPHORE_WORKFLOW_TRIGGERED_BY_API Exporting SEMAPHORE_WORKFLOW_TRIGGERED_BY_HOOK Exporting SEMAPHORE_WORKFLOW_TRIGGERED_BY_MANUAL_RUN Exporting SEMAPHORE_WORKFLOW_TRIGGERED_BY_SCHEDULE Exporting SSH_PRIVATE_KEY_PATH Exporting TERM Injecting Files Injecting /home/semaphore/.ssh/semaphore_cache_key with file mode 0600 Injecting /home/semaphore/.ssh/id_rsa with file mode 0600 Running the pre-job hook configured in the agent Running: source /opt/semaphoreci/prejob/pre_job.sh Warning: The agent is configured to fail the job if the pre-job hook fails. Installing toolbox in pre-job-hook Toolbox download URL: http://packages.semaphoreci.com/toolbox/releases/download/v1.21.6/linux.tar Tar file: linux.tar Attempt 5 toolbox/ toolbox/README.md toolbox/sem-semantic-release toolbox/sem-service toolbox/retry toolbox/cache toolbox/sem-dockerize toolbox/sem-context toolbox/system-metrics-collector toolbox/libcheckout toolbox/Dockerfile.dev toolbox/sem-install toolbox/when toolbox/sem-version toolbox/ssh-session-cli toolbox/install-package toolbox/sem-service-check-params toolbox/install-toolbox toolbox/libchecksum toolbox/enetwork toolbox/spc toolbox/test-results toolbox/artifact toolbox/toolbox retry installed ssh-session-cli installed cache installed sem-context installed sem-service installed sem-dockerize installed sem-service-check-params installed sem-semantic-release installed Installing the artifacts CLI artifacts installed Installing the test results CLI test-results installed Installing the install-package for linux install-package installed Installing the SPC CLI spc installed Installing the when CLI when installed Installing the enetwork CLI enetwork installed Starting to collect System Metrics in /tmp/system-metrics Starting virtual X frame buffer: Xvfb. Toolbox installed Starting ssh-agent Agent pid 3389 ssh-agent started Connecting to cache # 116.202.32.43:29920 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.7 # 116.202.32.43:29920 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.7 # 116.202.32.43:29920 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.7 Identity added: /home/semaphore/.ssh/semaphore_cache_key (/home/semaphore/.ssh/semaphore_cache_key) checkout Cloning into 'workos-node'... Warning: Permanently added 'github.com,140.82.121.3' (ECDSA) to the list of known hosts. remote: Enumerating objects: 685, done. remote: Counting objects: 0% (1/685) remote: Counting objects: 1% (7/685) remote: Counting objects: 2% (14/685) remote: Counting objects: 3% (21/685) remote: Counting objects: 4% (28/685) remote: Counting objects: 5% (35/685) remote: Counting objects: 6% (42/685) remote: Counting objects: 7% (48/685) remote: Counting objects: 8% (55/685) remote: Counting objects: 9% (62/685) remote: Counting objects: 10% (69/685) remote: Counting objects: 11% (76/685) remote: Counting objects: 12% (83/685) remote: Counting objects: 13% (90/685) remote: Counting objects: 14% (96/685) remote: Counting objects: 15% (103/685) remote: Counting objects: 16% (110/685) remote: Counting objects: 17% (117/685) remote: Counting objects: 18% (124/685) remote: Counting objects: 19% (131/685) remote: Counting objects: 20% (137/685) remote: Counting objects: 21% (144/685) remote: Counting objects: 22% (151/685) remote: Counting objects: 23% (158/685) remote: Counting objects: 24% (165/685) remote: Counting objects: 25% (172/685) remote: Counting objects: 26% (179/685) remote: Counting objects: 27% (185/685) remote: Counting objects: 28% (192/685) remote: Counting objects: 29% (199/685) remote: Counting objects: 30% (206/685) remote: Counting objects: 31% (213/685) remote: Counting objects: 32% (220/685) remote: Counting objects: 33% (227/685) remote: Counting objects: 34% (233/685) remote: Counting objects: 35% (240/685) remote: Counting objects: 36% (247/685) remote: Counting objects: 37% (254/685) remote: Counting objects: 38% (261/685) remote: Counting objects: 39% (268/685) remote: Counting objects: 40% (274/685) remote: Counting objects: 41% (281/685) remote: Counting objects: 42% (288/685) remote: Counting objects: 43% (295/685) remote: Counting objects: 44% (302/685) remote: Counting objects: 45% (309/685) remote: Counting objects: 46% (316/685) remote: Counting objects: 47% (322/685) remote: Counting objects: 48% (329/685) remote: Counting objects: 49% (336/685) remote: Counting objects: 50% (343/685) remote: Counting objects: 51% (350/685) remote: Counting objects: 52% (357/685) remote: Counting objects: 53% (364/685) remote: Counting objects: 54% (370/685) remote: Counting objects: 55% (377/685) remote: Counting objects: 56% (384/685) remote: Counting objects: 57% (391/685) remote: Counting objects: 58% (398/685) remote: Counting objects: 59% (405/685) remote: Counting objects: 60% (411/685) remote: Counting objects: 61% (418/685) remote: Counting objects: 62% (425/685) remote: Counting objects: 63% (432/685) remote: Counting objects: 64% (439/685) remote: Counting objects: 65% (446/685) remote: Counting objects: 66% (453/685) remote: Counting objects: 67% (459/685) remote: Counting objects: 68% (466/685) remote: Counting objects: 69% (473/685) remote: Counting objects: 70% (480/685) remote: Counting objects: 71% (487/685) remote: Counting objects: 72% (494/685) remote: Counting objects: 73% (501/685) remote: Counting objects: 74% (507/685) remote: Counting objects: 75% (514/685) remote: Counting objects: 76% (521/685) remote: Counting objects: 77% (528/685) remote: Counting objects: 78% (535/685) remote: Counting objects: 79% (542/685) remote: Counting objects: 80% (548/685) remote: Counting objects: 81% (555/685) remote: Counting objects: 82% (562/685) remote: Counting objects: 83% (569/685) remote: Counting objects: 84% (576/685) remote: Counting objects: 85% (583/685) remote: Counting objects: 86% (590/685) remote: Counting objects: 87% (596/685) remote: Counting objects: 88% (603/685) remote: Counting objects: 89% (610/685) remote: Counting objects: 90% (617/685) remote: Counting objects: 91% (624/685) remote: Counting objects: 92% (631/685) remote: Counting objects: 93% (638/685) remote: Counting objects: 94% (644/685) remote: Counting objects: 95% (651/685) remote: Counting objects: 96% (658/685) remote: Counting objects: 97% (665/685) remote: Counting objects: 98% (672/685) remote: Counting objects: 99% (679/685) remote: Counting objects: 100% (685/685) remote: Counting objects: 100% (685/685), done. remote: Compressing objects: 0% (1/451) remote: Compressing objects: 1% (5/451) remote: Compressing objects: 2% (10/451) remote: Compressing objects: 3% (14/451) remote: Compressing objects: 4% (19/451) remote: Compressing objects: 5% (23/451) remote: Compressing objects: 6% (28/451) remote: Compressing objects: 7% (32/451) remote: Compressing objects: 8% (37/451) remote: Compressing objects: 9% (41/451) remote: Compressing objects: 10% (46/451) remote: Compressing objects: 11% (50/451) remote: Compressing objects: 12% (55/451) remote: Compressing objects: 13% (59/451) remote: Compressing objects: 14% (64/451) remote: Compressing objects: 15% (68/451) remote: Compressing objects: 16% (73/451) remote: Compressing objects: 17% (77/451) remote: Compressing objects: 18% (82/451) remote: Compressing objects: 19% (86/451) remote: Compressing objects: 20% (91/451) remote: Compressing objects: 21% (95/451) remote: Compressing objects: 22% (100/451) remote: Compressing objects: 23% (104/451) remote: Compressing objects: 24% (109/451) remote: Compressing objects: 25% (113/451) remote: Compressing objects: 26% (118/451) remote: Compressing objects: 27% (122/451) remote: Compressing objects: 28% (127/451) remote: Compressing objects: 29% (131/451) remote: Compressing objects: 30% (136/451) remote: Compressing objects: 31% (140/451) remote: Compressing objects: 32% (145/451) remote: Compressing objects: 33% (149/451) remote: Compressing objects: 34% (154/451) remote: Compressing objects: 35% (158/451) remote: Compressing objects: 36% (163/451) remote: Compressing objects: 37% (167/451) remote: Compressing objects: 38% (172/451) remote: Compressing objects: 39% (176/451) remote: Compressing objects: 40% (181/451) remote: Compressing objects: 41% (185/451) remote: Compressing objects: 42% (190/451) remote: Compressing objects: 43% (194/451) remote: Compressing objects: 44% (199/451) remote: Compressing objects: 45% (203/451) remote: Compressing objects: 46% (208/451) remote: Compressing objects: 47% (212/451) remote: Compressing objects: 48% (217/451) remote: Compressing objects: 49% (221/451) remote: Compressing objects: 50% (226/451) remote: Compressing objects: 51% (231/451) remote: Compressing objects: 52% (235/451) remote: Compressing objects: 53% (240/451) remote: Compressing objects: 54% (244/451) remote: Compressing objects: 55% (249/451) remote: Compressing objects: 56% (253/451) remote: Compressing objects: 57% (258/451) remote: Compressing objects: 58% (262/451) remote: Compressing objects: 59% (267/451) remote: Compressing objects: 60% (271/451) remote: Compressing objects: 61% (276/451) remote: Compressing objects: 62% (280/451) remote: Compressing objects: 63% (285/451) remote: Compressing objects: 64% (289/451) remote: Compressing objects: 65% (294/451) remote: Compressing objects: 66% (298/451) remote: Compressing objects: 67% (303/451) remote: Compressing objects: 68% (307/451) remote: Compressing objects: 69% (312/451) remote: Compressing objects: 70% (316/451) remote: Compressing objects: 71% (321/451) remote: Compressing objects: 72% (325/451) remote: Compressing objects: 73% (330/451) remote: Compressing objects: 74% (334/451) remote: Compressing objects: 75% (339/451) remote: Compressing objects: 76% (343/451) remote: Compressing objects: 77% (348/451) remote: Compressing objects: 78% (352/451) remote: Compressing objects: 79% (357/451) remote: Compressing objects: 80% (361/451) remote: Compressing objects: 81% (366/451) remote: Compressing objects: 82% (370/451) remote: Compressing objects: 83% (375/451) remote: Compressing objects: 84% (379/451) remote: Compressing objects: 85% (384/451) remote: Compressing objects: 86% (388/451) remote: Compressing objects: 87% (393/451) remote: Compressing objects: 88% (397/451) remote: Compressing objects: 89% (402/451) remote: Compressing objects: 90% (406/451) remote: Compressing objects: 91% (411/451) remote: Compressing objects: 92% (415/451) remote: Compressing objects: 93% (420/451) remote: Compressing objects: 94% (424/451) remote: Compressing objects: 95% (429/451) remote: Compressing objects: 96% (433/451) remote: Compressing objects: 97% (438/451) remote: Compressing objects: 98% (442/451) remote: Compressing objects: 99% (447/451) remote: Compressing objects: 100% (451/451) remote: Compressing objects: 100% (451/451), done. Receiving objects: 0% (1/685) Receiving objects: 1% (7/685) Receiving objects: 2% (14/685) Receiving objects: 3% (21/685) Receiving objects: 4% (28/685) Receiving objects: 5% (35/685) Receiving objects: 6% (42/685) Receiving objects: 7% (48/685) Receiving objects: 8% (55/685) Receiving objects: 9% (62/685) Receiving objects: 10% (69/685) Receiving objects: 11% (76/685) Receiving objects: 12% (83/685) Receiving objects: 13% (90/685) Receiving objects: 14% (96/685) Receiving objects: 15% (103/685) Receiving objects: 16% (110/685) Receiving objects: 17% (117/685) Receiving objects: 18% (124/685) Receiving objects: 19% (131/685) Receiving objects: 20% (137/685) Receiving objects: 21% (144/685) Receiving objects: 22% (151/685) Receiving objects: 23% (158/685) Receiving objects: 24% (165/685) Receiving objects: 25% (172/685) Receiving objects: 26% (179/685) Receiving objects: 27% (185/685) Receiving objects: 28% (192/685) Receiving objects: 29% (199/685) Receiving objects: 30% (206/685) Receiving objects: 31% (213/685) Receiving objects: 32% (220/685) Receiving objects: 33% (227/685) Receiving objects: 34% (233/685) Receiving objects: 35% (240/685) Receiving objects: 36% (247/685) Receiving objects: 37% (254/685) Receiving objects: 38% (261/685) Receiving objects: 39% (268/685) Receiving objects: 40% (274/685) Receiving objects: 41% (281/685) Receiving objects: 42% (288/685) Receiving objects: 43% (295/685) Receiving objects: 44% (302/685) Receiving objects: 45% (309/685) Receiving objects: 46% (316/685) Receiving objects: 47% (322/685) Receiving objects: 48% (329/685) Receiving objects: 49% (336/685) Receiving objects: 50% (343/685) Receiving objects: 51% (350/685) Receiving objects: 52% (357/685) Receiving objects: 53% (364/685) Receiving objects: 54% (370/685) Receiving objects: 55% (377/685) Receiving objects: 56% (384/685) Receiving objects: 57% (391/685) Receiving objects: 58% (398/685) Receiving objects: 59% (405/685) Receiving objects: 60% (411/685) Receiving objects: 61% (418/685) Receiving objects: 62% (425/685) Receiving objects: 63% (432/685) Receiving objects: 64% (439/685) Receiving objects: 65% (446/685) Receiving objects: 66% (453/685) Receiving objects: 67% (459/685) Receiving objects: 68% (466/685) Receiving objects: 69% (473/685) Receiving objects: 70% (480/685) Receiving objects: 71% (487/685) Receiving objects: 72% (494/685) Receiving objects: 73% (501/685) Receiving objects: 74% (507/685) Receiving objects: 75% (514/685) Receiving objects: 76% (521/685) Receiving objects: 77% (528/685) Receiving objects: 78% (535/685) Receiving objects: 79% (542/685) Receiving objects: 80% (548/685) Receiving objects: 81% (555/685) remote: Total 685 (delta 358), reused 450 (delta 216), pack-reused 0 Receiving objects: 82% (562/685) Receiving objects: 83% (569/685) Receiving objects: 84% (576/685) Receiving objects: 85% (583/685) Receiving objects: 86% (590/685) Receiving objects: 87% (596/685) Receiving objects: 88% (603/685) Receiving objects: 89% (610/685) Receiving objects: 90% (617/685) Receiving objects: 91% (624/685) Receiving objects: 92% (631/685) Receiving objects: 93% (638/685) Receiving objects: 94% (644/685) Receiving objects: 95% (651/685) Receiving objects: 96% (658/685) Receiving objects: 97% (665/685) Receiving objects: 98% (672/685) Receiving objects: 99% (679/685) Receiving objects: 100% (685/685) Receiving objects: 100% (685/685), 185.53 KiB | 1.07 MiB/s, done. Resolving deltas: 0% (0/358) Resolving deltas: 1% (4/358) Resolving deltas: 2% (9/358) Resolving deltas: 3% (11/358) Resolving deltas: 4% (15/358) Resolving deltas: 5% (18/358) Resolving deltas: 6% (22/358) Resolving deltas: 7% (26/358) Resolving deltas: 8% (29/358) Resolving deltas: 9% (33/358) Resolving deltas: 10% (36/358) Resolving deltas: 11% (40/358) Resolving deltas: 12% (43/358) Resolving deltas: 13% (47/358) Resolving deltas: 14% (51/358) Resolving deltas: 15% (54/358) Resolving deltas: 16% (58/358) Resolving deltas: 17% (61/358) Resolving deltas: 18% (65/358) Resolving deltas: 19% (69/358) Resolving deltas: 20% (73/358) Resolving deltas: 21% (76/358) Resolving deltas: 22% (79/358) Resolving deltas: 23% (83/358) Resolving deltas: 24% (86/358) Resolving deltas: 25% (90/358) Resolving deltas: 26% (94/358) Resolving deltas: 27% (97/358) Resolving deltas: 28% (101/358) Resolving deltas: 29% (104/358) Resolving deltas: 30% (108/358) Resolving deltas: 31% (111/358) Resolving deltas: 32% (115/358) Resolving deltas: 33% (119/358) Resolving deltas: 34% (122/358) Resolving deltas: 35% (126/358) Resolving deltas: 36% (129/358) Resolving deltas: 37% (133/358) Resolving deltas: 38% (137/358) Resolving deltas: 39% (140/358) Resolving deltas: 40% (144/358) Resolving deltas: 41% (147/358) Resolving deltas: 42% (151/358) Resolving deltas: 43% (154/358) Resolving deltas: 44% (158/358) Resolving deltas: 45% (162/358) Resolving deltas: 46% (165/358) Resolving deltas: 47% (169/358) Resolving deltas: 48% (172/358) Resolving deltas: 49% (176/358) Resolving deltas: 50% (179/358) Resolving deltas: 51% (183/358) Resolving deltas: 52% (187/358) Resolving deltas: 53% (190/358) Resolving deltas: 54% (194/358) Resolving deltas: 55% (197/358) Resolving deltas: 56% (201/358) Resolving deltas: 57% (205/358) Resolving deltas: 58% (208/358) Resolving deltas: 59% (212/358) Resolving deltas: 60% (215/358) Resolving deltas: 61% (219/358) Resolving deltas: 62% (222/358) Resolving deltas: 63% (226/358) Resolving deltas: 64% (230/358) Resolving deltas: 65% (233/358) Resolving deltas: 66% (237/358) Resolving deltas: 67% (240/358) Resolving deltas: 68% (244/358) Resolving deltas: 69% (248/358) Resolving deltas: 70% (251/358) Resolving deltas: 71% (255/358) Resolving deltas: 72% (258/358) Resolving deltas: 73% (262/358) Resolving deltas: 74% (266/358) Resolving deltas: 75% (269/358) Resolving deltas: 76% (273/358) Resolving deltas: 77% (276/358) Resolving deltas: 78% (280/358) Resolving deltas: 79% (283/358) Resolving deltas: 80% (287/358) Resolving deltas: 81% (290/358) Resolving deltas: 82% (294/358) Resolving deltas: 83% (298/358) Resolving deltas: 84% (301/358) Resolving deltas: 85% (305/358) Resolving deltas: 86% (308/358) Resolving deltas: 87% (312/358) Resolving deltas: 88% (316/358) Resolving deltas: 89% (319/358) Resolving deltas: 90% (323/358) Resolving deltas: 91% (326/358) Resolving deltas: 92% (330/358) Resolving deltas: 93% (333/358) Resolving deltas: 94% (337/358) Resolving deltas: 95% (341/358) Resolving deltas: 96% (344/358) Resolving deltas: 97% (348/358) Resolving deltas: 98% (351/358) Resolving deltas: 99% (355/358) Resolving deltas: 100% (358/358) Resolving deltas: 100% (358/358), done. HEAD is now at 3b4e9498e2ba9d3595d53304873466fd7e1ff212 nvm install Found '/home/semaphore/workos-node/.nvmrc' with version <14.21.3> Downloading and installing node v14.21.3... Downloading https://nodejs.org/dist/v14.21.3/node-v14.21.3-linux-x64.tar.xz... ######## 11.4% ######################################### 57.5% ######################################################################## 100.0% Computing checksum with sha256sum Checksums matched! Now using node v14.21.3 (npm v6.14.18) nvm use Found '/home/semaphore/workos-node/.nvmrc' with version <14.21.3> Now using node v14.21.3 (npm v6.14.18) bash ~/workos-node/bin/restore-or-install HIT: 'node-modules-be52d8b0d9423943d79b3829a25afdff', using key 'node-modules-be52d8b0d9423943d79b3829a25afdff'. Downloading key 'node-modules-be52d8b0d9423943d79b3829a25afdff'... Download complete. Duration: 181.902732ms. Size: 19.2M bytes. Unpacking '/tmp/node-modules-be52d8b0d9423943d79b3829a25afdff-110733348'... Unpack complete. Duration: 636.979671ms. Restored: ./node_modules/. yarn test yarn run v1.22.19 $ jest PASS src/user-management/user-management.spec.ts UserManagement getUser ✓ sends a Get User request (5 ms) listUsers ✓ lists users (1 ms) ✓ sends the correct params when filtering (1 ms) createUser ✓ sends a Create User request (1 ms) authenticateUserWithMagicAuth ✓ sends a magic auth authentication request (1 ms) authenticateUserWithPassword ✓ sends an password authentication request (1 ms) authenticateUserWithCode ✓ sends a token authentication request (1 ms) authenticateUserWithTotp ✓ sends a token authentication request (1 ms) authenticateUserWithEmailVerification ✓ sends an email verification authentication request (1 ms) authenticateWithOrganizationSelection ✓ sends an Organization Selection Authentication request (1 ms) sendVerificationEmail ✓ sends a Create Email Verification Challenge request (1 ms) verifyEmail ✓ sends a Complete Email Verification request (1 ms) sendMagicAuthCode ✓ sends a Send Magic Auth Code request (4 ms) sendPasswordResetEmail ✓ sends a Send Password Reset Email request (1 ms) resetPassword ✓ sends a Reset Password request (1 ms) updateUser ✓ sends a updateUser request (1 ms) when only one property is provided ✓ sends a updateUser request enrollAuthFactor ✓ sends an enrollAuthFactor request listAuthFactors ✓ sends a listAuthFactors request deleteUser ✓ sends a deleteUser request (3 ms) getOrganizationMembership ✓ sends a Get OrganizationMembership request (1 ms) listOrganizationMemberships ✓ lists organization memberships (1 ms) ✓ sends the correct params when filtering createOrganizationMembership ✓ sends a create organization membership request deleteOrganizationMembership ✓ sends a deleteOrganizationMembership request (1 ms) getInvitation ✓ sends a Get Invitation request listInvitations ✓ lists invitations (1 ms) ✓ sends the correct params when filtering (1 ms) sendInvitation ✓ sends a Send Invitation request ✓ sends the correct params when provided revokeInvitation ✓ send a Revoke Invitation request (1 ms) getAuthorizationUrl with no custom api hostname ✓ generates an authorize url with the default api hostname (1 ms) with no domain or provider ✓ throws an error for incomplete arguments (1 ms) with a provider ✓ generates an authorize url with the provider (1 ms) with a connectionId ✓ generates an authorize url with the connection with an organizationId ✓ generates an authorization URL with the organization with a custom api hostname ✓ generates an authorize url with the custom api hostname with state ✓ generates an authorize url with the provided state with domainHint ✓ generates an authorize url with the provided domain hint (1 ms) with loginHint ✓ generates an authorize url with the provided login hint (1 ms) PASS src/mfa/mfa.spec.ts MFA getFactor ✓ returns the requested factor (2 ms) deleteFactor ✓ sends request to delete a Factor (1 ms) enrollFactor with generic ✓ enrolls a factor with generic type (1 ms) with totp ✓ enrolls a factor with totp type with sms ✓ enrolls a factor with sms type (1 ms) when phone number is invalid ✓ throws an exception (73 ms) challengeFactor with no sms template ✓ challenge a factor with no sms template (1 ms) with sms template ✓ challenge a factor with sms template (1 ms) verifyChallenge verify with successful response ✓ verifies a successful factor (1 ms) when the challenge has been previously verified ✓ throws an exception (1 ms) when the challenge has expired ✓ throws an exception (2 ms) ✓ exception has code (1 ms) (node:4253) WorkOS: The `domain` parameter for `getAuthorizationURL` is deprecated. Please use `organization` instead. (Use `node --trace-warnings ...` to show where the warning was created) (node:4253) WorkOS: The `domain` parameter for `getAuthorizationURL` is deprecated. Please use `organization` instead. (node:4253) WorkOS: The `domain` parameter for `getAuthorizationURL` is deprecated. Please use `organization` instead. PASS src/sso/sso.spec.ts SSO SSO getAuthorizationUrl with no custom api hostname ✓ generates an authorize url with the default api hostname (1 ms) with no domain or provider ✓ throws an error for incomplete arguments (1 ms) with a provider ✓ generates an authorize url with the provider with a connection ✓ generates an authorize url with the connection (1 ms) with an `organization` ✓ generates an authorization URL with the organization with a custom api hostname ✓ generates an authorize url with the custom api hostname (1 ms) with state ✓ generates an authorize url with the provided state with domainHint ✓ generates an authorize url with the provided domain hint with loginHint ✓ generates an authorize url with the provided login hint (1 ms) getProfileAndToken with all information provided ✓ sends a request to the WorkOS api for a profile (3 ms) without a groups attribute ✓ sends a request to the WorkOS api for a profile (1 ms) getProfile ✓ calls the `/sso/profile` endpoint with the provided access token (1 ms) deleteConnection ✓ sends request to delete a Connection (1 ms) getConnection ✓ requests a Connection (1 ms) listConnections ✓ requests a list of Connections (1 ms) PASS src/directory-sync/directory-sync.spec.ts DirectorySync listDirectories with options ✓ requests Directories with query parameters (1 ms) getDirectory ✓ requests a Directory (1 ms) deleteDirectory ✓ sends a request to delete the directory (1 ms) getGroup ✓ requests a Directory Group (1 ms) listGroups with a Directory ✓ requests a Directory's Groups with a User ✓ requests a Directory's Groups listUsers with a Directory ✓ requests a Directory's Users (1 ms) with custom attributes ✓ returns the custom attributes, using the provided type (1 ms) with a Group ✓ requests a Directory's Users (1 ms) getUser ✓ requests a Directory User (1 ms) PASS src/audit-logs/audit-logs.spec.ts AuditLogs createEvent with an idempotency key ✓ includes an idempotency key with request (2 ms) when the api responds with a 200 ✓ returns void (1 ms) when the api responds with a 401 ✓ throws an UnauthorizedException (14 ms) when the api responds with a 400 ✓ throws an BadRequestException (1 ms) createExport when the api responds with a 201 ✓ returns `audit_log_export` (1 ms) when additional filters are defined ✓ returns `audit_log_export` when the api responds with a 401 ✓ throws an UnauthorizedException (1 ms) getExport when the api responds with a 201 ✓ returns `audit_log_export` (1 ms) when the api responds with a 401 ✓ throws an UnauthorizedException (1 ms) PASS src/organizations/organizations.spec.ts Organizations listOrganizations without any options ✓ returns organizations and metadata (2 ms) with the domain option ✓ forms the proper request to the API (1 ms) with the before option ✓ forms the proper request to the API (1 ms) with the after option ✓ forms the proper request to the API (1 ms) with the limit option ✓ forms the proper request to the API (1 ms) createOrganization with an idempotency key ✓ includes an idempotency key with request (1 ms) with a valid payload ✓ creates an organization (1 ms) with an invalid payload ✓ returns an error (71 ms) getOrganization ✓ requests an Organization (1 ms) deleteOrganization ✓ sends request to delete an Organization updateOrganization with a valid payload ✓ updates an organization (5 ms) PASS src/webhooks/webhooks.spec.ts Webhooks constructEvent with the correct payload, sig_header, and secret ✓ returns a webhook event (2 ms) with the correct payload, sig_header, secret, and tolerance ✓ returns a webhook event (1 ms) with an empty header ✓ raises an error (17 ms) with an empty signature hash ✓ raises an error (1 ms) with an incorrect signature hash ✓ raises an error (1 ms) with an incorrect payload ✓ raises an error (1 ms) with an incorrect webhook secret ✓ raises an error (1 ms) with a timestamp outside tolerance ✓ raises an error (1 ms) verifyHeader ✓ returns true when the signature is valid getTimestampAndSignatureHash ✓ returns the timestamp and signature when the signature is valid computeSignature ✓ returns the computed signature PASS src/workos.spec.ts WorkOS constructor when no API key is provided ✓ throws a NoApiKeyFoundException error (14 ms) when API key is provided with environment variable ✓ initializes (1 ms) when API key is provided with constructor ✓ initializes with https option ✓ sets baseURL with apiHostname option ✓ sets baseURL (1 ms) with port option ✓ sets baseURL when the `axios` option is provided ✓ applies the configuration to the Axios client (1 ms) version ✓ matches the version in `package.json` (1 ms) post when the api responds with a 404 ✓ throws a NotFoundException (50 ms) ✓ preserves the error code, status, and message from the underlying response (1 ms) ✓ includes the path in the message if there is no message in the response (2 ms) when the api responds with a 500 and no error/error_description ✓ throws an GenericServerException (1 ms) when the api responds with a 400 and an error/error_description ✓ throws an OauthException (1 ms) PASS src/portal/portal.spec.ts Portal generateLink with a valid organization with the sso intent ✓ returns an Admin Portal link (1 ms) with the domain_verification intent ✓ returns an Admin Portal link with the dsync intent ✓ returns an Admin Portal link (1 ms) with the `audit_logs` intent ✓ returns an Admin Portal link (1 ms) with the `log_streams` intent ✓ returns an Admin Portal link with an invalid organization ✓ throws an error (72 ms) PASS src/organization-domains/organization-domains.spec.ts OrganizationDomains get ✓ requests an Organization Domain (1 ms) ✓ requests an Organization Domain (1 ms) verify ✓ start Organization Domain verification flow (1 ms) create ✓ creates an Organization Domain (1 ms) PASS src/events/events.spec.ts Event listEvents ✓ requests Events (2 ms) ✓ requests Events with a valid event name (1 ms) PASS src/passwordless/passwordless.spec.ts Passwordless createSession with valid options ✓ creates a passwordless session (2 ms) sendEmail with a valid session id ✓ sends a request to send a magic link email (1 ms) PASS src/directory-sync/utils/get-primary-email.spec.ts getPrimaryEmail ✓ returns primary email value (1 ms) Test Suites: 13 passed, 13 total Tests: 136 passed, 136 total Snapshots: 24 passed, 24 total Time: 6.109 s Ran all test suites. Done in 6.58s. Exporting environment variables Exporting SEMAPHORE_JOB_RESULT