Skip to content

Commit

Permalink
Fix the vendor's e2e
Browse files Browse the repository at this point in the history
  • Loading branch information
jagudelo-gap committed Aug 26, 2024
1 parent f5bd27d commit 8e5ce73
Showing 1 changed file with 141 additions and 136 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"info": {
"_postman_id": "fdf70825-fa33-48e1-9f54-97c42903565c",
"_postman_id": "97521082-4124-44ad-ab08-aaf5c30ebd73",
"name": "Admin API E2E 2.0 - Sorting and Filtering - Vendor",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
"_exporter_id": "5260609"
"_exporter_id": "37902114"
},
"item": [
{
Expand All @@ -26,7 +26,10 @@
"\r",
"pm.test(\"GET Vendors: Response result is ordered by Company asc\", function () {\r",
" const results = pm.response.json();\r",
" var expectedSortedOrder = _.orderBy(results, [vendor => vendor.company.toLowerCase()],['asc']);\r",
" const strSortByProperty = pm.variables.get('sortByProperty');\r",
" eval(strSortByProperty);\r",
" let expectedSortedOrder = sortByProperty(results, 'company');\r",
" // var expectedSortedOrder = _.orderBy(results, [vendor => vendor.company.toLowerCase()],['asc']);\r",
" \r",
" pm.expect(results).to.eql(expectedSortedOrder);\r",
"});\r",
Expand Down Expand Up @@ -109,8 +112,10 @@
"\r",
"pm.test(\"GET Vendors: Response result is ordered by Company desc\", function () {\r",
" const results = pm.response.json();\r",
" var expectedSortedOrder = _.orderBy(results, [vendor => vendor.company.toLowerCase()],['desc']);\r",
" \r",
" // var expectedSortedOrder = _.orderBy(results, [vendor => vendor.company.toLowerCase()],['desc']);\r",
" const strSortByProperty = pm.variables.get('sortByProperty');\r",
" eval(strSortByProperty);\r",
" let expectedSortedOrder = sortByProperty(results, 'company', -1);\r",
" pm.expect(results).to.eql(expectedSortedOrder);\r",
"});\r",
""
Expand Down Expand Up @@ -366,8 +371,10 @@
"\r",
"pm.test(\"GET Vendors: Response result is ordered by Company asc\", function () {\r",
" const results = pm.response.json();\r",
" var expectedSortedOrder = _.orderBy(results, [vendor => vendor.company.toLowerCase()],['asc']);\r",
" \r",
" // var expectedSortedOrder = _.orderBy(results, [vendor => vendor.company.toLowerCase()],['asc']);\r",
" const strSortByProperty = pm.variables.get('sortByProperty');\r",
" eval(strSortByProperty);\r",
" let expectedSortedOrder = sortByProperty(results, 'company');\r",
" pm.expect(results).to.eql(expectedSortedOrder);\r",
"});\r",
""
Expand Down Expand Up @@ -453,7 +460,10 @@
"\r",
"pm.test(\"GET Vendors: Response result is ordered by Company desc\", function () {\r",
" const results = pm.response.json();\r",
" var expectedSortedOrder = _.orderBy(results, [vendor => vendor.company.toLowerCase()],['desc']);\r",
" // var expectedSortedOrder = _.orderBy(results, [vendor => vendor.company.toLowerCase()],['desc']);\r",
" const strSortByProperty = pm.variables.get('sortByProperty');\r",
" eval(strSortByProperty);\r",
" let expectedSortedOrder = sortByProperty(results, 'company', -1);\r",
" \r",
" pm.expect(results).to.eql(expectedSortedOrder);\r",
"});\r",
Expand Down Expand Up @@ -540,8 +550,10 @@
"\r",
"pm.test(\"GET Vendors: Response result is ordered by contactEmailAddress asc\", function () {\r",
" const results = pm.response.json();\r",
" var expectedSortedOrder = _.orderBy(results, [vendor => vendor.contactEmailAddress.toLowerCase()],['asc']);\r",
" \r",
" // var expectedSortedOrder = _.orderBy(results, [vendor => vendor.contactEmailAddress.toLowerCase()],['asc']);\r",
" const strSortByProperty = pm.variables.get('sortByProperty');\r",
" eval(strSortByProperty);\r",
" let expectedSortedOrder = sortByProperty(results, 'contactEmailAddress');\r",
" pm.expect(results).to.eql(expectedSortedOrder);\r",
"});\r",
""
Expand Down Expand Up @@ -627,8 +639,10 @@
"\r",
"pm.test(\"GET Vendors: Response result is ordered by contactEmailAddress desc\", function () {\r",
" const results = pm.response.json();\r",
" var expectedSortedOrder = _.orderBy(results, [vendor => vendor.contactEmailAddress.toLowerCase()],['desc']);\r",
" \r",
" // var expectedSortedOrder = _.orderBy(results, [vendor => vendor.contactEmailAddress.toLowerCase()],['desc']);\r",
" const strSortByProperty = pm.variables.get('sortByProperty');\r",
" eval(strSortByProperty);\r",
" let expectedSortedOrder = sortByProperty(results, 'contactEmailAddress', -1);\r",
" pm.expect(results).to.eql(expectedSortedOrder);\r",
"});\r",
""
Expand Down Expand Up @@ -714,8 +728,10 @@
"\r",
"pm.test(\"GET Vendors: Response result is ordered by ContactName asc\", function () {\r",
" const results = pm.response.json();\r",
" var expectedSortedOrder = _.orderBy(results, [vendor => vendor.contactName.toLowerCase()],['asc']);\r",
" \r",
" // var expectedSortedOrder = _.orderBy(results, [vendor => vendor.contactName.toLowerCase()],['asc']);\r",
" const strSortByProperty = pm.variables.get('sortByProperty');\r",
" eval(strSortByProperty);\r",
" let expectedSortedOrder = sortByProperty(results, 'contactName');\r",
" pm.expect(results).to.eql(expectedSortedOrder);\r",
"});\r",
""
Expand Down Expand Up @@ -801,8 +817,10 @@
"\r",
"pm.test(\"GET Vendors: Response result is ordered by ContactName desc\", function () {\r",
" const results = pm.response.json();\r",
" var expectedSortedOrder = _.orderBy(results, [vendor => vendor.contactName.toLowerCase()],['desc']);\r",
" \r",
" // var expectedSortedOrder = _.orderBy(results, [vendor => vendor.contactName.toLowerCase()],['desc']);\r",
" const strSortByProperty = pm.variables.get('sortByProperty');\r",
" eval(strSortByProperty);\r",
" let expectedSortedOrder = sortByProperty(results, 'contactName', -1);\r",
" pm.expect(results).to.eql(expectedSortedOrder);\r",
"});\r",
""
Expand Down Expand Up @@ -888,8 +906,10 @@
"\r",
"pm.test(\"GET Vendors: Response result is ordered by CamespacePrefixes asc\", function () {\r",
" const results = pm.response.json();\r",
" var expectedSortedOrder = _.orderBy(results, [vendor => vendor.namespacePrefixes.toLowerCase()],['asc']);\r",
" \r",
" // var expectedSortedOrder = _.orderBy(results, [vendor => vendor.namespacePrefixes.toLowerCase()],['asc']);\r",
" const strSortByProperty = pm.variables.get('sortByProperty');\r",
" eval(strSortByProperty);\r",
" let expectedSortedOrder = sortByProperty(results, 'namespacePrefixes');\r",
" pm.expect(results).to.eql(expectedSortedOrder);\r",
"});\r",
""
Expand Down Expand Up @@ -975,8 +995,10 @@
"\r",
"pm.test(\"GET Vendors: Response result is ordered by NamespacePrefixes desc\", function () {\r",
" const results = pm.response.json();\r",
" var expectedSortedOrder = _.orderBy(results, [vendor => vendor.namespacePrefixes.toLowerCase()],['desc']);\r",
" \r",
" // var expectedSortedOrder = _.orderBy(results, [vendor => vendor.namespacePrefixes.toLowerCase()],['desc']);\r",
" const strSortByProperty = pm.variables.get('sortByProperty');\r",
" eval(strSortByProperty);\r",
" let expectedSortedOrder = sortByProperty(results, 'namespacePrefixes', -1);\r",
" pm.expect(results).to.eql(expectedSortedOrder);\r",
"});\r",
""
Expand Down Expand Up @@ -1380,8 +1402,6 @@
"/// Authentication\r",
"/// -------\r",
"\r",
"let header = {};\r",
"\r",
"function generateClientSecret() {\r",
" const minLength = 32;\r",
" const maxLength = 128;\r",
Expand Down Expand Up @@ -1416,62 +1436,45 @@
" return array.join('');\r",
"}\r",
"\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",
"var guid = pm.variables.replaceIn('{{$guid}}');\r",
"var client_secret = generateClientSecret();\r",
"var header = {\r",
" 'Content-Type': 'application/x-www-form-urlencoded'\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",
"const registerRequest = {\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",
"\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",
"const tokenRequest = {\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",
"\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",
" });\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",
"/// -------\r",
"/// Vendors\r",
Expand All @@ -1495,53 +1498,62 @@
" return shuffleString(result);\r",
"}\r",
"\r",
"const createVendor = (company, namespacePrefixes, contactName, contactEmailAddress) => 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\": `${company}`, \"namespacePrefixes\": `${namespacePrefixes}`, \"contactName\": `${contactName}`, \"contactEmailAddress\": `${contactEmailAddress}` })\r",
"pm.sendRequest(registerRequest,\r",
" (err, res) => {\r",
" let error = res.json().error\r",
" if(error) {\r",
" throw res.json().error_description\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",
"(async function () {\r",
" await RegisterAndGetToken();\r",
"\r",
" header = {\r",
" 'Content-Type': 'application/json',\r",
" 'Authorization': `Bearer ${pm.collectionVariables.get(\"TOKEN\")}`\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",
" }\r",
"\r",
" let vendorsToDelete = [];\r",
" for (let i = 0; i < parseInt(pm.collectionVariables.get(\"VENDORSCOUNT\"), 10); i++) {\r",
" let company = generateAlphanumericString();\r",
" let namespacePrefixes = `uri://${generateAlphanumericString()}.org`;\r",
" let contactName = generateAlphanumericString();\r",
" let contactEmailAddress = `${generateAlphanumericString()}@test-ed-fi.org`;\r",
" pm.sendRequest(tokenRequest,\r",
" (err, res) => {\r",
" let error = res.json().error\r",
" if(error) {\r",
" throw res.json().error_description\r",
" }\r",
" pm.collectionVariables.set(\"TOKEN\", res.json().access_token)\r",
"\r",
" pm.collectionVariables.set(\"FILTERCOMPANY\", company);\r",
" pm.collectionVariables.set(\"FILTERNAMESPACEPREFIXES\", namespacePrefixes);\r",
" pm.collectionVariables.set(\"FILTERCONTACTNAME\", contactName);\r",
" pm.collectionVariables.set(\"FILTERCONTACTEMAILADDRESS\", contactEmailAddress);\r",
" header = {\r",
" 'Content-Type': 'application/json',\r",
" 'Authorization': `Bearer ${pm.collectionVariables.get(\"TOKEN\")}`\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",
" }\r",
" let totalToCreate = parseInt(pm.collectionVariables.get(\"VENDORSCOUNT\"), 10);\r",
" let vendorsToDelete = [];\r",
" for (let i = 0; i < totalToCreate; i++) {\r",
" let company = generateAlphanumericString();\r",
" let namespacePrefixes = `uri://${generateAlphanumericString()}.org`;\r",
" let contactName = generateAlphanumericString();\r",
" let contactEmailAddress = `${generateAlphanumericString()}@test-ed-fi.org`;\r",
"\r",
" vendorsToDelete.push(await createVendor(company, namespacePrefixes, contactName, contactEmailAddress).then(vendorId => vendorId));\r",
" }\r",
"\r",
" pm.collectionVariables.set(\"VENDORSTODELETE\", JSON.stringify(vendorsToDelete));\r",
"})();\r",
" pm.collectionVariables.set(\"FILTERCOMPANY\", company);\r",
" pm.collectionVariables.set(\"FILTERNAMESPACEPREFIXES\", namespacePrefixes);\r",
" pm.collectionVariables.set(\"FILTERCONTACTNAME\", contactName);\r",
" pm.collectionVariables.set(\"FILTERCONTACTEMAILADDRESS\", contactEmailAddress);\r",
" \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\": `${company}`, \"namespacePrefixes\": `${namespacePrefixes}`, \"contactName\": `${contactName}`, \"contactEmailAddress\": `${contactEmailAddress}` })\r",
" }\r",
" }, (err, res) => {\r",
" let location = res.headers.get('Location');\r",
" let matches = location.match(/(\\d+)/);\r",
" vendorId = parseInt(matches[0], 10);\r",
" // odsInstancesToDelete.push({id: odsInstanceId, name: name, instanceType: instanceType});\r",
" vendorsToDelete.push(vendorId);\r",
" });\r",
" }\r",
" pm.collectionVariables.set(\"VENDORSTODELETE\", JSON.stringify(vendorsToDelete));\r",
" });\r",
"});\r",
""
]
}
Expand All @@ -1563,26 +1575,19 @@
" pm.request.headers.upsert({key: 'Tenant', value: `${pm.variables.get(\"tenant1\")}` });\r",
"}\r",
"\r",
"function deleteVendorById(id) {\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",
" });\r",
"}\r",
"\r",
"function deleteVendors() {\r",
" let vendorsToDelete = JSON.parse(pm.variables.get(\"VENDORSTODELETE\"));\r",
" for (let i = 0; i < vendorsToDelete.length; i++) {\r",
" deleteVendorById(vendorsToDelete[i]);\r",
" }\r",
"let vendorsToDelete = JSON.parse(pm.variables.get(\"VENDORSTODELETE\"));\r",
"for (let i = 0; i < vendorsToDelete.length; i++) {\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",
" });\r",
"}\r",
"\r",
"deleteVendors();"
""
]
}
}
Expand Down

0 comments on commit 8e5ce73

Please sign in to comment.