You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by an...@apache.org on 2019/11/23 10:12:58 UTC
[fineract-cn-docker-compose] 44/48: updated tests
This is an automated email from the ASF dual-hosted git repository.
angeh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/fineract-cn-docker-compose.git
commit e3efc96a97a764d05c9108208072ea459a7c983e
Author: Juhan Aasaru <Ju...@nortal.com>
AuthorDate: Fri Nov 22 14:38:08 2019 +0200
updated tests
---
integration_test.sh | 11 +-
...-Initial-Requests_PART1.postman_collection.json | 2693 ++++++++++++++++++++
2 files changed, 2703 insertions(+), 1 deletion(-)
diff --git a/integration_test.sh b/integration_test.sh
index 4abf7b4..8889d77 100755
--- a/integration_test.sh
+++ b/integration_test.sh
@@ -1,5 +1,6 @@
#!/usr/bin/env bash
+rm .env
cd external_tools
docker-compose stop
docker-compose rm -v -f
@@ -10,20 +11,28 @@ docker volume rm external_tools_postgres-volume
docker-compose pull
docker-compose up -d
+echo "Started external tools. Now waiting for them to start up."
sleep 180
cd ..
java -cp external_tools/lang-0.1.0-BUILD-SNAPSHOT.jar org.apache.fineract.cn.lang.security.RsaKeyPairFactory UNIX > .env
cat env_variables >> .env
+echo "env variables saved into .env"
docker-compose stop
docker-compose rm -f
docker-compose pull
docker-compose up -d provisioner-ms
+echo "Started provision-ms. Now waiting it to provision (create schema 'seshat' to Postgres and Cassandra)."
sleep 180
docker-compose up -d rhythm-ms identity-ms customer-ms accounting-ms deposit-ms portfolio-ms office-ms teller-ms fims-web-app
-sleep 180
+echo "Started set of micro services. Now waiting for them to start up"
+sleep 240
+echo "Start provisioning the system with Postman scripts."
+cd postman_scripts
+newman run Fineract-CN-Initial-Requests_PART1.postman_collection.json -e Fineract-Cn-Initial-Setup-Environment.postman_environment.json
+echo "Finished."
diff --git a/postman_scripts/Fineract-CN-Initial-Requests_PART1.postman_collection.json b/postman_scripts/Fineract-CN-Initial-Requests_PART1.postman_collection.json
new file mode 100644
index 0000000..1339a81
--- /dev/null
+++ b/postman_scripts/Fineract-CN-Initial-Requests_PART1.postman_collection.json
@@ -0,0 +1,2693 @@
+{
+ "info": {
+ "_postman_id": "ada8e456-15a7-4d33-8ccd-79d00130e427",
+ "name": "Fineract-CN-Initial-Requests_PART1",
+ "description": "Collection to initialize tenant",
+ "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
+ },
+ "item": [
+ {
+ "name": "00.1 Verify eureka is up",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "2a49d9a1-377c-4c03-90b8-1c285140de5a",
+ "exec": [
+ "tests[\"Status code is 200\"] = responseCode.code === 200;",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "http://eureka:8761/",
+ "protocol": "http",
+ "host": [
+ "eureka"
+ ],
+ "port": "8761",
+ "path": [
+ ""
+ ]
+ },
+ "description": "1. Get Token from System-User"
+ },
+ "response": []
+ },
+ {
+ "name": "01. Log in root user",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "2a49d9a1-377c-4c03-90b8-1c285140de5a",
+ "exec": [
+ "tests[\"Status code is 200\"] = responseCode.code === 200;",
+ "",
+ "var jsonData = JSON.parse(responseBody);",
+ "postman.setEnvironmentVariable(\"rootUserToken\", jsonData.token);",
+ "",
+ "",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "http://{{provisionerUrl}}/provisioner/v1/auth/token?grant_type=password&client_id={{client_id}}&username={{rootUser}}&password={{rootUserPassword}}",
+ "protocol": "http",
+ "host": [
+ "{{provisionerUrl}}"
+ ],
+ "path": [
+ "provisioner",
+ "v1",
+ "auth",
+ "token"
+ ],
+ "query": [
+ {
+ "key": "grant_type",
+ "value": "password"
+ },
+ {
+ "key": "client_id",
+ "value": "{{client_id}}",
+ "description": "The initial Client Id used for starting service runner\n"
+ },
+ {
+ "key": "username",
+ "value": "{{rootUser}}",
+ "description": "Initial system user \"wepemnefret\"\n"
+ },
+ {
+ "key": "password",
+ "value": "{{rootUserPassword}}"
+ }
+ ]
+ },
+ "description": "1. Get Token from System-User"
+ },
+ "response": []
+ },
+ {
+ "name": "NB! ONLY CREATE apps you have started",
+ "request": {
+ "method": "OPTIONS",
+ "header": [],
+ "url": {
+ "raw": "http://{{provisionerUrl}}/provisioner/v1/auth/token",
+ "protocol": "http",
+ "host": [
+ "{{provisionerUrl}}"
+ ],
+ "path": [
+ "provisioner",
+ "v1",
+ "auth",
+ "token"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "02.01 Create identity-v1 application",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "fb7299ef-04d4-4869-a25b-d1b523098c6d",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{rootUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{rootUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}",
+ "type": "text",
+ "disabled": true
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n\t\"name\": \"identity-v1\",\n\t\"description\": \"Identity Service\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{identityUrl}}/identity/v1\"\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
+ "protocol": "http",
+ "host": [
+ "{{provisionerUrl}}"
+ ],
+ "path": [
+ "provisioner",
+ "v1",
+ "applications"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "02.02 Create rhythm-v1 application",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "4d75f048-905b-41af-b767-4314d5e3a050",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{rootUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{rootUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n\t\"name\": \"rhythm-v1\",\n\t\"description\": \"Customer Service\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{rhythmUrl}}/rhythm/v1\"\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
+ "protocol": "http",
+ "host": [
+ "{{provisionerUrl}}"
+ ],
+ "path": [
+ "provisioner",
+ "v1",
+ "applications"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "02.03 Create office-v1 application",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "bc3eeb3d-961c-449b-87b9-99606d0511b3",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{rootUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{rootUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n\t\"name\": \"office-v1\",\n\t\"description\": \"Office Service\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{officeUrl}}/office/v1\"\n}"
+ },
+ "url": {
+ "raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
+ "protocol": "http",
+ "host": [
+ "{{provisionerUrl}}"
+ ],
+ "path": [
+ "provisioner",
+ "v1",
+ "applications"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "02.04 Create customer-v1 application",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "8adf52e4-af8a-49c8-86fc-c3174e637283",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{rootUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{rootUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n\t\"name\": \"customer-v1\",\n\t\"description\": \"Customer Service\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{customerUrl}}/customer/v1\"\n}"
+ },
+ "url": {
+ "raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
+ "protocol": "http",
+ "host": [
+ "{{provisionerUrl}}"
+ ],
+ "path": [
+ "provisioner",
+ "v1",
+ "applications"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "02.05 Create accounting-v1 application",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "6a24d7f4-0056-42e6-8d20-c7d3bd3dfd09",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{rootUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{rootUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n\t\"name\": \"accounting-v1\",\n\t\"description\": \"Accounting Service\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{accountingUrl}}/accounting/v1\"\n}"
+ },
+ "url": {
+ "raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
+ "protocol": "http",
+ "host": [
+ "{{provisionerUrl}}"
+ ],
+ "path": [
+ "provisioner",
+ "v1",
+ "applications"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "02.06 Create portfolio-v1 application",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "3efb77f8-9bc7-4835-87e8-b4ebfb7abd11",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{rootUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{rootUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n\t\"name\": \"portfolio-v1\",\n\t\"description\": \"Portfolio\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{portfolioUrl}}/portfolio/v1\"\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
+ "protocol": "http",
+ "host": [
+ "{{provisionerUrl}}"
+ ],
+ "path": [
+ "provisioner",
+ "v1",
+ "applications"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "02.07 Create deposit-v1 application",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "870693ae-6f50-4b8e-9920-fa45e184f732",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{rootUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{rootUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n\t\"name\": \"deposit-v1\",\n\t\"description\": \"Deposit Management Service\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{depositUrl}}/deposit/v1\"\n}"
+ },
+ "url": {
+ "raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
+ "protocol": "http",
+ "host": [
+ "{{provisionerUrl}}"
+ ],
+ "path": [
+ "provisioner",
+ "v1",
+ "applications"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "02.08 Create teller-v1 application",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "0dbc31fb-0e82-492a-aab8-f30e1fdad5a5",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{rootUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{rootUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n\t\"name\": \"teller-v1\",\n\t\"description\": \"Teller\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{tellerUrl}}/teller/v1\"\n}"
+ },
+ "url": {
+ "raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
+ "protocol": "http",
+ "host": [
+ "{{provisionerUrl}}"
+ ],
+ "path": [
+ "provisioner",
+ "v1",
+ "applications"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "03.1 Create first tenant 'playground'",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "0b18908b-f2d4-4ce4-a8ad-3d1c0652a1bc",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{rootUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{rootUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n\t\"identifier\": \"{{tenantIdentifier}}\",\n\t\"name\": \"Playground\",\n\t\"description\": \"Sample tenant for demonstrating Fineract-CN functionality\",\n\t\"cassandraConnectionInfo\": {\n\t\t\"clusterName\": \"datacenter1\",\n\t\t\"contactPoints\": \"cassandra:9042\",\n\t\t\"keyspace\": \"playground\",\n\t\t\"replicationType\": \"Simple\",\n\t\t\"replicas\": \"1\"\n\t},\n\t\"databaseConnectionInfo\": {\n\t\t\"driverClass\": \"org.postgresql.Driver\",\n\t\t\"databaseNa [...]
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{provisionerUrl}}/provisioner/v1/tenants",
+ "protocol": "http",
+ "host": [
+ "{{provisionerUrl}}"
+ ],
+ "path": [
+ "provisioner",
+ "v1",
+ "tenants"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "03.2 Assign identity-v1 for Tenant and obtain Tenant Admin (user antony) Password",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "206c2d92-7c20-46e9-8079-ead0c0adbbe0",
+ "exec": [
+ "tests[\"Status code is 200\"] = responseCode.code === 200;",
+ "",
+ "var jsonData = JSON.parse(responseBody);",
+ "postman.setEnvironmentVariable(\"antonyUserPassword\", jsonData.adminPassword);",
+ "",
+ "",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{rootUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{rootUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n\t\"name\": \"identity-v1\"\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/identityservice",
+ "protocol": "http",
+ "host": [
+ "{{provisionerUrl}}"
+ ],
+ "path": [
+ "provisioner",
+ "v1",
+ "tenants",
+ "{{tenantIdentifier}}",
+ "identityservice"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "03.3 Login Antony (tenant superadmin) with obtained password",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "b3b88517-d738-461b-ba9a-f57e872dfcb2",
+ "exec": [
+ "tests[\"Status code is 200\"] = responseCode.code === 200;",
+ "",
+ "var jsonData = JSON.parse(responseBody);",
+ "postman.setEnvironmentVariable(\"antonyToken\", jsonData.accessToken);",
+ "",
+ "",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{}"
+ },
+ "url": {
+ "raw": "http://{{identityUrl}}/identity/v1/token?grant_type=password&username={{antonyUser}}&password={{antonyUserPassword}}",
+ "protocol": "http",
+ "host": [
+ "{{identityUrl}}"
+ ],
+ "path": [
+ "identity",
+ "v1",
+ "token"
+ ],
+ "query": [
+ {
+ "key": "grant_type",
+ "value": "password"
+ },
+ {
+ "key": "username",
+ "value": "{{antonyUser}}"
+ },
+ {
+ "key": "password",
+ "value": "{{antonyUserPassword}}"
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "03.4 Change Antony Password to 'antonyPassword'",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "4a97cc02-4f7f-4a0d-b805-5ec4af08f7b0",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ "",
+ "var delay3seconds = setTimeout(function(){}, [3000]);",
+ "",
+ "",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "eaa4397b-8b4a-4032-914a-2408cf82ea4b",
+ "exec": [
+ "var CryptoJS = require(\"crypto-js\")",
+ "var rawStr = CryptoJS.enc.Utf8.parse(\"antonyUserPassword\")",
+ "var base64 = CryptoJS.enc.Base64.stringify(rawStr)",
+ "console.log(`antonyUserPassword as BASE64: ${base64}`)",
+ "postman.setEnvironmentVariable(\"antonyUserPassword\", base64);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{antonyToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{antonyUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n\t\"password\": \"{{antonyUserPassword}}\"\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{identityUrl}}/identity/v1/users/antony/password",
+ "protocol": "http",
+ "host": [
+ "{{identityUrl}}"
+ ],
+ "path": [
+ "identity",
+ "v1",
+ "users",
+ "antony",
+ "password"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "03.5 LOGIN ANTONY (tenant SuperAdmin) with pwd 'antonyPassword'",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ "tests[\"Status code is 200\"] = responseCode.code === 200;",
+ "",
+ "var jsonData = JSON.parse(responseBody);",
+ "postman.setEnvironmentVariable(\"antonyToken\", jsonData.accessToken);",
+ "",
+ "",
+ ""
+ ]
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{}"
+ },
+ "url": {
+ "raw": "http://{{identityUrl}}/identity/v1/token?grant_type=password&username=antony&password={{antonyUserPassword}}",
+ "protocol": "http",
+ "host": [
+ "{{identityUrl}}"
+ ],
+ "path": [
+ "identity",
+ "v1",
+ "token"
+ ],
+ "query": [
+ {
+ "key": "grant_type",
+ "value": "password"
+ },
+ {
+ "key": "username",
+ "value": "antony"
+ },
+ {
+ "key": "password",
+ "value": "{{antonyUserPassword}}"
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "04.01 Assign rhythm-v1 for Tenant",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "ba66d4b9-95a1-45de-9d59-d54308c72273",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ "var delay90seconds = setTimeout(function(){}, [90000]);",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{rootUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{rootUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "[\n\t{\n\t\t\"name\": \"rhythm-v1\"\n\t}\n]",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
+ "protocol": "http",
+ "host": [
+ "{{provisionerUrl}}"
+ ],
+ "path": [
+ "provisioner",
+ "v1",
+ "tenants",
+ "{{tenantIdentifier}}",
+ "applications"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "04.02 Assign office-v1 for Tenant",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "7f3f5ba7-5b63-4a44-b491-12e0436c1056",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ "var delay20seconds = setTimeout(function(){}, [20000]);",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{rootUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{rootUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "[\n\t{\n\t\t\"name\": \"office-v1\"\n\t}\n]",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
+ "protocol": "http",
+ "host": [
+ "{{provisionerUrl}}"
+ ],
+ "path": [
+ "provisioner",
+ "v1",
+ "tenants",
+ "{{tenantIdentifier}}",
+ "applications"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "04.03 Assign customer-v1 for Tenant",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "d5f166cb-0a4d-44e2-ab41-fde67c2d1af7",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ "var delay20seconds = setTimeout(function(){}, [20000]);",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{rootUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{rootUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "[\n\t{\n\t\t\"name\": \"customer-v1\"\n\t}\n]",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
+ "protocol": "http",
+ "host": [
+ "{{provisionerUrl}}"
+ ],
+ "path": [
+ "provisioner",
+ "v1",
+ "tenants",
+ "{{tenantIdentifier}}",
+ "applications"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "05.1 Create administrator role for tenant \"playground\"",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "c64b529c-6e8a-4ef1-ab0d-a58b9499ade9",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ "setTimeout(function(){}, [3000]);",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ },
+ {
+ "key": "User",
+ "value": "{{antonyUser}}"
+ },
+ {
+ "key": "Authorization",
+ "value": "{{antonyToken}}"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"identifier\": \"administrator\",\n \"permissions\": [\n {\n \"permittableEndpointGroupIdentifier\": \"accounting__v1__account\",\n \"allowedOperations\": [\n \"READ\",\n \"CHANGE\",\n \"DELETE\"\n ]\n },\n {\n \"permittableEndpointGroupIdentifier\": \"accounting__v1__fin_condition\",\n \"allowedOperations\": [\n \"READ\",\n \"CHANGE\",\n \"DELETE\"\n ]\n },\n {\n \"permittable [...]
+ },
+ "url": {
+ "raw": "http://{{identityUrl}}/identity/v1/roles",
+ "protocol": "http",
+ "host": [
+ "{{identityUrl}}"
+ ],
+ "path": [
+ "identity",
+ "v1",
+ "roles"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "05.2 Create Admin User operator with password 'initialPassword'",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "9486d316-2aca-409a-88ff-f17770249dca",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ "var delay90seconds = setTimeout(function(){}, [2000]);",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "115a549d-513d-46ef-b8af-f9be111bd55d",
+ "exec": [
+ "var CryptoJS = require(\"crypto-js\")",
+ "var rawStr = CryptoJS.enc.Utf8.parse(\"initialPassword\")",
+ "var base64 = CryptoJS.enc.Base64.stringify(rawStr)",
+ "console.log(`operatorPassword in BASE64: ${base64}`)",
+ "postman.setEnvironmentVariable(\"adminUserPassword\", base64);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{antonyToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{antonyUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n\t\"identifier\": \"operator\",\n\t\"role\": \"administrator\",\n\t\"password\": \"{{adminUserPassword}}\"\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{identityUrl}}/identity/v1/users",
+ "protocol": "http",
+ "host": [
+ "{{identityUrl}}"
+ ],
+ "path": [
+ "identity",
+ "v1",
+ "users"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "05.3 Log in with initial password",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "90d180ba-a4a4-47ce-b018-94c75b0ebe65",
+ "exec": [
+ "tests[\"Status code is 200\"] = responseCode.code === 200;",
+ "",
+ "var jsonData = JSON.parse(responseBody);",
+ "postman.setEnvironmentVariable(\"adminUserToken\", jsonData.accessToken);",
+ "",
+ "const moment = require('moment');",
+ "var timestamp = moment().format(\"YYYY-MM-DD\") + \"T\" + moment().format(\"HH:mm:ss\");",
+ "tests[\"initial password is expired\"] = jsonData.passwordExpiration < timestamp;",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "0f7bafa6-8124-42cc-b0a4-9571119a5fc8",
+ "exec": [
+ "var delay3seconds = setTimeout(function(){}, [3000]);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{antonyToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{antonyUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{identityUrl}}/identity/v1/token?grant_type=password&username=operator&password={{adminUserPassword}}",
+ "protocol": "http",
+ "host": [
+ "{{identityUrl}}"
+ ],
+ "path": [
+ "identity",
+ "v1",
+ "token"
+ ],
+ "query": [
+ {
+ "key": "grant_type",
+ "value": "password"
+ },
+ {
+ "key": "username",
+ "value": "operator"
+ },
+ {
+ "key": "password",
+ "value": "{{adminUserPassword}}",
+ "description": "Initial password"
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "05.4 Change user 'operator' password to 'operatorPassword'",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "af5b9059-bf36-4715-acc2-25d272552590",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ "var delay90seconds = setTimeout(function(){}, [2000]);",
+ "",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "91312a48-c2bd-4ea4-b4e6-8c388aec99e9",
+ "exec": [
+ "var CryptoJS = require(\"crypto-js\")",
+ "var rawStr = CryptoJS.enc.Utf8.parse(\"operatorPassword\")",
+ "var base64 = CryptoJS.enc.Base64.stringify(rawStr)",
+ "console.log(`operatorPassword in BASE64: ${base64}`)",
+ "postman.setEnvironmentVariable(\"adminUserPassword\", base64);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "Authorization",
+ "type": "text",
+ "value": "{{adminUserToken}}"
+ },
+ {
+ "key": "User",
+ "type": "text",
+ "value": "{{adminUser}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"password\": \"{{adminUserPassword}}\"\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{identityUrl}}/identity/v1/users/operator/password",
+ "protocol": "http",
+ "host": [
+ "{{identityUrl}}"
+ ],
+ "path": [
+ "identity",
+ "v1",
+ "users",
+ "operator",
+ "password"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "05.5 LOG IN TENANT ADMIN (operator)",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "c8802a96-df5a-4916-b6fb-e27b33c386e6",
+ "exec": [
+ "tests[\"Status code is 200\"] = responseCode.code === 200;",
+ "",
+ "var jsonData = JSON.parse(responseBody);",
+ "postman.setEnvironmentVariable(\"adminUserToken\", jsonData.accessToken);",
+ "",
+ "const moment = require('moment');",
+ "var timestamp = moment().format(\"YYYY-MM-DD\") + \"T\" + moment().format(\"HH:mm:ss\");",
+ "tests[\"password is not expired\"] = jsonData.passwordExpiration > timestamp;",
+ "",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{}"
+ },
+ "url": {
+ "raw": "http://{{identityUrl}}/identity/v1/token?grant_type=password&username=operator&password={{adminUserPassword}}",
+ "protocol": "http",
+ "host": [
+ "{{identityUrl}}"
+ ],
+ "path": [
+ "identity",
+ "v1",
+ "token"
+ ],
+ "query": [
+ {
+ "key": "grant_type",
+ "value": "password"
+ },
+ {
+ "key": "username",
+ "value": "operator"
+ },
+ {
+ "key": "password",
+ "value": "{{adminUserPassword}}"
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "05.6 Pull operator permissions",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "9486d316-2aca-409a-88ff-f17770249dca",
+ "exec": [
+ "tests[\"Status code is 200\"] = responseCode.code === 200;",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "115a549d-513d-46ef-b8af-f9be111bd55d",
+ "exec": [
+ "var CryptoJS = require(\"crypto-js\")",
+ "var rawStr = CryptoJS.enc.Utf8.parse(\"operatorPassword\")",
+ "var base64 = CryptoJS.enc.Base64.stringify(rawStr)",
+ "console.log(`operatorPassword in BASE64: ${base64}`)",
+ "postman.setEnvironmentVariable(\"adminUserPassword\", base64);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "protocolProfileBehavior": {
+ "disableBodyPruning": true
+ },
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{adminUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{adminUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{identityUrl}}/identity/v1/users/operator/permissions",
+ "protocol": "http",
+ "host": [
+ "{{identityUrl}}"
+ ],
+ "path": [
+ "identity",
+ "v1",
+ "users",
+ "operator",
+ "permissions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "06.1 Create Scheduler role for tenant playground",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "c64b529c-6e8a-4ef1-ab0d-a58b9499ade9",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ "var delay90seconds = setTimeout(function(){}, [2000]);",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ },
+ {
+ "key": "User",
+ "value": "{{antonyUser}}"
+ },
+ {
+ "key": "Authorization",
+ "value": "{{antonyToken}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"identifier\": \"scheduler\",\n \"permissions\": [\n {\n \"permittableEndpointGroupIdentifier\": \"identity__v1__app_self\",\n \"allowedOperations\": [\n \"CHANGE\"\n ]\n },\n {\n \"permittableEndpointGroupIdentifier\": \"portfolio__v1__khepri\",\n \"allowedOperations\": [\n \"CHANGE\"\n ]\n }\n ]\n}\n",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{identityUrl}}/identity/v1/roles",
+ "protocol": "http",
+ "host": [
+ "{{identityUrl}}"
+ ],
+ "path": [
+ "identity",
+ "v1",
+ "roles"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "06.2 Create Scheduler user imhotep with password 'initialImhotepPassword'",
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "3469215d-1ba4-4891-aa3f-e45e343ab4de",
+ "exec": [
+ "var CryptoJS = require(\"crypto-js\")",
+ "",
+ "//Encrypt",
+ "var rawStr = CryptoJS.enc.Utf8.parse(\"initialImhotepPassword\")",
+ "var base64 = CryptoJS.enc.Base64.stringify(rawStr)",
+ "console.log(`imhotepPassword in BASE64: ${base64}`)",
+ "postman.setEnvironmentVariable(\"schedulerUserPassword\", base64);",
+ "",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "1cad925a-87b3-4ba2-af86-a4d499d68f22",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ "setTimeout(function(){}, [3000]);",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{antonyToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{antonyUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n\t\"identifier\": \"imhotep\",\n\t\"role\": \"scheduler\",\n\t\"password\": \"{{schedulerUserPassword}}\"\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{identityUrl}}/identity/v1/users",
+ "protocol": "http",
+ "host": [
+ "{{identityUrl}}"
+ ],
+ "path": [
+ "identity",
+ "v1",
+ "users"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "06.3 Login Scheduler user imhotep",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "272b3e2a-f1b2-41da-aa5d-9e017555d6d2",
+ "exec": [
+ "var jsonData = JSON.parse(responseBody);",
+ "",
+ "tests[\"Status code is 200\"] = responseCode.code === 200;",
+ "tests[\"access token was returned \"] = jsonData.accessToken !== undefined;",
+ "",
+ "postman.setEnvironmentVariable(\"schedulerUserToken\", jsonData.accessToken);",
+ "",
+ "",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "dd4a949c-cf1e-4385-aa25-3cb53d39d56d",
+ "exec": [
+ "var delay3seconds = setTimeout(function(){}, [3000]);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{identityUrl}}/identity/v1/token?grant_type=password&username=imhotep&password={{schedulerUserPassword}}",
+ "protocol": "http",
+ "host": [
+ "{{identityUrl}}"
+ ],
+ "path": [
+ "identity",
+ "v1",
+ "token"
+ ],
+ "query": [
+ {
+ "key": "grant_type",
+ "value": "password"
+ },
+ {
+ "key": "username",
+ "value": "imhotep"
+ },
+ {
+ "key": "password",
+ "value": "{{schedulerUserPassword}}"
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "06.4 Change imhotep user password to 'imhotepPassword'",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "af5b9059-bf36-4715-acc2-25d272552590",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ "var delay2seconds = setTimeout(function(){}, [2000]);",
+ "",
+ "",
+ "",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "0198f255-d555-4a77-8825-04c5bbd1c54d",
+ "exec": [
+ "var CryptoJS = require(\"crypto-js\")",
+ "",
+ "//Encrypt",
+ "var rawStr = CryptoJS.enc.Utf8.parse(\"imhotepPassword\")",
+ "var base64 = CryptoJS.enc.Base64.stringify(rawStr)",
+ "console.log(`imhotepPassword in BASE64: ${base64}`)",
+ "postman.setEnvironmentVariable(\"schedulerUserPassword\", base64);",
+ "",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "Authorization",
+ "value": "{{schedulerUserToken}}",
+ "type": "text"
+ },
+ {
+ "key": "User",
+ "value": "imhotep",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"password\": \"{{schedulerUserPassword}}\"\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{identityUrl}}/identity/v1/users/imhotep/password",
+ "protocol": "http",
+ "host": [
+ "{{identityUrl}}"
+ ],
+ "path": [
+ "identity",
+ "v1",
+ "users",
+ "imhotep",
+ "password"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "06.5 Login user imhotep (who has scheduler role)",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "5830a8cd-f000-4b41-bfd2-1ac8c96812e4",
+ "exec": [
+ "tests[\"Status code is 200\"] = responseCode.code === 200;",
+ "",
+ "var jsonData = JSON.parse(responseBody);",
+ "postman.setEnvironmentVariable(\"schedulerUserToken\", jsonData.accessToken);",
+ "",
+ "",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{identityUrl}}/identity/v1/token?grant_type=password&username=imhotep&password={{schedulerUserPassword}}",
+ "protocol": "http",
+ "host": [
+ "{{identityUrl}}"
+ ],
+ "path": [
+ "identity",
+ "v1",
+ "token"
+ ],
+ "query": [
+ {
+ "key": "grant_type",
+ "value": "password"
+ },
+ {
+ "key": "username",
+ "value": "imhotep"
+ },
+ {
+ "key": "password",
+ "value": "{{schedulerUserPassword}}"
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "06.6 enable permission identity__v1__app_self for imhotep",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "5830a8cd-f000-4b41-bfd2-1ac8c96812e4",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ "",
+ "",
+ "",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "User",
+ "value": "imhotep",
+ "type": "text"
+ },
+ {
+ "key": "Authorization",
+ "value": "{{schedulerUserToken}}",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "true",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{identityUrl}}/identity/v1/applications/rhythm-v1/permissions/identity__v1__app_self/users/imhotep/enabled",
+ "protocol": "http",
+ "host": [
+ "{{identityUrl}}"
+ ],
+ "path": [
+ "identity",
+ "v1",
+ "applications",
+ "rhythm-v1",
+ "permissions",
+ "identity__v1__app_self",
+ "users",
+ "imhotep",
+ "enabled"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "07.01 Assign accounting-v1 for Tenant",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "af1b9ac1-c66c-4353-b59b-ec3e1bea864c",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ "var delay90seconds = setTimeout(function(){}, [90000]);",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{rootUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{rootUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "[\n\t{\n\t\t\"name\": \"accounting-v1\"\n\t}\n]",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
+ "protocol": "http",
+ "host": [
+ "{{provisionerUrl}}"
+ ],
+ "path": [
+ "provisioner",
+ "v1",
+ "tenants",
+ "{{tenantIdentifier}}",
+ "applications"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "07.020 Assign portfolio-v1 for Tenant",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "ef7b5c59-1623-4183-8196-b76e30922713",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ "var delay90seconds = setTimeout(function(){}, [90000]);",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{rootUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{rootUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "[\n\t{\n\t\t\"name\": \"portfolio-v1\"\n\t}\n]",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
+ "protocol": "http",
+ "host": [
+ "{{provisionerUrl}}"
+ ],
+ "path": [
+ "provisioner",
+ "v1",
+ "tenants",
+ "{{tenantIdentifier}}",
+ "applications"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "07.022 enable permission portfolio__v1__khepri for user imhotep",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "5830a8cd-f000-4b41-bfd2-1ac8c96812e4",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ "",
+ "",
+ "",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ },
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ },
+ {
+ "key": "User",
+ "value": "imhotep",
+ "type": "text"
+ },
+ {
+ "key": "Authorization",
+ "value": "{{schedulerUserToken}}",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "true",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "http://{{identityUrl}}/identity/v1/applications/rhythm-v1/permissions/portfolio__v1__khepri/users/imhotep/enabled",
+ "protocol": "http",
+ "host": [
+ "{{identityUrl}}"
+ ],
+ "path": [
+ "identity",
+ "v1",
+ "applications",
+ "rhythm-v1",
+ "permissions",
+ "portfolio__v1__khepri",
+ "users",
+ "imhotep",
+ "enabled"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "07.03 Assign deposits for Tenant",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "8b4e42c3-5a2f-437d-8f2c-55a6d398f601",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ "var delay90seconds = setTimeout(function(){}, [90000]);",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{rootUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{rootUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "[\n\t{\n\t\t\"name\": \"deposit-v1\"\n\t}\n]"
+ },
+ "url": {
+ "raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
+ "protocol": "http",
+ "host": [
+ "{{provisionerUrl}}"
+ ],
+ "path": [
+ "provisioner",
+ "v1",
+ "tenants",
+ "{{tenantIdentifier}}",
+ "applications"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "07.04 Assign teller-v1 for Tenant",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "99d87103-9033-4dc9-aaef-b82aef6f8e3a",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{rootUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{rootUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "[\n\t{\n\t\t\"name\": \"teller-v1\"\n\t}\n]"
+ },
+ "url": {
+ "raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
+ "protocol": "http",
+ "host": [
+ "{{provisionerUrl}}"
+ ],
+ "path": [
+ "provisioner",
+ "v1",
+ "tenants",
+ "{{tenantIdentifier}}",
+ "applications"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "08.1 Create REVENUE ledgers",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "6260a2d4-def6-40e4-a87e-38f3d01f16b3",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{adminUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{adminUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"description\": null,\n \"type\": \"REVENUE\",\n \"identifier\": \"1000\",\n \"name\": \"Income\",\n \"subLedgers\": [\n {\n \"description\": null,\n \"type\": \"REVENUE\",\n \"identifier\": \"1100\",\n \"name\": \"Income from Loans\",\n \"subLedgers\": [],\n \"showAccountsInChart\": true\n },\n {\n \"description\": null,\n \"type\": \"REVENUE\",\n \"identifier\": \"1200\",\n \"name\": \"Investment Income\" [...]
+ },
+ "url": {
+ "raw": "http://{{accountingUrl}}/accounting/v1/ledgers",
+ "protocol": "http",
+ "host": [
+ "{{accountingUrl}}"
+ ],
+ "path": [
+ "accounting",
+ "v1",
+ "ledgers"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "08.2 Create EXPENSE Ledgers",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "be1a9019-cb18-4084-802b-cc6169e0b091",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{adminUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{adminUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"description\": null,\n \"type\": \"EXPENSE\",\n \"identifier\": \"2000\",\n \"name\": \"Expenses\",\n \"showAccountsInChart\": true,\n \"subLedgers\": [\n {\"description\": null, \"type\": \"EXPENSE\", \"identifier\": \"2100\", \"name\": \"Employee Compensation\", \"subLedgers\": [], \"showAccountsInChart\": true },\n {\"description\": null, \"type\": \"EXPENSE\", \"identifier\": \"2200\", \"name\": \"Employee Benefits\", \"subLedgers\": [], \"showAccount [...]
+ },
+ "url": {
+ "raw": "http://{{accountingUrl}}/accounting/v1/ledgers",
+ "protocol": "http",
+ "host": [
+ "{{accountingUrl}}"
+ ],
+ "path": [
+ "accounting",
+ "v1",
+ "ledgers"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "08.3 Create ASSETS ledgers",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "3585bd0e-9598-43e6-b678-645bd64855dd",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{adminUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{adminUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"description\": null,\n \"type\": \"ASSET\",\n \"identifier\": \"7000\",\n \"name\": \"Assets\",\n \"showAccountsInChart\": true,\n \"subLedgers\": [\n {\n \"description\": null,\n \"type\": \"ASSET\",\n \"identifier\": \"7010\",\n \"name\": \"Loans to Members\",\n \"subLedgers\": [],\n \"showAccountsInChart\": true\n },\n {\n \"description\": null,\n \"type\": \"ASSET\",\n \"identifier\": \"7020\",\n \"na [...]
+ },
+ "url": {
+ "raw": "http://{{accountingUrl}}/accounting/v1/ledgers",
+ "protocol": "http",
+ "host": [
+ "{{accountingUrl}}"
+ ],
+ "path": [
+ "accounting",
+ "v1",
+ "ledgers"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "08.4 Create LIABILITY ledgers",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "708e63ea-73ac-4c20-a92d-915fba3135f6",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{adminUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{adminUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"description\": null,\n \"type\": \"LIABILITY\",\n \"identifier\": \"8000\",\n \"name\": \"Accounts Payable\",\n \"showAccountsInChart\": true,\n \"subLedgers\": [\n {\n \"description\": null,\n \"type\": \"LIABILITY\",\n \"identifier\": \"8100\",\n \"name\": \"Accounts Payable\",\n \"subLedgers\": [],\n \"showAccountsInChart\": true\n },\n {\n \"description\": null,\n \"type\": \"LIABILITY\",\n \"identifier\": [...]
+ },
+ "url": {
+ "raw": "http://{{accountingUrl}}/accounting/v1/ledgers",
+ "protocol": "http",
+ "host": [
+ "{{accountingUrl}}"
+ ],
+ "path": [
+ "accounting",
+ "v1",
+ "ledgers"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "08.5 Create EQUITY ledgers",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "e240003c-12d2-492c-bf43-970ed16564d5",
+ "exec": [
+ "tests[\"Status code is 202\"] = responseCode.code === 202;",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{adminUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{adminUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"description\": null,\n \"type\": \"EQUITY\",\n \"identifier\": \"9000\",\n \"name\": \"Equity\",\n \"showAccountsInChart\": true,\n \"subLedgers\": [\n {\n \"description\": null,\n \"type\": \"EQUITY\",\n \"identifier\": \"9100\",\n \"name\": \"Member Savings\",\n \"subLedgers\": [],\n \"showAccountsInChart\": true\n },\n {\n \"description\": null,\n \"type\": \"EQUITY\",\n \"identifier\": \"9300\",\n \"n [...]
+ },
+ "url": {
+ "raw": "http://{{accountingUrl}}/accounting/v1/ledgers",
+ "protocol": "http",
+ "host": [
+ "{{accountingUrl}}"
+ ],
+ "path": [
+ "accounting",
+ "v1",
+ "ledgers"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "08.6 Assert ledgers created",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "e240003c-12d2-492c-bf43-970ed16564d5",
+ "exec": [
+ "tests[\"Status code is 200\"] = responseCode.code === 200;",
+ "",
+ "var jsonData = JSON.parse(responseBody);",
+ "tests[\"There are 84 accounts\"] = jsonData.totalElements === 5;",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "bd18e656-94f9-4c09-94df-69becea56213",
+ "exec": [
+ "var delay3seconds = setTimeout(function(){}, [3000]);",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "protocolProfileBehavior": {
+ "disableBodyPruning": true
+ },
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Authorization",
+ "value": "{{adminUserToken}}"
+ },
+ {
+ "key": "User",
+ "value": "{{adminUser}}"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "X-Tenant-Identifier",
+ "value": "{{tenantIdentifier}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "http://{{accountingUrl}}/accounting/v1/ledgers",
+ "protocol": "http",
+ "host": [
+ "{{accountingUrl}}"
+ ],
+ "path": [
+ "accounting",
+ "v1",
+ "ledgers"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "ab95cd30-13ab-41bc-a153-9c3625d46c11",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "7e7f5c21-17f8-46e4-a2ab-c2367357569d",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {}
+}
\ No newline at end of file