Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion backend/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "proxy-smart-backend",
"displayName": "Proxy Smart Backend",
"version": "0.0.3-beta.202603270447.2f9c80a0",
"version": "0.0.3-alpha.202603270508.c9253829",
"type": "module",
"scripts": {
"test": "bun test",
Expand Down
2 changes: 1 addition & 1 deletion infra/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "proxy-smart-infra",
"displayName": "Proxy Smart Infrastructure",
"description": "AWS CDK infrastructure for Proxy Smart production deployment",
"version": "0.0.3-beta.202603270447.2f9c80a0",
"version": "0.0.3-alpha.202603270508.c9253829",
"private": true,
"type": "module",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "proxy-smart",
"version": "0.0.3-beta.202603270447.2f9c80a0",
"version": "0.0.3-alpha.202603270508.c9253829",
"repository": {
"type": "git",
"url": "git+https://github.com/quotentiroler/proxy-smart.git"
Expand Down
2 changes: 1 addition & 1 deletion patient-portal/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"displayName": "Proxy Smart Patient Portal",
"description": "International Patient Portal β€” SMART on FHIR app for patient access using IPS (International Patient Summary) and IPA (International Patient Access) standards.",
"private": true,
"version": "0.0.3-alpha.202603270447.2f9c80a0",
"version": "0.0.3-alpha.202603270508.c9253829",
"type": "module",
"scripts": {
"dev": "vite --port 5176",
Expand Down
2 changes: 1 addition & 1 deletion scripts/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "proxy-smart-scripts",
"version": "0.0.3-beta.202603270447.2f9c80a0",
"version": "0.0.3-alpha.202603270508.c9253829",
"description": "CI/CD and development scripts for Proxy Smart",
"private": true,
"type": "module",
Expand Down
15 changes: 8 additions & 7 deletions shared-ui/src/components/app-header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -43,17 +43,18 @@ export function AppHeader({
{children}
</div>
<div className="flex items-center gap-1">
<Button variant="ghost" size="sm" asChild>
<a href="/apps">
<LayoutGrid className="size-4" />
App Store
</a>
</Button>
{authenticated && (
{authenticated ? (
<Button variant="ghost" size="sm" onClick={onSignOut}>
<LogOut className="size-4" />
Sign Out
</Button>
) : (
<Button variant="ghost" size="sm" asChild>
<a href="/apps">
<LayoutGrid className="size-4" />
App Store
</a>
</Button>
)}
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion testing/dev/report/fhir-metadata.json

Large diffs are not rendered by default.

36 changes: 18 additions & 18 deletions testing/dev/report/inferno-output.log
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Checking Inferno availability...
βœ“ Inferno is ready
Launching headless Chromium for OAuth automation...
Creating test session for suite: smart_stu2_2
βœ“ Created test session: 3PaaqOonMVL
βœ“ Created test session: ijcgidXvA1C

=== Running Standalone Launch Tests ===

Expand All @@ -32,22 +32,22 @@ Available test groups in suite:

Running test group: smart_stu2_2-smart_full_standalone_launch β€” Standalone Launch
Starting test group: smart_stu2_2-smart_full_standalone_launch
βœ“ Started test run: 70d0b1de-701f-4896-9cb6-a57b9cf06af8
Waiting for test run 70d0b1de-701f-4896-9cb6-a57b9cf06af8 to complete (timeout: 3 minutes)...
βœ“ Started test run: 48fcbd7a-5b4c-4ff3-bf49-849312ed4083
Waiting for test run 48fcbd7a-5b4c-4ff3-bf49-849312ed4083 to complete (timeout: 3 minutes)...
[Poll #1] Status: queued
[Poll #2] Status: waiting
Test is waiting for user action (OAuth flow, attempt 1/3)...
Wait result keys: id, created_at, inputs, messages, optional, outputs, requests, result, result_message, test_id, test_run_id, test_session_id, updated_at
result_message (first 500 chars):
### Standalone Launch

[Follow this link to authorize with the SMART server](http://localhost:8445/auth/authorize?response_type=code&client_id=inferno-test-client&redirect_uri=http%3A%2F%2Flocalhost%3A4567%2Fcustom%2Fsmart_stu2_2%2Fredirect&scope=launch%2Fpatient+openid+fhirUser+offline_access+patient%2F*.read&state=c7cb1a66-2b25-4004-9f2f-2488ea004b97&aud=http%3A%2F%2Flocalhost%3A8445%2Fproxy-smart-backend%2Fhapi-fhir-server%2FR4&code_challenge=N0-136oQ6FLfUxmmS3qP2VYigO5652BdwC0dFs_rsuw&code_
messages (first 500 chars): [{"message":"Inferno redirecting browser to http://localhost:8445/auth/authorize?response_type=code&client_id=inferno-test-client&redirect_uri=http%3A%2F%2Flocalhost%3A4567%2Fcustom%2Fsmart_stu2_2%2Fredirect&scope=launch%2Fpatient+openid+fhirUser+offline_access+patient%2F*.read&state=c7cb1a66-2b25-4004-9f2f-2488ea004b97&aud=http%3A%2F%2Flocalhost%3A8445%2Fproxy-smart-backend%2Fhapi-fhir-server%2FR4&code_challenge=N0-136oQ6FLfUxmmS3qP2VYigO5652BdwC0dFs_rsuw&code_challenge_method=S256.","type":"in
Found OAuth URL in result_message: http://localhost:8445/auth/authorize?response_type=code&client_id=inferno-test-client&redirect_uri=http%3A%2F%2Flocalhost%3A4567%2Fcustom%2Fsmart_stu2_2%2Fredirect&scope=launch%2Fpatient+openid+fhirUser+offline_access+patient%2F*.read&state=c7cb1a66-2b25-4004-9f2f-2488ea004b97&aud=http%3A%2F%2Flocalhost%3A8445%2Fproxy-smart-backend%2Fhapi-fhir-server%2FR4&code_challenge=N0-136oQ6FLfUxmmS3qP2VYigO5652BdwC0dFs_rsuw&code_challenge_method=S256
[Follow this link to authorize with the SMART server](http://localhost:8445/auth/authorize?response_type=code&client_id=inferno-test-client&redirect_uri=http%3A%2F%2Flocalhost%3A4567%2Fcustom%2Fsmart_stu2_2%2Fredirect&scope=launch%2Fpatient+openid+fhirUser+offline_access+patient%2F*.read&state=e2f9f97e-e585-47de-a01c-d708033a8703&aud=http%3A%2F%2Flocalhost%3A8445%2Fproxy-smart-backend%2Fhapi-fhir-server%2FR4&code_challenge=VGvKWxDLoAhsd7-rlQkQ8OglgGb6ID4NReaT9HhnFmA&code_
messages (first 500 chars): [{"message":"Inferno redirecting browser to http://localhost:8445/auth/authorize?response_type=code&client_id=inferno-test-client&redirect_uri=http%3A%2F%2Flocalhost%3A4567%2Fcustom%2Fsmart_stu2_2%2Fredirect&scope=launch%2Fpatient+openid+fhirUser+offline_access+patient%2F*.read&state=e2f9f97e-e585-47de-a01c-d708033a8703&aud=http%3A%2F%2Flocalhost%3A8445%2Fproxy-smart-backend%2Fhapi-fhir-server%2FR4&code_challenge=VGvKWxDLoAhsd7-rlQkQ8OglgGb6ID4NReaT9HhnFmA&code_challenge_method=S256.","type":"in
Found OAuth URL in result_message: http://localhost:8445/auth/authorize?response_type=code&client_id=inferno-test-client&redirect_uri=http%3A%2F%2Flocalhost%3A4567%2Fcustom%2Fsmart_stu2_2%2Fredirect&scope=launch%2Fpatient+openid+fhirUser+offline_access+patient%2F*.read&state=e2f9f97e-e585-47de-a01c-d708033a8703&aud=http%3A%2F%2Flocalhost%3A8445%2Fproxy-smart-backend%2Fhapi-fhir-server%2FR4&code_challenge=VGvKWxDLoAhsd7-rlQkQ8OglgGb6ID4NReaT9HhnFmA&code_challenge_method=S256
Handling OAuth flow...
Navigating to: http://localhost:8445/auth/authorize?response_type=code&client_id=inferno-test-client&redirect_uri=http%3A%2F%2Flocalhost%3A4567%2Fcustom%2Fsmart_stu2_2%2Fredirect&scope=launch%2Fpatient+openid+fhirUser+offline_access+patient%2F*.read&state=c7cb1a66-2b25-4004-9f2f-2488ea004b97&aud=http%3A%2F%2Flocalhost%3A8445%2Fproxy-smart-backend%2Fhapi-fhir-server%2FR4&code_challenge=N0-136oQ6FLfUxmmS3qP2VYigO5652BdwC0dFs_rsuw&code_challenge_method=S256
Navigating to: http://localhost:8445/auth/authorize?response_type=code&client_id=inferno-test-client&redirect_uri=http%3A%2F%2Flocalhost%3A4567%2Fcustom%2Fsmart_stu2_2%2Fredirect&scope=launch%2Fpatient+openid+fhirUser+offline_access+patient%2F*.read&state=e2f9f97e-e585-47de-a01c-d708033a8703&aud=http%3A%2F%2Flocalhost%3A8445%2Fproxy-smart-backend%2Fhapi-fhir-server%2FR4&code_challenge=VGvKWxDLoAhsd7-rlQkQ8OglgGb6ID4NReaT9HhnFmA&code_challenge_method=S256
Navigation response status: 200
Current URL after navigation: http://localhost:8080/realms/proxy-smart/protocol/openid-connect/auth?response_type=code&client_id=inferno-test-client&redirect_uri=http%3A%2F%2Flocalhost%3A4567%2Fcustom%2Fsmart_stu2_2%2Fredirect&scope=launch%2Fpatient+openid+fhirUser+offline_access+patient%2F*.read&state=c7cb1a66-2b25-4004-9f2f-2488ea004b97&code_challenge=N0-136oQ6FLfUxmmS3qP2VYigO5652BdwC0dFs_rsuw&code_challenge_method=S256
Current URL after navigation: http://localhost:8080/realms/proxy-smart/protocol/openid-connect/auth?response_type=code&client_id=inferno-test-client&redirect_uri=http%3A%2F%2Flocalhost%3A4567%2Fcustom%2Fsmart_stu2_2%2Fredirect&scope=launch%2Fpatient+openid+fhirUser+offline_access+patient%2F*.read&state=e2f9f97e-e585-47de-a01c-d708033a8703&code_challenge=VGvKWxDLoAhsd7-rlQkQ8OglgGb6ID4NReaT9HhnFmA&code_challenge_method=S256
On Keycloak login page, entering credentials...
Filled username
Filled password
Expand All @@ -62,22 +62,22 @@ Test completed with status: done

Running test group: smart_stu2_2-smart_token_introspection_stu2_2 β€” Token Introspection
Starting test group: smart_stu2_2-smart_token_introspection_stu2_2
βœ“ Started test run: a95338ca-9ea7-4dc3-8c04-0a6be09d3348
Waiting for test run a95338ca-9ea7-4dc3-8c04-0a6be09d3348 to complete (timeout: 3 minutes)...
βœ“ Started test run: a3f1d62c-60df-4719-ba3d-4440214ae12e
Waiting for test run a3f1d62c-60df-4719-ba3d-4440214ae12e to complete (timeout: 3 minutes)...
[Poll #1] Status: running
[Poll #2] Status: waiting
Test is waiting for user action (OAuth flow, attempt 1/3)...
Wait result keys: id, created_at, inputs, messages, optional, outputs, requests, result, result_message, test_id, test_run_id, test_session_id, updated_at
result_message (first 500 chars):
### Request New Access Token to Introspect

[Follow this link to authorize with the SMART server](http://localhost:8445/auth/authorize?response_type=code&client_id=inferno-test-client&redirect_uri=http%3A%2F%2Flocalhost%3A4567%2Fcustom%2Fsmart_stu2_2%2Fredirect&scope=launch%2Fpatient+openid+fhirUser+offline_access+patient%2F*.read&state=4d0a2b80-b24b-49be-ba17-eb0fe9a386e8&aud=http%3A%2F%2Flocalhost%3A8445%2Fproxy-smart-backend%2Fhapi-fhir-server%2FR4&code_challenge=PkSX1P0UbERtg5W4Ibf4s7ySlP3R
messages (first 500 chars): [{"message":"Inferno redirecting browser to http://localhost:8445/auth/authorize?response_type=code&client_id=inferno-test-client&redirect_uri=http%3A%2F%2Flocalhost%3A4567%2Fcustom%2Fsmart_stu2_2%2Fredirect&scope=launch%2Fpatient+openid+fhirUser+offline_access+patient%2F*.read&state=4d0a2b80-b24b-49be-ba17-eb0fe9a386e8&aud=http%3A%2F%2Flocalhost%3A8445%2Fproxy-smart-backend%2Fhapi-fhir-server%2FR4&code_challenge=PkSX1P0UbERtg5W4Ibf4s7ySlP3RYjTSy66eSANLScg&code_challenge_method=S256.","type":"in
Found OAuth URL in result_message: http://localhost:8445/auth/authorize?response_type=code&client_id=inferno-test-client&redirect_uri=http%3A%2F%2Flocalhost%3A4567%2Fcustom%2Fsmart_stu2_2%2Fredirect&scope=launch%2Fpatient+openid+fhirUser+offline_access+patient%2F*.read&state=4d0a2b80-b24b-49be-ba17-eb0fe9a386e8&aud=http%3A%2F%2Flocalhost%3A8445%2Fproxy-smart-backend%2Fhapi-fhir-server%2FR4&code_challenge=PkSX1P0UbERtg5W4Ibf4s7ySlP3RYjTSy66eSANLScg&code_challenge_method=S256
[Follow this link to authorize with the SMART server](http://localhost:8445/auth/authorize?response_type=code&client_id=inferno-test-client&redirect_uri=http%3A%2F%2Flocalhost%3A4567%2Fcustom%2Fsmart_stu2_2%2Fredirect&scope=launch%2Fpatient+openid+fhirUser+offline_access+patient%2F*.read&state=7603f712-b41d-4f86-8f42-3c4e70bcf201&aud=http%3A%2F%2Flocalhost%3A8445%2Fproxy-smart-backend%2Fhapi-fhir-server%2FR4&code_challenge=h1AQNXRrp_kB4MUzkfHdy7tSH0Gg
messages (first 500 chars): [{"message":"Inferno redirecting browser to http://localhost:8445/auth/authorize?response_type=code&client_id=inferno-test-client&redirect_uri=http%3A%2F%2Flocalhost%3A4567%2Fcustom%2Fsmart_stu2_2%2Fredirect&scope=launch%2Fpatient+openid+fhirUser+offline_access+patient%2F*.read&state=7603f712-b41d-4f86-8f42-3c4e70bcf201&aud=http%3A%2F%2Flocalhost%3A8445%2Fproxy-smart-backend%2Fhapi-fhir-server%2FR4&code_challenge=h1AQNXRrp_kB4MUzkfHdy7tSH0GgFNd7fT_53dYy4DI&code_challenge_method=S256.","type":"in
Found OAuth URL in result_message: http://localhost:8445/auth/authorize?response_type=code&client_id=inferno-test-client&redirect_uri=http%3A%2F%2Flocalhost%3A4567%2Fcustom%2Fsmart_stu2_2%2Fredirect&scope=launch%2Fpatient+openid+fhirUser+offline_access+patient%2F*.read&state=7603f712-b41d-4f86-8f42-3c4e70bcf201&aud=http%3A%2F%2Flocalhost%3A8445%2Fproxy-smart-backend%2Fhapi-fhir-server%2FR4&code_challenge=h1AQNXRrp_kB4MUzkfHdy7tSH0GgFNd7fT_53dYy4DI&code_challenge_method=S256
Handling OAuth flow...
Navigating to: http://localhost:8445/auth/authorize?response_type=code&client_id=inferno-test-client&redirect_uri=http%3A%2F%2Flocalhost%3A4567%2Fcustom%2Fsmart_stu2_2%2Fredirect&scope=launch%2Fpatient+openid+fhirUser+offline_access+patient%2F*.read&state=4d0a2b80-b24b-49be-ba17-eb0fe9a386e8&aud=http%3A%2F%2Flocalhost%3A8445%2Fproxy-smart-backend%2Fhapi-fhir-server%2FR4&code_challenge=PkSX1P0UbERtg5W4Ibf4s7ySlP3RYjTSy66eSANLScg&code_challenge_method=S256
Navigating to: http://localhost:8445/auth/authorize?response_type=code&client_id=inferno-test-client&redirect_uri=http%3A%2F%2Flocalhost%3A4567%2Fcustom%2Fsmart_stu2_2%2Fredirect&scope=launch%2Fpatient+openid+fhirUser+offline_access+patient%2F*.read&state=7603f712-b41d-4f86-8f42-3c4e70bcf201&aud=http%3A%2F%2Flocalhost%3A8445%2Fproxy-smart-backend%2Fhapi-fhir-server%2FR4&code_challenge=h1AQNXRrp_kB4MUzkfHdy7tSH0GgFNd7fT_53dYy4DI&code_challenge_method=S256
Navigation response status: 200
Current URL after navigation: http://localhost:8080/realms/proxy-smart/protocol/openid-connect/auth?response_type=code&client_id=inferno-test-client&redirect_uri=http%3A%2F%2Flocalhost%3A4567%2Fcustom%2Fsmart_stu2_2%2Fredirect&scope=launch%2Fpatient+openid+fhirUser+offline_access+patient%2F*.read&state=4d0a2b80-b24b-49be-ba17-eb0fe9a386e8&code_challenge=PkSX1P0UbERtg5W4Ibf4s7ySlP3RYjTSy66eSANLScg&code_challenge_method=S256
Current URL after navigation: http://localhost:8080/realms/proxy-smart/protocol/openid-connect/auth?response_type=code&client_id=inferno-test-client&redirect_uri=http%3A%2F%2Flocalhost%3A4567%2Fcustom%2Fsmart_stu2_2%2Fredirect&scope=launch%2Fpatient+openid+fhirUser+offline_access+patient%2F*.read&state=7603f712-b41d-4f86-8f42-3c4e70bcf201&code_challenge=h1AQNXRrp_kB4MUzkfHdy7tSH0GgFNd7fT_53dYy4DI&code_challenge_method=S256
On Keycloak login page, entering credentials...
Filled username
Filled password
Expand All @@ -94,9 +94,9 @@ Running test group: smart_stu2_2-smart_backend_services β€” Backend Services
Loaded private JWKS from /home/runner/work/proxy-smart/proxy-smart/testing/dev/backend-services-private-jwks.json
Auth info: {"auth_type":"backend_services","client_id":"inferno-backend-services","requested_scopes":"system/*.read","encryption_algorithm":"RS384","jwks":{"keys":[{"kty":"RSA","n":"k0j6wRB70KDa9_dmmTINZau8XOVIwDJEAGFJv7j2xbSYx11ZY9FJ7QiFes9E_MxFGTo_GkO3KlQ1MlQrdo08aoraB79sN1Pmr_A-6rLO6b7Y_yq3LHLoz2B7icTcIQ2zAPnWFumlASuQtisTdfsLifrOUHPsFGggBnRYSvO3P97msCROvQVAo243THv5RfsJ2_1e4ntiw4dVyZZ4rdjxPRyXT8oVHDtjcAnvki6WHsNZg7hc3BO5__nuNvP4c089kksnzKIP_CgAn1Xkzr97dsv8PFYUVjSPBTzS_Nd4pV42M6bCvrEx21wMrWuuFOpH82G680eQ8DU6ZBLCtu6r-w","e":"AQAB","d":"BT-rC_lJ6EfrNb3_zoLNnmtt1YOoQY0pBjhxV99AEBCdBzHI7zk0oLlWhGdhhn7DEaCVQhraqqwAj1AXkmx7FDLpjTAhq6EWTfvKSjPgEs1lz0YW7AMWT9mY3XKCA72IvQaqPfvKkQ2b5RoI4gH1yc-BzbUr2xhQ19oKkXU4-RIrHysaFXarMWVRzpQdFql8w_Os6kJ6gtUCsLmn8HVpmz7IocNrFm21PTZtZrZOGPg2E5nSXCUomSaKFsSXZsjB6LHnlNWTsiHpP8Dabv7p8YHzxYGVUf6XkOfWOBj4TbgdBlFAXKpVocu16OM8iFjAyuKCG2CmhyUrLiuTeGN36Q","p":"x2sr0BKks46Bkxs1PMsyt1_gmCxIuLVhzBvRgT7-XZvLowK1lEtsc9Eod30unyzrZWyqUfqtodmyiDv_T57QLe9YuAh_aCM0vN-G0fPv6MW3OM5JONqRbEoQvsbfYDAMhyazvQRyMshkCzoVnnRwLw_m6WwPazli_TBz6D04sNk","q":"vRMSjg8VVvsb-MUK7J_EtoNMat0RM-nq1n3GpcJXCNfqUM8TNESi6IEoUjIUUZBrRILsuX8vGNP_555CMRePz4S24v9dE2jACKZsILy9Ki9PtE7TmpV16fO-LcH6doo1mKR1VPyKRH_UzCsH3HvHvg88q0k0ilxej-wD9J80fvM","dp":"dACQtPITYuvTzin2lw2wy-D2-i5Qgznn0N6hyWhGeVeGZqXN0JzrUpfpzVBBjZCIwjArB5Ml68-CPiOAieVdPktLtYoj6wUHyZLRj1IyTZqt0VqWV381NuQCx6dSC1cIAppt1dc_QvE02R8JsmoTVB0Q-tnEQmBYh-XmlsL-Nkk","dq":"K_qfukNv50eJfhf3LosLKpjn0YOSWMz0PugKqMvHitsOObWw9dtxOTuxsUzMxRwel1UM0yjuP4wwXiPFqb2dSdvI3owfjkAzSs_LHuJH7eQLWhlrxu00_DIh7mrMY35KcTLvx9DmKIDDcqofrf1svJy2s_DXM8fAhyGS2feeMlk","qi":"SK_79fC4ceKj_VICqd6Ymkp_7mOGhKrddiV8qJRisBfSJXlynCJUJjXeYL7Z_r35UWsuM-AtRKyblr3cBakI0cW6B9TgpC2sv8f0OEG_kWjQv0TJQ4OzcsfK1P1T6tI26EG0Wjt6kPQP58jnD6geX1U2PAUyCP-ID1Y0ysncm2Y","use":"sig","alg":"RS384","kid":"inferno-backend-services-key-1"}]}}
Starting test group: smart_stu2_2-smart_backend_services
βœ“ Started test run: 41ffdfbd-a9bf-40a9-a021-2953dcb5a66f
Waiting for test run 41ffdfbd-a9bf-40a9-a021-2953dcb5a66f to complete (timeout: 3 minutes)...
[Poll #1] Status: queued
βœ“ Started test run: 0de1e1e4-7cff-488f-986f-8476051bdd24
Waiting for test run 0de1e1e4-7cff-488f-986f-8476051bdd24 to complete (timeout: 3 minutes)...
[Poll #1] Status: running
[Poll #2] Status: done
Test completed with status: done

Expand Down
Loading
Loading