From 23a0ea37c073749244ef81990e21d7ceca3b179d Mon Sep 17 00:00:00 2001 From: David Jimenez Date: Mon, 19 Aug 2024 11:21:14 -0600 Subject: [PATCH] Refactor on Applications tests --- ...ring - Application.postman_collection.json | 335 ++++++++---------- 1 file changed, 150 insertions(+), 185 deletions(-) diff --git a/Application/EdFi.Ods.AdminApi/E2E Tests/Admin API E2E 2.0 - Sorting and Filtering - Application.postman_collection.json b/Application/EdFi.Ods.AdminApi/E2E Tests/Admin API E2E 2.0 - Sorting and Filtering - Application.postman_collection.json index 3a3d66b26..7ec30a9ab 100644 --- a/Application/EdFi.Ods.AdminApi/E2E Tests/Admin API E2E 2.0 - Sorting and Filtering - Application.postman_collection.json +++ b/Application/EdFi.Ods.AdminApi/E2E Tests/Admin API E2E 2.0 - Sorting and Filtering - Application.postman_collection.json @@ -911,64 +911,62 @@ " return array.join('');\r", "}\r", "\r", - "let RegisterAndGetToken = function() {\r", - " return new Promise((resolve, reject) => {\r", - " let guid = pm.variables.replaceIn('{{$guid}}');\r", - " let client_secret = generateClientSecret();\r", + "const RegisterAndGetToken = () => new Promise((resolve) => {\r", + " let guid = pm.variables.replaceIn('{{$guid}}');\r", + " let client_secret = generateClientSecret();\r", + "\r", + " let header = {\r", + " 'Content-Type': 'application/x-www-form-urlencoded'\r", + " };\r", "\r", - " let header = {\r", - " 'Content-Type': 'application/x-www-form-urlencoded'\r", - " };\r", + " if (pm.variables.get(\"isMultitenant\") == \"true\") {\r", + " header['Tenant'] = `${pm.variables.get(\"tenant1\")}`;\r", + " pm.request.headers.upsert({key: 'Tenant', value: `${pm.variables.get(\"tenant1\")}` });\r", + " }\r", "\r", - " if (pm.variables.get(\"isMultitenant\") == \"true\") {\r", - " header['Tenant'] = `${pm.variables.get(\"tenant1\")}`;\r", - " pm.request.headers.upsert({key: 'Tenant', value: `${pm.variables.get(\"tenant1\")}` });\r", + " pm.sendRequest({\r", + " url: `${pm.variables.get(\"API_URL\")}/connect/register`,\r", + " method: 'POST',\r", + " header: header,\r", + " body: {\r", + " mode: 'urlencoded',\r", + " urlencoded: [\r", + " {key: 'ClientId', value: guid },\r", + " {key: 'ClientSecret', value: client_secret },\r", + " {key: 'DisplayName', value: guid }\r", + " ]\r", " }\r", + " },\r", + " (err, res) => {\r", + " error = res.json().error\r", + " if(error) {\r", + " throw res.json().error_description\r", + " }\r", "\r", " pm.sendRequest({\r", - " url: `${pm.variables.get(\"API_URL\")}/connect/register`,\r", + " url: `${pm.variables.get(\"API_URL\")}/connect/token`,\r", " method: 'POST',\r", " header: header,\r", " body: {\r", " mode: 'urlencoded',\r", " urlencoded: [\r", - " {key: 'ClientId', value: guid },\r", - " {key: 'ClientSecret', value: client_secret },\r", - " {key: 'DisplayName', value: guid }\r", + " {key: 'client_id', value: guid },\r", + " {key: 'client_secret', value: client_secret },\r", + " {key: 'grant_type', value: \"client_credentials\"},\r", + " {key: 'scope', value: \"edfi_admin_api/full_access\"}\r", " ]\r", " }\r", " },\r", - " (err, res) => {\r", - " error = res.json().error\r", - " if(error) {\r", - " throw res.json().error_description\r", - " }\r", - "\r", - " pm.sendRequest({\r", - " url: `${pm.variables.get(\"API_URL\")}/connect/token`,\r", - " method: 'POST',\r", - " header: header,\r", - " body: {\r", - " mode: 'urlencoded',\r", - " urlencoded: [\r", - " {key: 'client_id', value: guid },\r", - " {key: 'client_secret', value: client_secret },\r", - " {key: 'grant_type', value: \"client_credentials\"},\r", - " {key: 'scope', value: \"edfi_admin_api/full_access\"}\r", - " ]\r", - " }\r", - " },\r", - " (err, res) => {\r", - " error = res.json().error\r", - " if(error) {\r", - " throw res.json().error_description\r", - " }\r", - " pm.collectionVariables.set(\"TOKEN\", res.json().access_token);\r", - " resolve();\r", - " });\r", + " (err, res) => {\r", + " error = res.json().error\r", + " if(error) {\r", + " throw res.json().error_description\r", + " }\r", + " pm.collectionVariables.set(\"TOKEN\", res.json().access_token);\r", + " resolve();\r", " });\r", " });\r", - "};\r", + "});\r", "\r", "/// -------\r", "/// Vendors\r", @@ -1011,71 +1009,56 @@ " });\r", "}\r", "\r", - "let createVendor = function() {\r", - " return new Promise((resolve, reject) => {\r", - " pm.sendRequest({\r", - " url: `${pm.variables.get(\"API_URL\")}/v2/vendors`,\r", - " method: 'POST',\r", - " header: header,\r", - " body: {\r", - " mode: 'raw',\r", - " raw: JSON.stringify({ \"company\": generateAlphanumericString(), \"namespacePrefixes\": `uri://${generateAlphanumericString()}.org`, \"contactName\": generateAlphanumericString(), \"contactEmailAddress\": `${generateAlphanumericString()}@test-ed-fi.org` })\r", - " }\r", - " }, (err, res) => {\r", - " let location = res.headers.get('location');\r", - " let matches = location.match(/(\\d+)/);\r", - " vendorId = parseInt(matches[0], 10);\r", - " resolve(vendorId);\r", - " });\r", + "const createVendor = () => new Promise((resolve) => {\r", + " pm.sendRequest({\r", + " url: `${pm.variables.get(\"API_URL\")}/v2/vendors`,\r", + " method: 'POST',\r", + " header: header,\r", + " body: {\r", + " mode: 'raw',\r", + " raw: JSON.stringify({ \"company\": generateAlphanumericString(), \"namespacePrefixes\": `uri://${generateAlphanumericString()}.org`, \"contactName\": generateAlphanumericString(), \"contactEmailAddress\": `${generateAlphanumericString()}@test-ed-fi.org` })\r", + " }\r", + " }, (err, res) => {\r", + " let location = res.headers.get('location');\r", + " let matches = location.match(/(\\d+)/);\r", + " vendorId = parseInt(matches[0], 10);\r", + " resolve(vendorId);\r", " });\r", - "}\r", - "\r", - "let createClaimset = function() {\r", - " let claimsetName = generateAlphanumericString();\r", + "});\r", "\r", - " return new Promise((resolve, reject) => {\r", - " pm.sendRequest({\r", - " url: `${pm.variables.get(\"API_URL\")}/v2/claimSets`,\r", - " method: 'POST',\r", - " header: header,\r", - " body: {\r", - " mode: 'raw',\r", - " raw: JSON.stringify({ \"name\": claimsetName })\r", - " }\r", - " }, (err, res) => {\r", - " resolve(claimsetName);\r", - " });\r", + "const createClaimset = (claimsetName) => new Promise((resolve) => {\r", + " pm.sendRequest({\r", + " url: `${pm.variables.get(\"API_URL\")}/v2/claimSets`,\r", + " method: 'POST',\r", + " header: header,\r", + " body: {\r", + " mode: 'raw',\r", + " raw: JSON.stringify({ \"name\": claimsetName })\r", + " }\r", + " }, (err, res) => {\r", + " let location = res.headers.get('location');\r", + " let matches = location.match(/(\\d+)/);\r", + " claimsetId = parseInt(matches[0], 10);\r", + " resolve(claimsetId);\r", " });\r", - "}\r", - "\r", - "function createApplications(vendorId, odsInstanceId, claimsetsCreated) {\r", - " return new Promise((resolve, reject) => {\r", - " for (let i = 0; i < pm.collectionVariables.get(\"APPLICATIONCOUNT\"); i++) {\r", - " let claimsetName = claimsetsCreated[i];\r", - " let applicationName = generateAlphanumericString();\r", + "});\r", "\r", - " pm.collectionVariables.set(\"FILTERAPPLICATIONNAME\", applicationName);\r", - " pm.collectionVariables.set(\"FILTERCLAIMSETNAME\", claimsetName);\r", - "\r", - " pm.sendRequest({\r", - " url: `${pm.variables.get(\"API_URL\")}/v2/applications`,\r", - " method: 'POST',\r", - " header: header,\r", - " body: {\r", - " mode: 'raw',\r", - " raw: JSON.stringify({ \"applicationName\": applicationName, \"vendorId\": vendorId, \"claimSetName\": claimsetName, 'educationOrganizationIds': [ 0 ], \"odsInstanceIds\": [ odsInstanceId ]})\r", - " }\r", - " }, (err, res) => {\r", - " error = res.json().error\r", - " if(error) {\r", - " throw res.json().error_description\r", - " }\r", - " resolve();\r", - " });\r", + "const createApplication = (applicationName, vendorId, claimsetName, odsInstanceId) => new Promise((resolve) => {\r", + " pm.sendRequest({\r", + " url: `${pm.variables.get(\"API_URL\")}/v2/applications`,\r", + " method: 'POST',\r", + " header: header,\r", + " body: {\r", + " mode: 'raw',\r", + " raw: JSON.stringify({ \"applicationName\": applicationName, \"vendorId\": vendorId, \"claimSetName\": claimsetName, 'educationOrganizationIds': [ 0 ], \"odsInstanceIds\": [ odsInstanceId ]})\r", " }\r", " }, (err, res) => {\r", + " let location = res.headers.get('location');\r", + " let matches = location.match(/(\\d+)/);\r", + " applicationId = parseInt(matches[0], 10);\r", + " resolve(applicationId);\r", " });\r", - "}\r", + "});\r", "\r", "(async function () {\r", " await RegisterAndGetToken();\r", @@ -1092,13 +1075,31 @@ "\r", " let odsInstanceIdCreated = await createOdsInstance().then(odsInstanceId => odsInstanceId);\r", " let vendorIdCreated = await createVendor().then(vendorId => vendorId);\r", - " let claimsetsCreated = [];\r", + " let applicationcount = parseInt(pm.collectionVariables.get(\"APPLICATIONCOUNT\"), 10);\r", + "\r", + " let claimsetNamesCreated = [];\r", + " for (let i = 0; i < applicationcount; i++) {\r", + " claimsetNamesCreated.push(generateAlphanumericString());\r", + " }\r", " \r", - " for (let i = 0; i <= 3; i++) {\r", - " claimsetsCreated.push(await createClaimset().then(claimsetName => claimsetName));\r", + " let claimsetIdsCreated = [];\r", + " for (let i = 0; i < applicationcount; i++) {\r", + " claimsetIdsCreated.push(await createClaimset(claimsetNamesCreated[i]).then(claimsetId => claimsetId));\r", " }\r", " \r", - " await createApplications(vendorIdCreated, odsInstanceIdCreated, claimsetsCreated);\r", + " for (let i = 0; i < pm.collectionVariables.get(\"APPLICATIONCOUNT\"); i++) {\r", + " let claimsetName = claimsetNamesCreated[i];\r", + " let applicationName = generateAlphanumericString();\r", + "\r", + " pm.collectionVariables.set(\"FILTERAPPLICATIONNAME\", applicationName);\r", + " pm.collectionVariables.set(\"FILTERCLAIMSETNAME\", claimsetName);\r", + "\r", + " await createApplication(applicationName, vendorIdCreated, claimsetName, odsInstanceIdCreated);\r", + " }\r", + "\r", + " pm.collectionVariables.set(\"VENDORTODELETE\", vendorIdCreated);\r", + " pm.collectionVariables.set(\"CLAIMSETSTODELETE\", JSON.stringify(claimsetIdsCreated));\r", + " pm.collectionVariables.set(\"ODSINSTANCETODELETE\", odsInstanceIdCreated);\r", "})();\r", "" ] @@ -1121,110 +1122,59 @@ " pm.request.headers.upsert({key: 'Tenant', value: `${pm.variables.get(\"tenant1\")}` });\r", "}\r", "\r", - "function deleteClaimsetById(id) {\r", - " pm.sendRequest({\r", - " url: `${pm.variables.get(\"API_URL\")}/v2/claimSets/${id}`,\r", - " method: 'DELETE',\r", - " header: header\r", - " }, function (err, res) {\r", - " if (err) {\r", - " console.log(err);\r", - " }\r", - " });\r", - "}\r", - "\r", - "function deleteClaimsets() {\r", + "const deleteVendorById = (id) => new Promise((resolve) => {\r", " pm.sendRequest({\r", - " url: `${pm.variables.get(\"API_URL\")}/v2/claimSets?offset=0&limit=500`,\r", - " method: 'GET',\r", + " url: `${pm.variables.get(\"API_URL\")}/v2/vendors/${id}`,\r", + " method: 'DELETE',\r", " header: header\r", " }, function (err, res) {\r", - " var results = res.json();\r", - " if (err) {\r", - " console.log(err);\r", - " }\r", - "\r", - " for (let i = 0; i < results.length; i++) {\r", - " let claimSet = results[i];\r", - " if (claimSet._isSystemReserved === false)\r", - " deleteClaimsetById(claimSet.id);\r", - " }\r", + " resolve();\r", " });\r", - "}\r", - "\r", - "let deleteVendorById = function(id) {\r", - " return new Promise((resolve, reject) => {\r", - " pm.sendRequest({\r", - " url: `${pm.variables.get(\"API_URL\")}/v2/vendors/${id}`,\r", - " method: 'DELETE',\r", - " header: header\r", - " }, function (err, res) {\r", - " if (err) {\r", - " console.log(err);\r", - " }\r", - " resolve();\r", - " });\r", - " });\r", - "}\r", - "\r", - "function deleteODSInstanceById(id) {\r", - " pm.sendRequest({\r", - " url: `${pm.variables.get(\"API_URL\")}/v2/odsInstances/${id}`,\r", - " method: 'DELETE',\r", - " header: header\r", - " }, function (err, res) {\r", - " if (err) {\r", - " console.log(err);\r", - " }\r", - " });\r", - "}\r", + "});\r", "\r", - "function deleteODSInstances() {\r", + "function deleteClaimsetById(id) {\r", " pm.sendRequest({\r", - " url: `${pm.variables.get(\"API_URL\")}/v2/odsInstances?offset=0&limit=50`,\r", - " method: 'GET',\r", + " url: `${pm.variables.get(\"API_URL\")}/v2/claimSets/${id}`,\r", + " method: 'DELETE',\r", " header: header\r", " }, function (err, res) {\r", - " var results = res.json();\r", " if (err) {\r", " console.log(err);\r", " }\r", - "\r", - " for (let i = 0; i < results.length; i++) {\r", - " let odsInstance = results[i];\r", - " deleteODSInstanceById(odsInstance.id);\r", - " }\r", " });\r", "}\r", "\r", - "function deleteVendors() {\r", + "function deleteODSInstanceById(id) {\r", " pm.sendRequest({\r", - " url: `${pm.variables.get(\"API_URL\")}/v2/vendors?offset=0&limit=500`,\r", - " method: 'GET',\r", + " url: `${pm.variables.get(\"API_URL\")}/v2/odsInstances/${id}`,\r", + " method: 'DELETE',\r", " header: header\r", " }, function (err, res) {\r", - " var results = res.json();\r", " if (err) {\r", " console.log(err);\r", " }\r", - " error = res.json().error\r", - " if(error) {\r", - " console.log(error);\r", - " throw res.json().error_description\r", - " }\r", - "\r", - " (async function () {\r", - " await deleteVendorById(results[0].id).then(() => {});\r", + " });\r", + "}\r", "\r", - " deleteODSInstances();\r", - " deleteClaimsets();\r", - " })();\r", + "function deleteClaimsets() {\r", + " let claimsetsToDelete = JSON.parse(pm.variables.get(\"CLAIMSETSTODELETE\"));\r", + " for (let i = 0; i < claimsetsToDelete.length; i++) {\r", + " deleteClaimsetById(claimsetsToDelete[i]);\r", + " }\r", + "}\r", "\r", - " \r", - " });\r", + "function deleteOdsInstance() {\r", + " let odsInstanceToDelete = pm.variables.get(\"ODSINSTANCETODELETE\");\r", + " deleteODSInstanceById(odsInstanceToDelete);\r", "}\r", "\r", - "deleteVendors();" + "(async function () {\r", + " let vendorToDelete = pm.variables.get(\"VENDORTODELETE\");\r", + " await deleteVendorById(vendorToDelete);\r", + "\r", + " deleteClaimsets();\r", + " deleteOdsInstance();\r", + "})();" ] } } @@ -1247,6 +1197,21 @@ "key": "APPLICATIONCOUNT", "value": "4", "type": "string" + }, + { + "key": "VENDORTODELETE", + "value": "", + "type": "string" + }, + { + "key": "CLAIMSETSTODELETE", + "value": "", + "type": "string" + }, + { + "key": "ODSINSTANCETODELETE", + "value": "", + "type": "string" } ] } \ No newline at end of file