From c83b9536bdfad6b3e5c6363be643ca5060f1ebdc Mon Sep 17 00:00:00 2001 From: Fateh Benmerzoug Date: Sun, 4 Jan 2026 22:36:01 -0800 Subject: [PATCH] Add samples folder and example project files for distribution --- .github/workflows/build-linux.yml | 7 + .github/workflows/build-macos.yml | 7 + .github/workflows/build-windows.yml | 3 + RequestFlowApp/RequestFlow/MenuBar.cpp | 14 +- RequestFlowApp/samples/samples.rqfl | 769 +++++++++++++++++++++++++ 5 files changed, 792 insertions(+), 8 deletions(-) create mode 100644 RequestFlowApp/samples/samples.rqfl diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 42e4d2c..002664e 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -68,6 +68,13 @@ jobs: # Copy icon cp ../RequestFlowApp/design/RequestFlowLogo-256.png RequestFlow/RequestFlow.png + # Copy samples folder + if [ -d "../RequestFlowApp/samples" ]; then + mkdir -p RequestFlow/samples + cp -R ../RequestFlowApp/samples/* RequestFlow/samples/ + echo "Copied samples folder to distribution" + fi + - name: Download linuxdeployqt run: | cd build diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index 9296206..769195f 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -82,6 +82,13 @@ jobs: exit 1 fi + # Copy samples folder + if [ -d "${GITHUB_WORKSPACE}/RequestFlowApp/samples" ]; then + mkdir -p RequestFlow.app/Contents/Resources/samples + cp -R "${GITHUB_WORKSPACE}/RequestFlowApp/samples/"* RequestFlow.app/Contents/Resources/samples/ + echo "Copied samples folder to app bundle" + fi + # Create and copy the application icon from design folder ICON_DIR="${GITHUB_WORKSPACE}/RequestFlowApp/design/macos/AppIcons/Assets.xcassets/AppIcon.appiconset" diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index a83d2ed..01bfd00 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -51,6 +51,9 @@ jobs: Copy-Item CoreModel\release\CoreModel.dll dist\ -ErrorAction Stop Copy-Item CoreView\release\CoreView.dll dist\ -ErrorAction Stop Copy-Item ExecutionEngine\release\ExecutionEngine.dll dist\ -ErrorAction Stop + # Copy samples folder + Copy-Item ..\samples dist\samples -Recurse -Force + Write-Host "Copied samples folder to distribution" - name: Deploy Qt and MinGW dependencies working-directory: RequestFlowApp/build diff --git a/RequestFlowApp/RequestFlow/MenuBar.cpp b/RequestFlowApp/RequestFlow/MenuBar.cpp index 5735436..f7c6651 100644 --- a/RequestFlowApp/RequestFlow/MenuBar.cpp +++ b/RequestFlowApp/RequestFlow/MenuBar.cpp @@ -22,7 +22,6 @@ void MainWindow::setupMenuBar() { - //menuBar()->set // File menu { _fileMenu = menuBar()->addMenu("File"); @@ -31,23 +30,22 @@ void MainWindow::setupMenuBar() _openProjectAction = _fileMenu->addAction( QIcon(":/ui/open_file"), "Open...", [=]() { onOpenProject(); }, QKeySequence::Open); - //_fileMenu->addAction(QIcon(":/ui/open_file"), "**Open Sample Project", [=]() { openProject("./samples/sample-project.rqfl"); }); + // list samples { - QDir samplesDir("./samples"); + const QDir samplesDir("./samples"); QStringList filters("*.rqfl"); auto entries = samplesDir.entryList(filters, QDir::Filter::Files, QDir::SortFlag::Name); if(!entries.isEmpty()) { auto samplesMenu = _fileMenu->addMenu("Sample projects"); - std::for_each(entries.begin(), entries.end(), [this, samplesMenu](const QString& entry) { - samplesMenu->addAction(QIcon(), entry, [this, entry](){ - openProject(entry); + std::for_each(entries.begin(), entries.end(), [this, samplesMenu, samplesDir](const QString& entry) { + QString fullPath = samplesDir.absoluteFilePath(entry); + samplesMenu->addAction(QIcon(), fullPath, [this, fullPath](){ + openProject(fullPath); }); }); } } - //_openProjectAction->setMenu(new QMenu); - _recentProjectsMenu = _fileMenu->addMenu(QIcon(":/ui/history"), "Recent projects..."); updateRecentProjectsList(); diff --git a/RequestFlowApp/samples/samples.rqfl b/RequestFlowApp/samples/samples.rqfl new file mode 100644 index 0000000..feee06d --- /dev/null +++ b/RequestFlowApp/samples/samples.rqfl @@ -0,0 +1,769 @@ +{ + "documents": [ + ], + "entityType": "Project", + "environments": [ + { + "entityType": "", + "entries": { + "baseUrl": "https://jsonplaceholder.typicode.com", + "basic_auth_pwd": "pwd", + "basic_auth_user": "admin", + "bearer_token": "bearer-token" + }, + "identifier": "{09cf2024-5d4a-4e53-8284-a68ee5a46ebd}", + "name": "Default environment", + "objectName": "{09cf2024-5d4a-4e53-8284-a68ee5a46ebd}" + } + ], + "graphs": [ + { + "activeEnvironment": "{09cf2024-5d4a-4e53-8284-a68ee5a46ebd}", + "edges": [ + { + "destination": { + "node": "{8ad5057f-ddc6-4a89-926a-c5982f38daf2}", + "slot": "{a63c32b0-c5e9-4fb6-911d-2cc223bd1a91}" + }, + "entityType": "Edge", + "identifier": "{3837eefc-2bd0-4581-84b1-1cbf1660d247}", + "name": "", + "objectName": "{3837eefc-2bd0-4581-84b1-1cbf1660d247}", + "origin": { + "node": "{801b6617-ffaf-472c-8d77-371ae1ada9e8}", + "slot": "{a8bbf073-e21c-4794-9ca1-1f776536fae4}" + } + }, + { + "destination": { + "node": "{eb4a7caf-5685-4b74-b2e4-3d3ad0776fe4}", + "slot": "{257ffcef-251d-495f-b44a-f5f995fb1710}" + }, + "entityType": "Edge", + "identifier": "{7fae4911-0445-48fe-84cb-a61858e82b73}", + "name": "", + "objectName": "{7fae4911-0445-48fe-84cb-a61858e82b73}", + "origin": { + "node": "{8ad5057f-ddc6-4a89-926a-c5982f38daf2}", + "slot": "{39228448-9c6b-4f28-a379-67d9483f1bd8}" + } + } + ], + "entityType": "Graph", + "identifier": "{0a0b27a9-3e28-4b44-aa2e-5c8bed4479e4}", + "name": "Default scenario", + "nodes": [ + { + "entityType": "Payload", + "filePath": "", + "identifier": "{801b6617-ffaf-472c-8d77-371ae1ada9e8}", + "inputSlots": [ + ], + "loadFromFileStatus": false, + "message": { + "body": "", + "context": { + }, + "headers": { + }, + "path": { + "postId": "1" + }, + "query": { + } + }, + "name": "Untitled", + "objectName": "{801b6617-ffaf-472c-8d77-371ae1ada9e8}", + "outputSlots": [ + { + "dataType": 99, + "direction": 1, + "entityType": "OutputSlot", + "identifier": "{a8bbf073-e21c-4794-9ca1-1f776536fae4}", + "name": "Output", + "objectName": "{a8bbf073-e21c-4794-9ca1-1f776536fae4}" + } + ] + }, + { + "acceptedCodes": [ + 200, + 201 + ], + "authMethod": 0, + "baPwd": "{{basic_auth_pwd}}", + "baUser": "{{basic_auth_user}}", + "bearerToken": "{{bearer_token}}", + "contentType": "application/json", + "entityType": "Endpoint", + "extraHeaders": [ + ], + "httpMethod": 0, + "identifier": "{8ad5057f-ddc6-4a89-926a-c5982f38daf2}", + "inputSlots": [ + { + "dataType": 99, + "direction": 0, + "entityType": "InputSlot", + "identifier": "{a63c32b0-c5e9-4fb6-911d-2cc223bd1a91}", + "name": "Input", + "objectName": "{a63c32b0-c5e9-4fb6-911d-2cc223bd1a91}" + } + ], + "name": "Untitled", + "objectName": "{8ad5057f-ddc6-4a89-926a-c5982f38daf2}", + "outputSlots": [ + { + "dataType": 99, + "direction": 1, + "entityType": "OutputSlot", + "identifier": "{39228448-9c6b-4f28-a379-67d9483f1bd8}", + "name": "Output", + "objectName": "{39228448-9c6b-4f28-a379-67d9483f1bd8}" + } + ], + "payloadModel": "", + "rejectedCodes": [ + 404, + 401, + 500 + ], + "timeout": 3000, + "url": "{{baseUrl}}/posts/{postId}", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 OPR/74.0.3911.107" + }, + { + "entityType": "Viewer", + "exportToFileStatus": false, + "filePath": "./{eb4a7caf-5685-4b74-b2e4-3d3ad0776fe4}.json", + "filter": "$", + "identifier": "{eb4a7caf-5685-4b74-b2e4-3d3ad0776fe4}", + "inputSlots": [ + { + "dataType": 99, + "direction": 0, + "entityType": "InputSlot", + "identifier": "{257ffcef-251d-495f-b44a-f5f995fb1710}", + "name": "Input", + "objectName": "{257ffcef-251d-495f-b44a-f5f995fb1710}" + } + ], + "name": "Untitled", + "objectName": "{eb4a7caf-5685-4b74-b2e4-3d3ad0776fe4}", + "outputSlots": [ + ] + } + ], + "objectName": "{0a0b27a9-3e28-4b44-aa2e-5c8bed4479e4}" + }, + { + "activeEnvironment": "{09cf2024-5d4a-4e53-8284-a68ee5a46ebd}", + "edges": [ + { + "destination": { + "node": "{e26cf433-5e6b-46f1-812a-a14ffa03d4dd}", + "slot": "{030996b5-e2b1-4fea-8963-886854a73b03}" + }, + "entityType": "Edge", + "identifier": "{dfe8c2fa-6b01-4608-adbc-1aa682889e35}", + "name": "", + "objectName": "{dfe8c2fa-6b01-4608-adbc-1aa682889e35}", + "origin": { + "node": "{77b45765-158c-4768-950e-587939b3a9fa}", + "slot": "{49030dd1-ee27-42a8-a389-ea02fb349539}" + } + }, + { + "destination": { + "node": "{d92953b7-664a-4255-a8f9-b7c9608cc30c}", + "slot": "{7046bad6-da38-4b9f-91e9-2e204bb900e0}" + }, + "entityType": "Edge", + "identifier": "{9d629e85-0b93-43b2-82fa-96fb0238cb96}", + "name": "", + "objectName": "{9d629e85-0b93-43b2-82fa-96fb0238cb96}", + "origin": { + "node": "{e26cf433-5e6b-46f1-812a-a14ffa03d4dd}", + "slot": "{005e9ed1-cfcb-431c-82cc-9ceca45e0f8b}" + } + } + ], + "entityType": "Graph", + "identifier": "{b84e9631-cca9-455e-9a07-251cb6da7fff}", + "name": "Using Post", + "nodes": [ + { + "entityType": "Payload", + "filePath": "", + "identifier": "{77b45765-158c-4768-950e-587939b3a9fa}", + "inputSlots": [ + ], + "loadFromFileStatus": false, + "message": { + "body": { + "body": "hello, this is a test post!", + "title": "my title", + "userId": 1 + }, + "context": { + }, + "headers": { + }, + "path": { + }, + "query": { + } + }, + "name": "Untitled", + "objectName": "{77b45765-158c-4768-950e-587939b3a9fa}", + "outputSlots": [ + { + "dataType": 99, + "direction": 1, + "entityType": "OutputSlot", + "identifier": "{49030dd1-ee27-42a8-a389-ea02fb349539}", + "name": "Output", + "objectName": "{49030dd1-ee27-42a8-a389-ea02fb349539}" + } + ] + }, + { + "entityType": "Viewer", + "exportToFileStatus": false, + "filePath": "./{d92953b7-664a-4255-a8f9-b7c9608cc30c}.json", + "filter": "$", + "identifier": "{d92953b7-664a-4255-a8f9-b7c9608cc30c}", + "inputSlots": [ + { + "dataType": 99, + "direction": 0, + "entityType": "InputSlot", + "identifier": "{7046bad6-da38-4b9f-91e9-2e204bb900e0}", + "name": "Input", + "objectName": "{7046bad6-da38-4b9f-91e9-2e204bb900e0}" + } + ], + "name": "Untitled", + "objectName": "{d92953b7-664a-4255-a8f9-b7c9608cc30c}", + "outputSlots": [ + ] + }, + { + "acceptedCodes": [ + 200, + 201 + ], + "authMethod": 1, + "baPwd": "{{basic_auth_pwd}}", + "baUser": "{{basic_auth_user}}", + "bearerToken": "{{bearer_token}}", + "contentType": "application/json", + "entityType": "Endpoint", + "extraHeaders": [ + ], + "httpMethod": 1, + "identifier": "{e26cf433-5e6b-46f1-812a-a14ffa03d4dd}", + "inputSlots": [ + { + "dataType": 99, + "direction": 0, + "entityType": "InputSlot", + "identifier": "{030996b5-e2b1-4fea-8963-886854a73b03}", + "name": "Input", + "objectName": "{030996b5-e2b1-4fea-8963-886854a73b03}" + } + ], + "name": "Untitled", + "objectName": "{e26cf433-5e6b-46f1-812a-a14ffa03d4dd}", + "outputSlots": [ + { + "dataType": 99, + "direction": 1, + "entityType": "OutputSlot", + "identifier": "{005e9ed1-cfcb-431c-82cc-9ceca45e0f8b}", + "name": "Output", + "objectName": "{005e9ed1-cfcb-431c-82cc-9ceca45e0f8b}" + } + ], + "payloadModel": "", + "rejectedCodes": [ + 404, + 401, + 500 + ], + "timeout": 3000, + "url": "{{baseUrl}}/posts", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 OPR/74.0.3911.107" + } + ], + "objectName": "{b84e9631-cca9-455e-9a07-251cb6da7fff}" + }, + { + "activeEnvironment": "{09cf2024-5d4a-4e53-8284-a68ee5a46ebd}", + "edges": [ + { + "destination": { + "node": "{3a1e67cd-71f2-473d-8184-f17f4a2bf0c5}", + "slot": "{6f632ea4-0a02-4434-9a57-4bf809ae69a7}" + }, + "entityType": "Edge", + "identifier": "{21fffd9d-830a-4063-a33d-a6d8756305bb}", + "name": "", + "objectName": "{21fffd9d-830a-4063-a33d-a6d8756305bb}", + "origin": { + "node": "{82b02158-c3ee-44dc-bc2d-2f358bba7b59}", + "slot": "{7b782d4e-ea40-4ff7-be7f-69256e0b91f1}" + } + }, + { + "destination": { + "node": "{111ae172-ea42-406b-aa1c-16b87624100c}", + "slot": "{7d346469-1843-446c-996e-b8430b77d4dc}" + }, + "entityType": "Edge", + "identifier": "{6c91f777-4e6e-4736-8b7d-10e766b9b0ac}", + "name": "", + "objectName": "{6c91f777-4e6e-4736-8b7d-10e766b9b0ac}", + "origin": { + "node": "{3a1e67cd-71f2-473d-8184-f17f4a2bf0c5}", + "slot": "{f24546ee-3834-4523-a096-2c17605e71be}" + } + }, + { + "destination": { + "node": "{f5179e12-f509-45b3-8929-01c48d134810}", + "slot": "{9c4527fd-ee5f-4b38-854f-e3aef5c2629e}" + }, + "entityType": "Edge", + "identifier": "{122a6de2-c928-4a99-ba7e-74f31cd8b71f}", + "name": "", + "objectName": "{122a6de2-c928-4a99-ba7e-74f31cd8b71f}", + "origin": { + "node": "{3a1e67cd-71f2-473d-8184-f17f4a2bf0c5}", + "slot": "{f24546ee-3834-4523-a096-2c17605e71be}" + } + }, + { + "destination": { + "node": "{7e392021-adb3-45b1-89b8-d00cc354372c}", + "slot": "{6821cc1e-64d2-430c-831f-d4918b1d1068}" + }, + "entityType": "Edge", + "identifier": "{882cd1b3-7445-45da-b2a7-215e2b8a9bd4}", + "name": "", + "objectName": "{882cd1b3-7445-45da-b2a7-215e2b8a9bd4}", + "origin": { + "node": "{111ae172-ea42-406b-aa1c-16b87624100c}", + "slot": "{20397c20-6d05-4ef1-b157-1f97e208dc84}" + } + }, + { + "destination": { + "node": "{17e50505-8cdb-4759-b65b-588b1d5e6ee2}", + "slot": "{edaa1865-eb72-4139-95a9-97ee5a113b15}" + }, + "entityType": "Edge", + "identifier": "{46acdbcf-fba4-4001-bcb5-b57d0abe4f6a}", + "name": "", + "objectName": "{46acdbcf-fba4-4001-bcb5-b57d0abe4f6a}", + "origin": { + "node": "{7e392021-adb3-45b1-89b8-d00cc354372c}", + "slot": "{b8c1bded-2577-405e-9c86-4e203e3d8b2a}" + } + }, + { + "destination": { + "node": "{16363f54-6137-4eb8-b7f1-af5331eb8459}", + "slot": "{894b1c3d-81cc-4acf-9501-017ce49e3367}" + }, + "entityType": "Edge", + "identifier": "{b9380cd3-80b0-418d-a9ff-04372069fd0b}", + "name": "", + "objectName": "{b9380cd3-80b0-418d-a9ff-04372069fd0b}", + "origin": { + "node": "{111ae172-ea42-406b-aa1c-16b87624100c}", + "slot": "{20397c20-6d05-4ef1-b157-1f97e208dc84}" + } + } + ], + "entityType": "Graph", + "identifier": "{928a5c02-90e9-4cf3-879d-1e882e5d0164}", + "name": "Complex scenario", + "nodes": [ + { + "entityType": "Payload", + "filePath": "", + "identifier": "{82b02158-c3ee-44dc-bc2d-2f358bba7b59}", + "inputSlots": [ + ], + "loadFromFileStatus": false, + "message": { + "body": "", + "context": { + }, + "headers": { + }, + "path": { + }, + "query": { + } + }, + "name": "Untitled", + "objectName": "{82b02158-c3ee-44dc-bc2d-2f358bba7b59}", + "outputSlots": [ + { + "dataType": 99, + "direction": 1, + "entityType": "OutputSlot", + "identifier": "{7b782d4e-ea40-4ff7-be7f-69256e0b91f1}", + "name": "Output", + "objectName": "{7b782d4e-ea40-4ff7-be7f-69256e0b91f1}" + } + ] + }, + { + "acceptedCodes": [ + 200, + 201 + ], + "authMethod": 0, + "baPwd": "{{basic_auth_pwd}}", + "baUser": "{{basic_auth_user}}", + "bearerToken": "{{bearer_token}}", + "contentType": "application/json", + "entityType": "Endpoint", + "extraHeaders": [ + ], + "httpMethod": 0, + "identifier": "{3a1e67cd-71f2-473d-8184-f17f4a2bf0c5}", + "inputSlots": [ + { + "dataType": 99, + "direction": 0, + "entityType": "InputSlot", + "identifier": "{6f632ea4-0a02-4434-9a57-4bf809ae69a7}", + "name": "Input", + "objectName": "{6f632ea4-0a02-4434-9a57-4bf809ae69a7}" + } + ], + "name": "Untitled", + "objectName": "{3a1e67cd-71f2-473d-8184-f17f4a2bf0c5}", + "outputSlots": [ + { + "dataType": 99, + "direction": 1, + "entityType": "OutputSlot", + "identifier": "{f24546ee-3834-4523-a096-2c17605e71be}", + "name": "Output", + "objectName": "{f24546ee-3834-4523-a096-2c17605e71be}" + } + ], + "payloadModel": "", + "rejectedCodes": [ + 404, + 401, + 500 + ], + "timeout": 3000, + "url": "{{baseUrl}}/users", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 OPR/74.0.3911.107" + }, + { + "entityType": "Viewer", + "exportToFileStatus": false, + "filePath": "./{17e50505-8cdb-4759-b65b-588b1d5e6ee2}.json", + "filter": "$", + "identifier": "{17e50505-8cdb-4759-b65b-588b1d5e6ee2}", + "inputSlots": [ + { + "dataType": 99, + "direction": 0, + "entityType": "InputSlot", + "identifier": "{edaa1865-eb72-4139-95a9-97ee5a113b15}", + "name": "Input", + "objectName": "{edaa1865-eb72-4139-95a9-97ee5a113b15}" + } + ], + "name": "Untitled", + "objectName": "{17e50505-8cdb-4759-b65b-588b1d5e6ee2}", + "outputSlots": [ + ] + }, + { + "entityType": "Script", + "identifier": "{111ae172-ea42-406b-aa1c-16b87624100c}", + "inputSlots": [ + { + "dataType": 99, + "direction": 0, + "entityType": "InputSlot", + "identifier": "{7d346469-1843-446c-996e-b8430b77d4dc}", + "name": "Input", + "objectName": "{7d346469-1843-446c-996e-b8430b77d4dc}" + } + ], + "name": "Untitled", + "objectName": "{111ae172-ea42-406b-aa1c-16b87624100c}", + "outputSlots": [ + { + "dataType": 99, + "direction": 1, + "entityType": "OutputSlot", + "identifier": "{20397c20-6d05-4ef1-b157-1f97e208dc84}", + "name": "Output", + "objectName": "{20397c20-6d05-4ef1-b157-1f97e208dc84}" + } + ], + "script": "Response.body = Request.body; // the body of the request\nResponse.query = Request.query; // the query parameters ex : ?key=value\nResponse.path = Request.path; // the path variables ex: http://website/customers/:id\nResponse.context = Request.context; // the current execution context, contains anything useful\n\n// contains the even user ids\nvar even = {};\n// contains the odd user ids\nvar odd = {};\n\n\nfor(entry of Request.body) {\n\tif(entry.id % 2 == 0) {\n\teven[entry.id] = entry;\n\t} else {\n\todd[entry.id] = entry;\n\t}\n}\n\nResponse.body = {\n\t\"even\": even,\n\t\"odd\": odd\n};\n" + }, + { + "entityType": "Viewer", + "exportToFileStatus": false, + "filePath": "./{f5179e12-f509-45b3-8929-01c48d134810}.json", + "filter": "$", + "identifier": "{f5179e12-f509-45b3-8929-01c48d134810}", + "inputSlots": [ + { + "dataType": 99, + "direction": 0, + "entityType": "InputSlot", + "identifier": "{9c4527fd-ee5f-4b38-854f-e3aef5c2629e}", + "name": "Input", + "objectName": "{9c4527fd-ee5f-4b38-854f-e3aef5c2629e}" + } + ], + "name": "show raw output", + "objectName": "{f5179e12-f509-45b3-8929-01c48d134810}", + "outputSlots": [ + ] + }, + { + "entityType": "Assertion", + "identifier": "{7e392021-adb3-45b1-89b8-d00cc354372c}", + "inputSlots": [ + { + "dataType": 99, + "direction": 0, + "entityType": "InputSlot", + "identifier": "{6821cc1e-64d2-430c-831f-d4918b1d1068}", + "name": "Input", + "objectName": "{6821cc1e-64d2-430c-831f-d4918b1d1068}" + } + ], + "name": "validate data", + "objectName": "{7e392021-adb3-45b1-89b8-d00cc354372c}", + "outputSlots": [ + { + "dataType": 99, + "direction": 1, + "entityType": "OutputSlot", + "identifier": "{b8c1bded-2577-405e-9c86-4e203e3d8b2a}", + "name": "Output", + "objectName": "{b8c1bded-2577-405e-9c86-4e203e3d8b2a}" + } + ], + "script": "// assert that both even and odd keys contain items\nAssert.true(Object.keys(\"even\").length > 0);\nAssert.true(Object.keys(\"odd\").length > 0);\n\n// assert that \"random\" key isn't part of the request body\nAssert.false(\"random\" in Request.body);" + }, + { + "entityType": "Viewer", + "exportToFileStatus": false, + "filePath": "./{16363f54-6137-4eb8-b7f1-af5331eb8459}.json", + "filter": "$..address", + "identifier": "{16363f54-6137-4eb8-b7f1-af5331eb8459}", + "inputSlots": [ + { + "dataType": 99, + "direction": 0, + "entityType": "InputSlot", + "identifier": "{894b1c3d-81cc-4acf-9501-017ce49e3367}", + "name": "Input", + "objectName": "{894b1c3d-81cc-4acf-9501-017ce49e3367}" + } + ], + "name": "show all addresses", + "objectName": "{16363f54-6137-4eb8-b7f1-af5331eb8459}", + "outputSlots": [ + ] + } + ], + "objectName": "{928a5c02-90e9-4cf3-879d-1e882e5d0164}" + } + ], + "identifier": "{5462be5b-116c-4c5a-a65f-74ce35769c1e}", + "name": "", + "objectName": "{5462be5b-116c-4c5a-a65f-74ce35769c1e}", + "ui": { + "scenes": { + "{0a0b27a9-3e28-4b44-aa2e-5c8bed4479e4}": { + "center": { + "x": 288.28139564364164, + "y": -48.31531770563822 + }, + "nodes": [ + { + "identifier": "{eb4a7caf-5685-4b74-b2e4-3d3ad0776fe4}", + "position": { + "x": 1102.7473420729655, + "y": -208.97876813220174 + }, + "size": { + "x": 809, + "y": 487 + } + }, + { + "identifier": "{8ad5057f-ddc6-4a89-926a-c5982f38daf2}", + "position": { + "x": 60.13340513193407, + "y": -426.7632457727797 + }, + "size": { + "x": 853, + "y": 655 + } + }, + { + "identifier": "{801b6617-ffaf-472c-8d77-371ae1ada9e8}", + "position": { + "x": -839.5067740166645, + "y": -248.74022920388012 + }, + "size": { + "x": 629, + "y": 456 + } + } + ], + "zoom": 7 + }, + "{928a5c02-90e9-4cf3-879d-1e882e5d0164}": { + "center": { + "x": 921.2135659258008, + "y": -340.14039357260344 + }, + "nodes": [ + { + "identifier": "{16363f54-6137-4eb8-b7f1-af5331eb8459}", + "position": { + "x": 2266.276365657475, + "y": -1264.0929389441117 + }, + "size": { + "x": 856, + "y": 469 + } + }, + { + "identifier": "{7e392021-adb3-45b1-89b8-d00cc354372c}", + "position": { + "x": 2062.3901228154273, + "y": -436.0869858039408 + }, + "size": { + "x": 520, + "y": 242 + } + }, + { + "identifier": "{f5179e12-f509-45b3-8929-01c48d134810}", + "position": { + "x": 1038.6921762379188, + "y": -1321.4566674656728 + }, + "size": { + "x": 856, + "y": 621 + } + }, + { + "identifier": "{111ae172-ea42-406b-aa1c-16b87624100c}", + "position": { + "x": 1022.7407988227799, + "y": -563.8968984462565 + }, + "size": { + "x": 842, + "y": 455 + } + }, + { + "identifier": "{17e50505-8cdb-4759-b65b-588b1d5e6ee2}", + "position": { + "x": 2751.568989122119, + "y": -668.2984054506167 + }, + "size": { + "x": 1000, + "y": 708 + } + }, + { + "identifier": "{3a1e67cd-71f2-473d-8184-f17f4a2bf0c5}", + "position": { + "x": 284.28115965950803, + "y": -807.7413365349325 + }, + "size": { + "x": 500, + "y": 655 + } + }, + { + "identifier": "{82b02158-c3ee-44dc-bc2d-2f358bba7b59}", + "position": { + "x": -504.3084852509752, + "y": -533.2753353350032 + }, + "size": { + "x": 562, + "y": 411 + } + } + ], + "zoom": 8 + }, + "{b84e9631-cca9-455e-9a07-251cb6da7fff}": { + "center": { + "x": 139.8215733948681, + "y": -475.83257961604323 + }, + "nodes": [ + { + "identifier": "{e26cf433-5e6b-46f1-812a-a14ffa03d4dd}", + "position": { + "x": 26.967890865384504, + "y": -695.195867204373 + }, + "size": { + "x": 500, + "y": 655 + } + }, + { + "identifier": "{d92953b7-664a-4255-a8f9-b7c9608cc30c}", + "position": { + "x": 766.9693418636284, + "y": -541.190938786167 + }, + "size": { + "x": 608, + "y": 472 + } + }, + { + "identifier": "{77b45765-158c-4768-950e-587939b3a9fa}", + "position": { + "x": -783.5020481808842, + "y": -556.0200811989769 + }, + "size": { + "x": 564, + "y": 509 + } + } + ], + "zoom": 6 + } + } + } +}