diff --git a/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite AuthorizationTests Multiple Key-Secrets.postman_collection.json b/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite AuthorizationTests Multiple Key-Secrets.postman_collection.json index e3ca6a8ac..a08398ac8 100644 --- a/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite AuthorizationTests Multiple Key-Secrets.postman_collection.json +++ b/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite AuthorizationTests Multiple Key-Secrets.postman_collection.json @@ -2708,7 +2708,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" + "raw": "{\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/{{ParentOrContactCollectionName}}", @@ -2837,7 +2837,7 @@ ], "body": { "mode": "raw", - "raw": "{ \r\n \"firstName\":\"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\":\"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"{{ParentOrContactUniqueIdName}}\":\"{{known:{{scenarioId}}:parentUniqueId}}\"\r\n }\r\n" + "raw": "{ \r\n \"firstName\":\"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\":\"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"{{ParentOrContactUniqueIdPropertyName}}\":\"{{known:{{scenarioId}}:parentUniqueId}}\"\r\n }\r\n" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/{{ParentOrContactCollectionName}}/{{known:{{scenarioId}}:parentGuid}}", @@ -3176,7 +3176,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" + "raw": "{\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/{{ParentOrContactCollectionName}}", @@ -3239,7 +3239,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{known:{{scenarioId}}:parentUniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:studentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}" + "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{known:{{scenarioId}}:parentUniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:studentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/{{StudentParentOrContactAssociationCollectionName}}", @@ -3479,7 +3479,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:secondParentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:secondParentFirstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:secondParentLastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:secondParentsexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" + "raw": "{\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:secondParentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:secondParentFirstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:secondParentLastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:secondParentsexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/{{ParentOrContactCollectionName}}", @@ -3542,7 +3542,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{known:{{scenarioId}}:secondParentUniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:secondStudentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}" + "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{known:{{scenarioId}}:secondParentUniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:secondStudentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/{{StudentParentOrContactAssociationCollectionName}}", @@ -3779,7 +3779,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:thirdParentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:thirdParentFirstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:thirdParentLastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:thirdParentSexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" + "raw": "{\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:thirdParentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:thirdParentFirstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:thirdParentLastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:thirdParentSexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/{{ParentOrContactCollectionName}}", @@ -3842,7 +3842,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{known:{{scenarioId}}:thirdParentUniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:thirdStudentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}" + "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{known:{{scenarioId}}:thirdParentUniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:thirdStudentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/{{StudentParentOrContactAssociationCollectionName}}", @@ -4256,7 +4256,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" + "raw": "{\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/{{ParentOrContactCollectionName}}", @@ -4319,7 +4319,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{known:{{scenarioId}}:parentUniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:studentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}" + "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{known:{{scenarioId}}:parentUniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:studentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/{{StudentParentOrContactAssociationCollectionName}}", @@ -4556,7 +4556,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:secondParentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:secondParentFirstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:secondParentLastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:secondParentsexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" + "raw": "{\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:secondParentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:secondParentFirstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:secondParentLastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:secondParentsexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/{{ParentOrContactCollectionName}}", @@ -4619,7 +4619,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{known:{{scenarioId}}:secondParentUniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:secondStudentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}" + "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{known:{{scenarioId}}:secondParentUniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:secondStudentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/{{StudentParentOrContactAssociationCollectionName}}", @@ -5074,7 +5074,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:parentFirstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:parentLastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:parentSexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" + "raw": "{\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:parentFirstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:parentLastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:parentSexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/{{ParentOrContactCollectionName}}", @@ -5138,7 +5138,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{known:{{scenarioId}}:parentUniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:studentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}" + "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{known:{{scenarioId}}:parentUniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:studentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/{{StudentParentOrContactAssociationCollectionName}}", @@ -5374,7 +5374,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:secondParentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:secondParentFirstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:secondParentLastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:secondParentsexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" + "raw": "{\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:secondParentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:secondParentFirstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:secondParentLastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:secondParentsexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/{{ParentOrContactCollectionName}}", @@ -5437,7 +5437,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{known:{{scenarioId}}:secondParentUniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:secondStudentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}" + "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{known:{{scenarioId}}:secondParentUniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:secondStudentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/{{StudentParentOrContactAssociationCollectionName}}", @@ -5823,7 +5823,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:parentFirstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:parentLastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:parentSexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" + "raw": "{\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:parentFirstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:parentLastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:parentSexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/{{ParentOrContactCollectionName}}", @@ -5887,7 +5887,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{known:{{scenarioId}}:parentUniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:studentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}" + "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{known:{{scenarioId}}:parentUniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:studentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/{{StudentParentOrContactAssociationCollectionName}}", @@ -6203,7 +6203,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:parentFirstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:parentLastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:parentSexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" + "raw": "{\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:parentFirstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:parentLastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:parentSexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/{{ParentOrContactCollectionName}}", @@ -12214,11 +12214,13 @@ "let ParentOrContactProperName = pm.environment.get(\"ParentOrContactProperName\");", "let StudentParentOrContactAssociationCollectionName = \"Student\" + ParentOrContactProperName + \"Associations\";", "let ParentOrContactUniqueIdName = ParentOrContactProperName + \"UniqueId\";", + "let ParentOrContactUniqueIdPropertyName = ParentOrContactProperName[0].toLowerCase() + ParentOrContactProperName.substring(1) + \"UniqueId\";", "let ParentOrContactName = ParentOrContactProperName.toLowerCase();", "let ParentOrContactCollectionName = ParentOrContactName + \"s\";", "", "pm.environment.set(\"StudentParentOrContactAssociationCollectionName\", StudentParentOrContactAssociationCollectionName);", "pm.environment.set(\"ParentOrContactUniqueIdName\", ParentOrContactUniqueIdName);", + "pm.environment.set(\"ParentOrContactUniqueIdPropertyName\", ParentOrContactUniqueIdPropertyName);", "pm.environment.set(\"ParentOrContactName\", ParentOrContactName);", "pm.environment.set(\"ParentOrContactCollectionName\", ParentOrContactCollectionName);", "", diff --git a/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite AuthorizationTests.postman_collection.json b/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite AuthorizationTests.postman_collection.json index 754e772be..b1aa58921 100644 --- a/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite AuthorizationTests.postman_collection.json +++ b/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite AuthorizationTests.postman_collection.json @@ -3803,24 +3803,77 @@ "name": "GetAll_Assessment_ShouldUseNHibernateFilters", "item": [ { - "name": "GetAll_Assessment_ShouldUseNHibernateFilters", + "name": "Get Assessments (default client)", "event": [ { "listen": "test", "script": { "exec": [ - " pm.test(\"Status code is 200\", () => {", - " pm.expect(pm.response.code).to.equal(200);", + "pm.test(\"Status code is 200\", () => {", + " pm.expect(pm.response.code).to.equal(200);", "});", "", "pm.test(\"Should return some rows of assessment\", () => {", - " const responseItems = pm.response.json();", - " pm.expect(responseItems.length).to.be.greaterThan(0);", + " const responseItems = pm.response.json();", + " pm.expect(responseItems.length).to.be.greaterThan(0);", + "});", + "" + ], + "type": "text/javascript", + "packages": {} + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {} + } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/assessments", + "host": [ + "{{ApiBaseUrl}}" + ], + "path": [ + "data", + "v3", + "ed-fi", + "assessments" + ] + } + }, + "response": [] + }, + { + "name": "Get Assessments (other namespace client)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", () => {", + " pm.expect(pm.response.code).to.equal(200);", "});", "", + "pm.test(\"All items returned should have namespace starting with 'uri://other.org/'\", () => {", + " const items = pm.response.json();", + "", + " items.forEach((item) => {", + " pm.expect(item.namespace.startsWith(\"uri://other.org/\")).to.be.true;", + " });", + "});", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } }, { @@ -3834,6 +3887,16 @@ } ], "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{AccessToken_Other_Namespace}}", + "type": "string" + } + ] + }, "method": "GET", "header": [], "url": { @@ -3857,22 +3920,23 @@ "name": "GetAll_AssessmentItem_ShouldUseNHibernateFilters", "item": [ { - "name": "GetAll_AssessmentItem_ShouldUseNHibernateFilters", + "name": "Get AssessmentItems (default client)", "event": [ { "listen": "test", "script": { "exec": [ - " pm.test(\"Status code is 200\", () => {", - " pm.expect(pm.response.code).to.equal(200);", + "pm.test(\"Status code is 200\", () => {", + " pm.expect(pm.response.code).to.equal(200);", "});", "", "pm.test(\"Should return some rows of assessmentitems\", () => {", - " const responseItems = pm.response.json();", - " pm.expect(responseItems.length).to.be.greaterThan(0);", + " const responseItems = pm.response.json();", + " pm.expect(responseItems.length).to.be.greaterThan(0);", "});" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } }, { @@ -3881,7 +3945,8 @@ "exec": [ "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -3902,6 +3967,69 @@ } }, "response": [] + }, + { + "name": "Get AssessmentItems (other namespace client)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", () => {", + " pm.expect(pm.response.code).to.equal(200);", + "});", + "", + "pm.test(\"All items returned should have namespace starting with 'uri://other.org/'\", () => {", + " const items = pm.response.json();", + "", + " items.forEach((item) => {", + " pm.expect(item.assessmentReference.namespace.startsWith(\"uri://other.org/\")).to.be.true;", + " });", + "});", + "" + ], + "type": "text/javascript", + "packages": {} + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {} + } + } + ], + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{AccessToken_Other_Namespace}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/assessmentitems", + "host": [ + "{{ApiBaseUrl}}" + ], + "path": [ + "data", + "v3", + "ed-fi", + "assessmentitems" + ] + } + }, + "response": [] } ] }, @@ -3909,24 +4037,250 @@ "name": "GetAll_Descriptors_ShouldUseNHibernateFilters", "item": [ { - "name": "GetAll_Descriptors_ShouldUseNHibernateFilters", + "name": "Get descriptors (default client)", "event": [ { "listen": "test", "script": { "exec": [ - " pm.test(\"Status code is 200\", () => {", - " pm.expect(pm.response.code).to.equal(200);", + "pm.test(\"Status code is 200\", () => {", + " pm.expect(pm.response.code).to.equal(200);", "});", "", - "pm.test(\"Should return some rows of academicsubjectdescriptors\", () => {", - " const responseItems = pm.response.json();", - " pm.expect(responseItems.length).to.be.greaterThan(0);", - " ", + "// There are no restrictions on reading descriptors", + "pm.test(\"Should return some items\", () => {", + " const responseItems = pm.response.json();", + " pm.expect(responseItems.length).to.be.greaterThan(0);", + "});" + ], + "type": "text/javascript", + "packages": {} + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/academicsubjectdescriptors", + "host": [ + "{{ApiBaseUrl}}" + ], + "path": [ + "data", + "v3", + "ed-fi", + "academicsubjectdescriptors" + ] + } + }, + "response": [] + }, + { + "name": "Get descriptors (other namespace client)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", () => {", + " pm.expect(pm.response.code).to.equal(200);", + "});", + "", + "// There are no restrictions on reading descriptors", + "pm.test(\"Should return some items\", () => {", + " const responseItems = pm.response.json();", + " pm.expect(responseItems.length).to.be.greaterThan(0);", "});" ], + "type": "text/javascript", + "packages": {} + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {} + } + } + ], + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{AccessToken_Other_Namespace}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/academicsubjectdescriptors", + "host": [ + "{{ApiBaseUrl}}" + ], + "path": [ + "data", + "v3", + "ed-fi", + "academicsubjectdescriptors" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "GetAll_GradebookEntry_ShouldUseNHibernateFilters", + "item": [ + { + "name": "Get GradebookEntries (default client)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", () => {", + " pm.expect(pm.response.code).to.equal(200);", + "});", + "", + "pm.test(\"Should return some rows\", () => {", + " const responseItems = pm.response.json();", + " pm.expect(responseItems.length).to.be.greaterThan(0);", + "});" + ], + "type": "text/javascript", + "packages": {} + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], "type": "text/javascript" } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/gradebookentries", + "host": [ + "{{ApiBaseUrl}}" + ], + "path": [ + "data", + "v3", + "ed-fi", + "gradebookentries" + ] + } + }, + "response": [] + }, + { + "name": "Get GradebookEntries (other namespace client)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", () => {", + " pm.expect(pm.response.code).to.equal(200);", + "});", + "", + "pm.test(\"Should return no rows\", () => {", + " const responseItems = pm.response.json();", + " pm.expect(responseItems.length).to.equal(0);", + "});" + ], + "type": "text/javascript", + "packages": {} + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript", + "packages": {} + } + } + ], + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{AccessToken_Other_Namespace}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/gradebookentries", + "host": [ + "{{ApiBaseUrl}}" + ], + "path": [ + "data", + "v3", + "ed-fi", + "gradebookentries" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "GetAll_ObjectiveAssessment_ShouldUseNHibernateFilters", + "item": [ + { + "name": "Get ObjectiveAssessments (default client)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", () => {", + " pm.expect(pm.response.code).to.equal(200);", + "});", + "", + "pm.test(\"Should return some items\", () => {", + " const responseItems = pm.response.json();", + " pm.expect(responseItems.length).to.be.greaterThan(0);", + "});" + ], + "type": "text/javascript", + "packages": {} + } }, { "listen": "prerequest", @@ -3942,7 +4296,7 @@ "method": "GET", "header": [], "url": { - "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/academicsubjectdescriptors", + "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/objectiveassessments", "host": [ "{{ApiBaseUrl}}" ], @@ -3950,34 +4304,34 @@ "data", "v3", "ed-fi", - "academicsubjectdescriptors" + "objectiveassessments" ] } }, "response": [] - } - ] - }, - { - "name": "GetAll_GradebookEntry_ShouldUseNHibernateFilters", - "item": [ + }, { - "name": "GetAll_GradebookEntry_ShouldUseNHibernateFilters", + "name": "Get ObjectiveAssessments (other namespace client)", "event": [ { "listen": "test", "script": { "exec": [ - " pm.test(\"Status code is 200\", () => {", - " pm.expect(pm.response.code).to.equal(200);", + "pm.test(\"Status code is 200\", () => {", + " pm.expect(pm.response.code).to.equal(200);", "});", "", - "pm.test(\"Should return some rows of gradebookentries\", () => {", - " const responseItems = pm.response.json();", - " pm.expect(responseItems.length).to.be.greaterThan(0);", - "});" + "pm.test(\"All items returned should have namespace starting with 'uri://other.org/'\", () => {", + " const items = pm.response.json();", + "", + " items.forEach((item) => {", + " pm.expect(item.assessmentReference.namespace.startsWith(\"uri://other.org/\")).to.be.true;", + " });", + "});", + "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } }, { @@ -3986,15 +4340,26 @@ "exec": [ "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{AccessToken_Other_Namespace}}", + "type": "string" + } + ] + }, "method": "GET", "header": [], "url": { - "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/gradebookentries", + "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/objectiveassessments", "host": [ "{{ApiBaseUrl}}" ], @@ -4002,7 +4367,7 @@ "data", "v3", "ed-fi", - "gradebookentries" + "objectiveassessments" ] } }, @@ -4011,10 +4376,10 @@ ] }, { - "name": "GetAll_ObjectiveAssessment_ShouldUseNHibernateFilters", + "name": "GetAll_StudentAssessment_ShouldUseNHibernateFilters", "item": [ { - "name": "GetAll_ObjectiveAssessment_ShouldUseNHibernateFilters", + "name": "Get StudentAssessments (default client)", "event": [ { "listen": "test", @@ -4024,12 +4389,13 @@ " pm.expect(pm.response.code).to.equal(200);", "});", "", - "pm.test(\"Should return some rows of academicsubjectdescriptors\", () => {", + "pm.test(\"Should return some items\", () => {", " const responseItems = pm.response.json();", " pm.expect(responseItems.length).to.be.greaterThan(0);", "});" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } }, { @@ -4038,7 +4404,8 @@ "exec": [ "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -4046,7 +4413,7 @@ "method": "GET", "header": [], "url": { - "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/objectiveassessments", + "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/studentassessments", "host": [ "{{ApiBaseUrl}}" ], @@ -4054,19 +4421,14 @@ "data", "v3", "ed-fi", - "objectiveassessments" + "studentassessments" ] } }, "response": [] - } - ] - }, - { - "name": "GetAll_StudentAssessment_ShouldUseNHibernateFilters", - "item": [ + }, { - "name": "GetAll_StudentAssessment_ShouldUseNHibernateFilters", + "name": "Get StudentAssessments (other namespace client)", "event": [ { "listen": "test", @@ -4076,12 +4438,17 @@ " pm.expect(pm.response.code).to.equal(200);", "});", "", - "pm.test(\"Should return some rows of academicsubjectdescriptors\", () => {", - " const responseItems = pm.response.json();", - " pm.expect(responseItems.length).to.be.greaterThan(0);", - "});" + "pm.test(\"All items returned should have namespace starting with 'uri://other.org/'\", () => {", + " const items = pm.response.json();", + "", + " items.forEach((item) => {", + " pm.expect(item.assessmentReference.namespace.startsWith(\"uri://other.org/\")).to.be.true;", + " });", + "});", + "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } }, { @@ -4090,11 +4457,22 @@ "exec": [ "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{AccessToken_Other_Namespace}}", + "type": "string" + } + ] + }, "method": "GET", "header": [], "url": { @@ -4169,7 +4547,6 @@ "header": [ { "key": "Content-Type", - "name": "Content-Type", "value": "application/json", "type": "text" } @@ -4251,7 +4628,6 @@ "header": [ { "key": "Content-Type", - "name": "Content-Type", "value": "application/json", "type": "text" } @@ -4487,7 +4863,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", + "raw": "{\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", "options": { "raw": { "language": "json" @@ -4607,7 +4983,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", + "raw": "{\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", "options": { "raw": { "language": "json" @@ -4833,7 +5209,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", + "raw": "{\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", "options": { "raw": { "language": "json" @@ -4891,7 +5267,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{known:{{scenarioId}}:parentUniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:studentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}", + "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{known:{{scenarioId}}:parentUniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:studentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}", "options": { "raw": { "language": "json" @@ -4953,7 +5329,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", + "raw": "{\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", "options": { "raw": { "language": "json" @@ -5179,7 +5555,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", + "raw": "{\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", "options": { "raw": { "language": "json" @@ -5237,7 +5613,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{known:{{scenarioId}}:parentUniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:studentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}", + "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{known:{{scenarioId}}:parentUniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:studentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}", "options": { "raw": { "language": "json" @@ -5378,7 +5754,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", + "raw": "{\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", "options": { "raw": { "language": "json" @@ -5496,7 +5872,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", + "raw": "{\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", "options": { "raw": { "language": "json" @@ -5575,7 +5951,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" + "raw": "{\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/{{ParentOrContactCollectionName}}", @@ -5645,7 +6021,7 @@ ], "body": { "mode": "raw", - "raw": "{ \r\n \"firstName\":\"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\":\"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"{{ParentOrContactUniqueIdName}}\":\"{{known:{{scenarioId}}:parentUniqueId}}\"\r\n }\r\n" + "raw": "{ \r\n \"firstName\":\"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\":\"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"{{ParentOrContactUniqueIdPropertyName}}\":\"{{known:{{scenarioId}}:parentUniqueId}}\"\r\n }\r\n" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/{{ParentOrContactCollectionName}}/{{known:{{scenarioId}}:parentGuid}}", @@ -5724,7 +6100,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", + "raw": "{\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", "options": { "raw": { "language": "json" @@ -7599,7 +7975,22 @@ "});\r", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "// Only run if Composites are available\r", + "if (!pm.environment.get('CompositesFeatureIsEnabled')) {\r", + " console.log('Skipping request because Composites feature is not enabled...');\r", + " pm.execution.skipRequest();\r", + "}" + ], + "type": "text/javascript", + "packages": {} } } ], @@ -7663,7 +8054,22 @@ "});\r", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "// Only run if Composites are available\r", + "if (!pm.environment.get('CompositesFeatureIsEnabled')) {\r", + " console.log('Skipping request because Composites feature is not enabled...');\r", + " pm.execution.skipRequest();\r", + "}" + ], + "type": "text/javascript", + "packages": {} } } ], @@ -7797,7 +8203,22 @@ "});\r", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "// Only run if Composites are available\r", + "if (!pm.environment.get('CompositesFeatureIsEnabled')) {\r", + " console.log('Skipping request because Composites feature is not enabled...');\r", + " pm.execution.skipRequest();\r", + "}" + ], + "type": "text/javascript", + "packages": {} } } ], @@ -7865,7 +8286,22 @@ "});\r", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "// Only run if Composites are available\r", + "if (!pm.environment.get('CompositesFeatureIsEnabled')) {\r", + " console.log('Skipping request because Composites feature is not enabled...');\r", + " pm.execution.skipRequest();\r", + "}" + ], + "type": "text/javascript", + "packages": {} } } ], @@ -7999,7 +8435,22 @@ "});\r", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "// Only run if Composites are available\r", + "if (!pm.environment.get('CompositesFeatureIsEnabled')) {\r", + " console.log('Skipping request because Composites feature is not enabled...');\r", + " pm.execution.skipRequest();\r", + "}" + ], + "type": "text/javascript", + "packages": {} } } ], @@ -8057,7 +8508,22 @@ "});\r", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "// Only run if Composites are available\r", + "if (!pm.environment.get('CompositesFeatureIsEnabled')) {\r", + " console.log('Skipping request because Composites feature is not enabled...');\r", + " pm.execution.skipRequest();\r", + "}" + ], + "type": "text/javascript", + "packages": {} } } ], @@ -8612,11 +9078,109 @@ }, "response": [] } + ], + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "packages": {}, + "exec": [ + "// Only run if Change Queries feature is available\r", + "if (!pm.environment.get('ChangeQueriesFeatureIsEnabled')) {\r", + " console.log('Skipping request because Change Queries feature is not enabled...');\r", + " pm.execution.skipRequest();\r", + "}" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "packages": {}, + "exec": [ + "" + ] + } + } ] }, { "name": "Teardown", "item": [ + { + "name": "Delete DisciplineAction for 001", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Response is 204\", () => {\r", + " pm.expect(pm.response.code).to.equal(204); \r", + "});\r", + "" + ], + "type": "text/javascript", + "packages": {} + } + } + ], + "request": { + "method": "DELETE", + "header": [], + "url": { + "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/disciplineActions/{{known:disciplineAction:001:id}}", + "host": [ + "{{ApiBaseUrl}}" + ], + "path": [ + "data", + "v3", + "ed-fi", + "disciplineActions", + "{{known:disciplineAction:001:id}}" + ] + } + }, + "response": [] + }, + { + "name": "Delete DisciplineAction for 044", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Response is 204\", () => {\r", + " pm.expect(pm.response.code).to.equal(204); \r", + "});\r", + "" + ], + "type": "text/javascript", + "packages": {} + } + } + ], + "request": { + "method": "DELETE", + "header": [], + "url": { + "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/disciplineActions/{{known:disciplineAction:044:id}}", + "host": [ + "{{ApiBaseUrl}}" + ], + "path": [ + "data", + "v3", + "ed-fi", + "disciplineActions", + "{{known:disciplineAction:044:id}}" + ] + } + }, + "response": [] + }, { "name": "Delete studentDisciplineIncidentAssociation for 044", "event": [ @@ -8963,7 +9527,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"gradebookEntryIdentifier\": \"Other-gradebookEntry\",\r\n \"Namespace\": \"uri://other.org/PostmanTesting\",\r\n \"dateAssigned\": \"2021-08-23\",\r\n \"title\": \"Source System Namespace Authorization Testing\",\r\n \"learningStandards\": [],\r\n \"sourcesectionidentifier\": \"{{known:sectionReference:sectionIdentifier}}\",\r\n \"sectionReference\": {\r\n \"localCourseCode\": \"{{known:sectionReference:localCourseCode}}\",\r\n \"schoolId\": \"{{known:sectionReference:schoolId}}\",\r\n \"schoolYear\": \"{{known:sectionReference:schoolYear}}\",\r\n \"sectionIdentifier\": \"{{known:sectionReference:sectionIdentifier}}\",\r\n \"sessionName\": \"{{known:sectionReference:sessionName}}\"\r\n }\r\n}", + "raw": "{\r\n \"gradebookEntryIdentifier\": \"Other-gradebookEntry\",\r\n \"namespace\": \"uri://other.org/PostmanTesting\",\r\n \"dateAssigned\": \"2021-08-23\",\r\n \"title\": \"Source System Namespace Authorization Testing\",\r\n \"learningStandards\": [],\r\n \"sourceSectionIdentifier\": \"{{known:sectionReference:sectionIdentifier}}\",\r\n \"sectionReference\": {\r\n \"localCourseCode\": \"{{known:sectionReference:localCourseCode}}\",\r\n \"schoolId\": \"{{known:sectionReference:schoolId}}\",\r\n \"schoolYear\": \"{{known:sectionReference:schoolYear}}\",\r\n \"sectionIdentifier\": \"{{known:sectionReference:sectionIdentifier}}\",\r\n \"sessionName\": \"{{known:sectionReference:sessionName}}\"\r\n }\r\n}", "options": { "raw": { "language": "json" @@ -9007,7 +9571,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"gradebookEntryIdentifier\": \"NS-with-prefix-test\",\r\n \"Namespace\": \"uri://ed-fi.org/PostmanTesting\",\r\n \"dateAssigned\": \"2021-08-23\",\r\n \"title\": \"Source System Namespace Authorization Testing\",\r\n \"learningStandards\": [],\r\n \"sourcesectionidentifier\": \"{{known:sectionReference:sectionIdentifier}}\", \r\n \"sectionReference\": {\r\n \"localCourseCode\": \"{{known:sectionReference:localCourseCode}}\",\r\n \"schoolId\": \"{{known:sectionReference:schoolId}}\",\r\n \"schoolYear\": \"{{known:sectionReference:schoolYear}}\",\r\n \"sectionIdentifier\": \"{{known:sectionReference:sectionIdentifier}}\",\r\n \"sessionName\": \"{{known:sectionReference:sessionName}}\"\r\n }\r\n}", + "raw": "{\r\n \"gradebookEntryIdentifier\": \"NS-with-prefix-test\",\r\n \"namespace\": \"uri://ed-fi.org/PostmanTesting\",\r\n \"dateAssigned\": \"2021-08-23\",\r\n \"title\": \"Source System Namespace Authorization Testing\",\r\n \"learningStandards\": [],\r\n \"sourceSectionIdentifier\": \"{{known:sectionReference:sectionIdentifier}}\", \r\n \"sectionReference\": {\r\n \"localCourseCode\": \"{{known:sectionReference:localCourseCode}}\",\r\n \"schoolId\": \"{{known:sectionReference:schoolId}}\",\r\n \"schoolYear\": \"{{known:sectionReference:schoolYear}}\",\r\n \"sectionIdentifier\": \"{{known:sectionReference:sectionIdentifier}}\",\r\n \"sessionName\": \"{{known:sectionReference:sessionName}}\"\r\n }\r\n}", "options": { "raw": { "language": "json" @@ -9049,7 +9613,7 @@ " const problemDetails = pm.response.json();\r", "\r", " pm.expect(problemDetails.type).to.equal(\"urn:ed-fi:api:security:authorization:namespace:access-denied:namespace-mismatch\");\r", - " pm.expect(problemDetails.detail).to.match(/^Access to the requested data could not be authorized. The 'Namespace' value of the data does not start with any of the caller's associated namespace prefixes/);\r", + " pm.expect(problemDetails.detail).to.match(/^Access to the requested data could not be authorized. The (proposed )?'Namespace' value of the data does not start with any of the caller's associated namespace prefixes/);\r", " pm.expect(problemDetails.errors).to.be.undefined;\r", "});\r", "" @@ -9064,7 +9628,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"gradebookEntryIdentifier\": \"NS-with-prefix-test\",\r\n \"Namespace\": \"uri://other.org/PostmanTesting\",\r\n \"dateAssigned\": \"2021-08-23\",\r\n \"title\": \"Source System Namespace Authorization Test\",\r\n \"sourceSectionIdentifier\": \"{{$randomBankAccount}}\",\r\n \"learningStandards\": [],\r\n \"sectionReference\": {\r\n \"localCourseCode\": \"{{known:sectionReference:localCourseCode}}\",\r\n \"schoolId\": \"{{known:sectionReference:schoolId}}\",\r\n \"schoolYear\": \"{{known:sectionReference:schoolYear}}\",\r\n \"sectionIdentifier\": \"{{known:sectionReference:sectionIdentifier}}\",\r\n \"sessionName\": \"{{known:sectionReference:sessionName}}\"\r\n }\r\n}", + "raw": "{\r\n \"gradebookEntryIdentifier\": \"NS-with-prefix-test\",\r\n \"namespace\": \"uri://other.org/PostmanTesting\",\r\n \"dateAssigned\": \"2021-08-23\",\r\n \"title\": \"Source System Namespace Authorization Test\",\r\n \"sourceSectionIdentifier\": \"{{$randomBankAccount}}\",\r\n \"learningStandards\": [],\r\n \"sectionReference\": {\r\n \"localCourseCode\": \"{{known:sectionReference:localCourseCode}}\",\r\n \"schoolId\": \"{{known:sectionReference:schoolId}}\",\r\n \"schoolYear\": \"{{known:sectionReference:schoolYear}}\",\r\n \"sectionIdentifier\": \"{{known:sectionReference:sectionIdentifier}}\",\r\n \"sessionName\": \"{{known:sectionReference:sessionName}}\"\r\n }\r\n}", "options": { "raw": { "language": "json" @@ -9118,7 +9682,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"gradebookEntryIdentifier\": \"Other-gradebookEntry\",\r\n \"Namespace\": \"uri://other.org/PostmanTesting\",\r\n \"dateAssigned\": \"1900-01-01\",\r\n \"title\": \"Wrong Namespace\",\r\n \"learningStandards\": [],\r\n \"sectionReference\": {\r\n \"localCourseCode\": \"{{known:sectionReference:localCourseCode}}\",\r\n \"schoolId\": \"{{known:sectionReference:schoolId}}\",\r\n \"schoolYear\": \"{{known:sectionReference:schoolYear}}\",\r\n \"sectionIdentifier\": \"{{known:sectionReference:sectionIdentifier}}\",\r\n \"sessionName\": \"{{known:sectionReference:sessionName}}\"\r\n },\r\n \"sourceSectionIdentifier\": \"{{$randomBankAccount}}\"\r\n}", + "raw": "{\r\n \"gradebookEntryIdentifier\": \"Other-gradebookEntry\",\r\n \"namespace\": \"uri://other.org/PostmanTesting\",\r\n \"dateAssigned\": \"1900-01-01\",\r\n \"title\": \"Wrong Namespace\",\r\n \"learningStandards\": [],\r\n \"sectionReference\": {\r\n \"localCourseCode\": \"{{known:sectionReference:localCourseCode}}\",\r\n \"schoolId\": \"{{known:sectionReference:schoolId}}\",\r\n \"schoolYear\": \"{{known:sectionReference:schoolYear}}\",\r\n \"sectionIdentifier\": \"{{known:sectionReference:sectionIdentifier}}\",\r\n \"sessionName\": \"{{known:sectionReference:sessionName}}\"\r\n },\r\n \"sourceSectionIdentifier\": \"{{$randomBankAccount}}\"\r\n}", "options": { "raw": { "language": "json" @@ -9500,7 +10064,9 @@ " const problemDetails = pm.response.json();\r", "\r", " pm.expect(problemDetails.type).to.equal(\"urn:ed-fi:api:security:authorization:namespace:access-denied:namespace-mismatch\");\r", - " pm.expect(problemDetails.detail).to.match(/^Access to the requested data could not be authorized. The 'Namespace' value of the data does not start with any of the caller's associated namespace prefixes/);\r", + "\r", + " pm.expect(problemDetails.detail).to.match(/^Access to the requested data could not be authorized. The (proposed )?'Namespace' value of the data does not start with any of the caller's associated namespace prefixes/);\r", + "\r", " pm.expect(problemDetails.errors).to.be.undefined;\r", "});" ], @@ -12869,11 +13435,13 @@ "let ParentOrContactProperName = pm.environment.get(\"ParentOrContactProperName\");", "let StudentParentOrContactAssociationCollectionName = \"Student\" + ParentOrContactProperName + \"Associations\";", "let ParentOrContactUniqueIdName = ParentOrContactProperName + \"UniqueId\";", + "let ParentOrContactUniqueIdPropertyName = ParentOrContactProperName[0].toLowerCase() + ParentOrContactProperName.substring(1) + \"UniqueId\";", "let ParentOrContactName = ParentOrContactProperName.toLowerCase();", "let ParentOrContactCollectionName = ParentOrContactName + \"s\";", "", "pm.environment.set(\"StudentParentOrContactAssociationCollectionName\", StudentParentOrContactAssociationCollectionName);", "pm.environment.set(\"ParentOrContactUniqueIdName\", ParentOrContactUniqueIdName);", + "pm.environment.set(\"ParentOrContactUniqueIdPropertyName\", ParentOrContactUniqueIdPropertyName);", "pm.environment.set(\"ParentOrContactName\", ParentOrContactName);", "pm.environment.set(\"ParentOrContactCollectionName\", ParentOrContactCollectionName);", "", diff --git a/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite GetByExample Tests.postman_collection.json b/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite GetByExample Tests.postman_collection.json index 10d3bd53a..0198b46b1 100644 --- a/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite GetByExample Tests.postman_collection.json +++ b/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite GetByExample Tests.postman_collection.json @@ -230,7 +230,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:FirstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:LastSurname}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", + "raw": "{\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:FirstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:LastSurname}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", "options": { "raw": { "language": "json" @@ -300,7 +300,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:FirstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:LastSurname}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", + "raw": "{\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:FirstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:LastSurname}}\",\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", "options": { "raw": { "language": "json" @@ -348,7 +348,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{known:{{scenarioId}}:parent1UniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:studentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}", + "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{known:{{scenarioId}}:parent1UniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:studentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}", "options": { "raw": { "language": "json" @@ -396,7 +396,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{known:{{scenarioId}}:parent2UniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:studentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}", + "raw": "{\r\n \"{{ParentOrContactName}}Reference\": {\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{known:{{scenarioId}}:parent2UniqueId}}\"\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"{{known:{{scenarioId}}:studentUniqueId}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"bedtimeReader\": true,\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ]\r\n }\r\n }\r\n}", "options": { "raw": { "language": "json" @@ -709,11 +709,11 @@ "\r", "// Get a valid id for the english descriptor\r", "englishDescriptor = __.find(responseItems, x => __.isEqual(x.codeValue, 'English'));\r", - "pm.environment.set('supplied:english_id', englishDescriptor.id);\r", + "pm.environment.set('known:english_id', englishDescriptor.id);\r", "\r", "const tpdm_namespace = pm.environment.get('supplied:tpdm_namespace');\r", "const science_codeValue = pm.environment.get('supplied:codeValue');\r", - "const english_id = pm.environment.get('supplied:english_id');\r", + "const english_id = englishDescriptor.id;\r", "const lifeAndPhysicalSciences_description = pm.environment.get('supplied:description');\r", "const other_shortDescription = pm.environment.get('supplied:shortDescription');\r", "\r", @@ -995,7 +995,7 @@ "method": "GET", "header": [], "url": { - "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/academicSubjectDescriptors?id={{supplied:english_id}}", + "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/academicSubjectDescriptors?id={{known:english_id}}", "host": [ "{{ApiBaseUrl}}" ], @@ -1008,7 +1008,7 @@ "query": [ { "key": "id", - "value": "{{supplied:english_id}}" + "value": "{{known:english_id}}" } ] } @@ -2434,12 +2434,14 @@ "// Set variables related to data standard specific contact/parent variablility ", "let ParentOrContactProperName = pm.environment.get(\"ParentOrContactProperName\");", "let StudentParentOrContactAssociationCollectionName = \"Student\" + ParentOrContactProperName + \"Associations\";", + "let ParentOrContactUniqueIdPropertyName = ParentOrContactProperName[0].toLowerCase() + ParentOrContactProperName.substring(1) + \"UniqueId\";", "let ParentOrContactUniqueIdName = ParentOrContactProperName + \"UniqueId\";", "let ParentOrContactName = ParentOrContactProperName.toLowerCase();", "let ParentOrContactCollectionName = ParentOrContactName + \"s\";", "", "pm.environment.set(\"StudentParentOrContactAssociationCollectionName\", StudentParentOrContactAssociationCollectionName);", "pm.environment.set(\"ParentOrContactUniqueIdName\", ParentOrContactUniqueIdName);", + "pm.environment.set(\"ParentOrContactUniqueIdPropertyName\", ParentOrContactUniqueIdPropertyName);", "pm.environment.set(\"ParentOrContactName\", ParentOrContactName);", "pm.environment.set(\"ParentOrContactCollectionName\", ParentOrContactCollectionName);", "", diff --git a/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite ResponseTests.postman_collection.json b/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite ResponseTests.postman_collection.json index 3bdc780b0..8481fdde3 100644 --- a/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite ResponseTests.postman_collection.json +++ b/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite ResponseTests.postman_collection.json @@ -33,12 +33,12 @@ "pm.test(\"Should include a server-generated correlation id in the error response\", () => {\r", " const problemDetails = pm.response.json();\r", "\r", - " pm.expect(problemDetails.correlationId).to.exist;\r", - "\r", - " pm.expect(problemDetails.errors[0]).to.equal(\"Unexpected character encountered while parsing value: }. Path '', line 0, position 0.\");\r", + " // Postman tests provide a 12-character correlation id. Make sure that is not the one provided in the response.\r", + " pm.expect(problemDetails.correlationId).to.have.length.not.equal(12);\r", "});" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -47,7 +47,7 @@ "header": [], "body": { "mode": "raw", - "raw": "}", + "raw": "{}", "options": { "raw": { "language": "json" @@ -93,12 +93,11 @@ " const problemDetails = pm.response.json();\r", "\r", " pm.expect(problemDetails.correlationId).to.equal(\"abcd-in-querystring\");\r", - "\r", - " pm.expect(problemDetails.errors[0]).to.equal(\"Unexpected character encountered while parsing value: }. Path '', line 0, position 0.\");\r", "});\r", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -107,7 +106,7 @@ "header": [], "body": { "mode": "raw", - "raw": "}", + "raw": "{}", "options": { "raw": { "language": "json" @@ -159,12 +158,11 @@ " const problemDetails = pm.response.json();\r", "\r", " pm.expect(problemDetails.correlationId).to.equal(\"abcd-in-header\");\r", - "\r", - " pm.expect(problemDetails.errors[0]).to.equal(\"Unexpected character encountered while parsing value: }. Path '', line 0, position 0.\");\r", "});\r", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -179,7 +177,7 @@ ], "body": { "mode": "raw", - "raw": "}", + "raw": "{}", "options": { "raw": { "language": "json" @@ -221,16 +219,15 @@ " pm.expect(pm.response.code).to.equal(400);\r", "});\r", "\r", - "pm.test(\"Should include the correlation id in response\", () => {\r", + "pm.test(\"Should include the correlation id from the header in response\", () => {\r", " const problemDetails = pm.response.json();\r", "\r", " pm.expect(problemDetails.correlationId).to.equal(\"abcd-in-header\");\r", - "\r", - " pm.expect(problemDetails.errors[0]).to.equal(\"Unexpected character encountered while parsing value: }. Path '', line 0, position 0.\");\r", "});\r", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -245,7 +242,7 @@ ], "body": { "mode": "raw", - "raw": "}", + "raw": "{}", "options": { "raw": { "language": "json" @@ -4411,18 +4408,6 @@ "listen": "prerequest", "script": { "exec": [ - "const uuid = require('uuid');", - "function newGuid() { return uuid.v4().toString().replace(/[^a-zA-Z0-9 ]/g,\"\"); }", - "function createScenarioId() { return newGuid().substring(0,5); }", - "pm.environment.set('scenarioId', createScenarioId());", - "", - "const scenarioId = pm.environment.get('scenarioId');", - "", - "pm.environment.set('supplied:'+scenarioId+':staffUniqueId', newGuid());", - "pm.environment.set('supplied:'+scenarioId+':lastSurname', newGuid());", - "pm.environment.set('supplied:'+scenarioId+':firstName', newGuid());", - "pm.environment.set('supplied:'+scenarioId+':sexDescriptor', \"uri://ed-fi.org/SexDescriptor#Female\");", - "pm.environment.set('supplied:'+scenarioId+':yearsOfPriorProfessionalExperience', 1000);", "" ], "type": "text/javascript" @@ -4440,7 +4425,7 @@ ], "body": { "mode": "raw", - "raw": "{ \r\n \"staffUniqueId\": \"{{supplied:{{scenarioId}}:staffUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\":\"uri://ed-fi.org/SexDescriptor#Female\",\r\n \"YearsOfPriorProfessionalExperience\":\"{{supplied:{{scenarioId}}:yearsOfPriorProfessionalExperience}}\"\r\n}\r\n" + "raw": "{ \r\n \"staffUniqueId\": \"{{$randomBankAccount}}\",\r\n \"firstName\": \"Jane\",\r\n \"lastSurname\": \"Doe\",\r\n \"sexDescriptor\":\"uri://ed-fi.org/SexDescriptor#Female\",\r\n \"yearsOfPriorProfessionalExperience\": 1000\r\n}\r\n" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/staffs", @@ -4834,14 +4819,16 @@ " const scenarioId = pm.environment.get('scenarioId');", " const knownStudentId = pm.environment.get('known:'+scenarioId+':studentId');", "", - " // Remove the correlationId query string parameter from the request url", - " pm.request.url.removeQueryParams('correlationId');", + " const actualLocation = pm.response.headers.one('location').value;", + " ", + " const expectedResourceUrl = pm.variables.replaceIn(\"{{ApiBaseUrl}}/data/v3/ed-fi/students\");", + " const expectedLocation = `${expectedResourceUrl}/${knownStudentId}`;", "", - " pm.expect(pm.response.headers.one('location').value)", - " .to.equal(`${pm.variables.replaceIn(pm.request.url.toString())}${knownStudentId}`);", + " pm.expect(actualLocation).to.equal(expectedLocation);", "});" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } }, { @@ -4851,7 +4838,75 @@ "const scenarioId = pm.environment.get('scenarioId');", "pm.environment.set('supplied:'+scenarioId+':lastSurname', \"GotMarried\");" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"studentUniqueId\": \"{{supplied:{{scenarioId}}:studentUniqueId}}\",\r\n \"birthDate\":\"{{supplied:{{scenarioId}}:birthDate}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\"\r\n}" + }, + "url": { + "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/students", + "host": [ + "{{ApiBaseUrl}}" + ], + "path": [ + "data", + "v3", + "ed-fi", + "students" + ] + } + }, + "response": [] + }, + { + "name": "api_should_succeed_with_200_code (with trailing slash on url)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", () => {", + " pm.expect(pm.response.code).to.equal(200);", + "});", + "", + "pm.test(\"Should return the correct location header\", () => {", + " const scenarioId = pm.environment.get('scenarioId');", + " const knownStudentId = pm.environment.get('known:'+scenarioId+':studentId');", + "", + " const actualLocation = pm.response.headers.one('location').value;", + " ", + " const expectedResourceUrl = pm.variables.replaceIn(\"{{ApiBaseUrl}}/data/v3/ed-fi/students\");", + " const expectedLocation = `${expectedResourceUrl}/${knownStudentId}`;", + "", + " pm.expect(actualLocation).to.equal(expectedLocation);", + "});" + ], + "type": "text/javascript", + "packages": {} + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "const scenarioId = pm.environment.get('scenarioId');", + "pm.environment.set('supplied:'+scenarioId+':lastSurname', \"GotMarried\");" + ], + "type": "text/javascript", + "packages": {} } } ], @@ -5553,18 +5608,16 @@ "});", "", "pm.test(\"Should indicate the source values are inconsistent\", () => {", - " pm.expect(problemDetails.validationErrors).to.deep.include({", - " \"$.gradingPeriodReference.schoolId\": [", - " \"All values supplied for 'schoolId' must match. Review all references and align the following conflicting values: '777', '888'\"", - " ],", - " \"$.studentSectionAssociationReference.schoolId\": [", - " \"All values supplied for 'schoolId' must match. Review all references and align the following conflicting values: '777', '888'\"", - " ]", - " });", + " pm.expect(Object.keys(problemDetails.validationErrors).length).to.equal(2);", + "", + " pm.expect(problemDetails.validationErrors[\"$.gradingPeriodReference.schoolId\"]).to.match(/All values supplied for 'schoolId' must match. Review all references and align the following conflicting values: '777', '888'/i);", + "", + " pm.expect(problemDetails.validationErrors[\"$.studentSectionAssociationReference.schoolId\"]).to.match(/All values supplied for 'schoolId' must match. Review all references and align the following conflicting values: '777', '888'/i);", "});", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -5646,33 +5699,21 @@ "});", "", "pm.test(\"Should indicate that the classPeriodReferences in the child collection are inconsistent with the parent context.\", () => {", - " pm.expect(problemDetails.validationErrors).to.deep.equal({", - " \"$.classPeriods[0].classPeriodReference.schoolId\": [", - " \"All values supplied for 'schoolId' must match. Review all references (including those higher up in the resource's data) and align the following conflicting values: '777', '888'\"", - " ],", - " \"$.classPeriods[1].classPeriodReference.schoolId\": [", - " \"All values supplied for 'schoolId' must match. Review all references (including those higher up in the resource's data) and align the following conflicting values: '777', '999'\"", - " ],", - " \"$.classPeriods[2].classPeriodReference.schoolId\": [", - " \"All values supplied for 'schoolId' must match. Review all references (including those higher up in the resource's data) and align the following conflicting values: '777', '999'\"", - " ],", - " \"$.classPeriods[3].classPeriodReference.schoolId\": [", - " \"All values supplied for 'schoolId' must match. Review all references (including those higher up in the resource's data) and align the following conflicting values: '777', '999'\"", - " ],", - " \"$.classPeriods[4].classPeriodReference.schoolId\": [", - " \"All values supplied for 'schoolId' must match. Review all references (including those higher up in the resource's data) and align the following conflicting values: '777', '999'\"", - " ],", - " \"$.classPeriods[5].classPeriodReference.schoolId\": [", - " \"All values supplied for 'schoolId' must match. Review all references (including those higher up in the resource's data) and align the following conflicting values: '777', '999'\"", - " ],", - " \"$.classPeriods[6].classPeriodReference.schoolId\": [", - " \"All values supplied for 'schoolId' must match. Review all references (including those higher up in the resource's data) and align the following conflicting values: '777', '999'\"", - " ]", - " });", + " // We should see at least 6 validation messages (for each member of the child collection)", + " // but may also produce one for: \"$.schoolReference.schoolId\"", + " pm.expect(Object.keys(problemDetails.validationErrors).length).to.be.gte(7);", + " pm.expect(Object.keys(problemDetails.validationErrors).length).to.be.lte(8);", + "", + " // Verify entries for each of the children allowing for 2 or 3 values (of 777, 888 and/or 999) as valid entries.", + " for (var i = 0; i <= 6; i++) {", + " pm.expect(problemDetails.validationErrors[`$.classPeriods[${i}].classPeriodReference.schoolId`])", + " .to.match(/All values supplied for 'schoolId' must match. Review all references \\(including those higher up in the resource's data\\) and align the following conflicting values: (('777'|'888'|'999')(,\\s)?){2,3}/i);", + " }", "});", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -5754,10 +5795,7 @@ "});", "", "pm.test(\"Response should indicate that the contextual value was not supplied.\", () => {", - " pm.expect(problemDetails.validationErrors).to.deep.equal({", - " \"$.classPeriods\": [", - " \"The 3rd item of the BellScheduleClassPeriods has the same identifying values as another item earlier in the list.\"", - " ],", + " pm.expect(problemDetails.validationErrors).to.deep.contain({", " \"$.classPeriods[0].classPeriodReference\": [", " \"ClassPeriodReference is missing the following properties: SchoolId\"", " ],", @@ -5767,7 +5805,8 @@ " });", "});" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -6113,14 +6152,12 @@ "});\r", "\r", "pm.test(\"Should return a message indicating that totalInstructionalDays is required.\", () => {\r", - " pm.expect(problemDetails.validationErrors).to.deep.equal({\r", - " \"$.totalInstructionalDays\": [\r", - " \"Value is required.\"\r", - " ]\r", - " });\r", - "});" + " pm.expect(problemDetails.validationErrors[\"$.totalInstructionalDays\"]).to.match(/(Value|TotalInstructionalDays) is required./i);\r", + "});\r", + "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -7230,7 +7267,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"studentUniqueId\": \"{{supplied:{{scenarioId}}:studentUniqueId}}\",\r\n \"birthDate\":\"{{supplied:{{scenarioId}}:birthDate}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastName}}\",\r\n \"BirthCountryDescriptor\": \"00\",\r\n \"birthStateAbbreviationDescriptor\": \"uri://ed-fi.org/StateAbbreviationDescriptor#XYZ\"\r\n}" + "raw": "{\r\n \"studentUniqueId\": \"{{supplied:{{scenarioId}}:studentUniqueId}}\",\r\n \"birthDate\":\"{{supplied:{{scenarioId}}:birthDate}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastName}}\",\r\n \"birthCountryDescriptor\": \"00\",\r\n \"birthStateAbbreviationDescriptor\": \"uri://ed-fi.org/StateAbbreviationDescriptor#XYZ\"\r\n}" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/students/{{known:{{scenarioId}}:studentGuid}}", @@ -7467,11 +7504,14 @@ "});", "", "pm.test(\"Should return the correct location header\", () => {", - " pm.request.url.removeQueryParams('correlationId');", - " pm.expect(pm.response.headers.one('location').value).to.equal(pm.request.url.toString());", + " const expectedLocation = pm.variables.replaceIn(\"{{ApiBaseUrl}}/data/v3/ed-fi/students/{{known:{{scenarioId}}:studentGuid}}\");", + "console.log(expectedLocation);", + "console.log(pm.response.headers.one('location').value);", + " pm.expect(pm.response.headers.one('location').value).to.equal(expectedLocation);", "});" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } }, { @@ -7765,7 +7805,8 @@ }, { "key": "If-Match", - "value": "InvalidETAG", + "value": "\"InvalidETAG\"", + "description": "If-Match header values must be quoted to be processed (otherwise they are ignored).", "type": "text" } ], @@ -8037,7 +8078,7 @@ }, { "key": "If-Match", - "value": "InvalidETAG", + "value": "\"InvalidETAG\"", "type": "text" } ], @@ -9658,11 +9699,13 @@ " const scenarioId = pm.environment.get('scenarioId');", " const id = pm.environment.get('supplied:'+scenarioId+':programdGuid');", "", - " pm.expect(problemDetails.validationErrors[\"$.id\"][0]).to.equal(`The value '${id}' is not valid.`);", + " const regex = new RegExp(`The value '${id}' is not valid`);", + " pm.expect(problemDetails.validationErrors[\"$.id\"][0]).to.match(regex);", "});", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } }, { @@ -10035,7 +10078,8 @@ "header": [ { "key": "If-Match", - "value": "InvalidETAG", + "value": "\"InvalidETAG\"", + "description": "ETag values must be enclosed in quotes to be processed.", "type": "text" } ], @@ -10258,9 +10302,10 @@ "script": { "type": "text/javascript", "exec": [ + "// NOTE: Do not add the correlationId here -- it impacts the correlationId tests.", "// Add a correlation id to the query string of every request and save it to the environment as well", - "const correlationId = pm.variables.replaceIn(\"{{$randomMACAddress}}\").replace(/:/g, '');", - "pm.request.addQueryParams(`correlationId=${correlationId}`);", + "// const correlationId = pm.variables.replaceIn(\"{{$randomMACAddress}}\").replace(/:/g, '');", + "// pm.request.addQueryParams(`correlationId=${correlationId}`);", "", "CreateAccessToken(\"255901\");", "", diff --git a/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite.postman_collection.json b/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite.postman_collection.json index 5ab02dfd2..618a65fe7 100644 --- a/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite.postman_collection.json +++ b/Postman Test Suite/Ed-Fi ODS-API Integration Test Suite.postman_collection.json @@ -175,12 +175,10 @@ ] }, "url": { - "raw": "http://localhost:8765/oauth/token", - "protocol": "http", + "raw": "{{ApiBaseUrl}}/oauth/token", "host": [ - "localhost" + "{{ApiBaseUrl}}" ], - "port": "8765", "path": [ "oauth", "token" @@ -276,12 +274,10 @@ ] }, "url": { - "raw": "http://localhost:8765/oauth/token", - "protocol": "http", + "raw": "{{ApiBaseUrl}}/oauth/token", "host": [ - "localhost" + "{{ApiBaseUrl}}" ], - "port": "8765", "path": [ "oauth", "token" @@ -357,12 +353,10 @@ ] }, "url": { - "raw": "http://localhost:8765/oauth/token", - "protocol": "http", + "raw": "{{ApiBaseUrl}}/oauth/token", "host": [ - "localhost" + "{{ApiBaseUrl}}" ], - "port": "8765", "path": [ "oauth", "token" @@ -448,12 +442,10 @@ ] }, "url": { - "raw": "http://localhost:8765/oauth/token", - "protocol": "http", + "raw": "{{ApiBaseUrl}}/oauth/token", "host": [ - "localhost" + "{{ApiBaseUrl}}" ], - "port": "8765", "path": [ "oauth", "token" @@ -529,12 +521,10 @@ ] }, "url": { - "raw": "http://localhost:8765/oauth/token", - "protocol": "http", + "raw": "{{ApiBaseUrl}}/oauth/token", "host": [ - "localhost" + "{{ApiBaseUrl}}" ], - "port": "8765", "path": [ "oauth", "token" @@ -604,12 +594,10 @@ ] }, "url": { - "raw": "http://localhost:8765/oauth/token", - "protocol": "http", + "raw": "{{ApiBaseUrl}}/oauth/token", "host": [ - "localhost" + "{{ApiBaseUrl}}" ], - "port": "8765", "path": [ "oauth", "token" @@ -679,12 +667,10 @@ ] }, "url": { - "raw": "http://localhost:8765/oauth/token", - "protocol": "http", + "raw": "{{ApiBaseUrl}}/oauth/token", "host": [ - "localhost" + "{{ApiBaseUrl}}" ], - "port": "8765", "path": [ "oauth", "token" @@ -766,12 +752,10 @@ ] }, "url": { - "raw": "http://localhost:8765/oauth/token", - "protocol": "http", + "raw": "{{ApiBaseUrl}}/oauth/token", "host": [ - "localhost" + "{{ApiBaseUrl}}" ], - "port": "8765", "path": [ "oauth", "token" @@ -872,12 +856,10 @@ ] }, "url": { - "raw": "http://localhost:8765/oauth/token", - "protocol": "http", + "raw": "{{ApiBaseUrl}}/oauth/token", "host": [ - "localhost" + "{{ApiBaseUrl}}" ], - "port": "8765", "path": [ "oauth", "token" @@ -978,12 +960,10 @@ ] }, "url": { - "raw": "http://localhost:8765/oauth/token", - "protocol": "http", + "raw": "{{ApiBaseUrl}}/oauth/token", "host": [ - "localhost" + "{{ApiBaseUrl}}" ], - "port": "8765", "path": [ "oauth", "token" @@ -1437,7 +1417,7 @@ "});", "", "pm.test(\"Should indicate problem converting empty string to BeginDate value\", () => {", - " pm.expect(problemDetails.validationErrors).to.deep.equal({", + " pm.expect(problemDetails.validationErrors).to.deep.contains({", " \"$.beginDate\": [", " \"The supplied value is invalid.\"", " ]", @@ -1520,7 +1500,7 @@ "});", "", "pm.test(\"Should indicate problem converting empty string to EndDate value\", function () {", - " pm.expect(problemDetails.validationErrors).to.deep.equal({", + " pm.expect(problemDetails.validationErrors).to.deep.contains({", " \"$.endDate\": [", " \"The supplied value is invalid.\"", " ]", @@ -1601,8 +1581,8 @@ " pm.expect(problemDetails.detail).to.equal(\"Access to the requested data could not be authorized.\");", "});", "", - "pm.test(\"Should indicate authorization failure related to the SchoolId value\", () => {", - " pm.expect(problemDetails.errors).to.match(/^No relationships have been established between the caller's education organization id claim(s)? \\(([\\d\\s,]+(\\.{3})?)\\) and the resource item's 'SchoolId' value./);", + "pm.test(\"Should indicate authorization failure related to the SchoolId value showing up to 5 associated EdOrgIds\", () => {", + " pm.expect(problemDetails.errors).to.match(/^No relationships have been established between the caller's education organization id claim(s)? \\(((\\d+,\\s){5}(\\.{3})?)\\) and the resource item's 'SchoolId' value./);", "});", "" ], @@ -7200,7 +7180,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"{{ParentOrContactUniqueIdName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"personReference\": {\r\n \"personId\": \"{{supplied:{{scenarioId}}:personId}}\",\r\n \"sourceSystemDescriptor\": \"{{supplied:{{scenarioId}}:sourceSystemDescriptor}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", + "raw": "{\r\n \"{{ParentOrContactUniqueIdPropertyName}}\": \"{{supplied:{{scenarioId}}:parentUniqueId}}\",\r\n \"firstName\": \"{{supplied:{{scenarioId}}:firstName}}\",\r\n \"lastSurname\": \"{{supplied:{{scenarioId}}:lastSurname}}\",\r\n \"sexDescriptor\": \"{{supplied:{{scenarioId}}:sexDescriptor}}\",\r\n \"personReference\": {\r\n \"personId\": \"{{supplied:{{scenarioId}}:personId}}\",\r\n \"sourceSystemDescriptor\": \"{{supplied:{{scenarioId}}:sourceSystemDescriptor}}\"\r\n },\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"teacherConference\": {\r\n \"dayOfWeek\": \"Monday\",\r\n \"endTime\": \"12:00:00\",\r\n \"startTime\": \"12:00:00\"\r\n },\r\n \"authors\": [],\r\n \"favoriteBookTitles\": [\r\n {\r\n \"favoriteBookTitle\": \"Green Eggs and Ham\"\r\n }\r\n ],\r\n \"isSportsFan\": false\r\n }\r\n }\r\n}", "options": { "raw": { "language": "json" @@ -7804,17 +7784,11 @@ "});\r", "\r", "pm.test(\"Should return a message indicating that unified keys don't match.\", () => {\r", - " pm.expect(problemDetails.validationErrors).to.deep.include({\r", - " \"$.fiscalYear\": [\r", - " \"All values supplied for 'fiscalYear' must match. Review all references and align the following conflicting values: '2022', '2019'\"\r", - " ]\r", - " });\r", + " pm.expect(problemDetails.validationErrors[\"$.fiscalYear\"]).to.match(/All values supplied for 'fiscalYear' must match. Review all references and align the following conflicting values: '2022', '2019'/i\r", + " );\r", "\r", - " pm.expect(problemDetails.validationErrors).to.deep.include({\r", - " \"$.functionDimensionReference.fiscalYear\": [\r", - " \"All values supplied for 'fiscalYear' must match. Review all references and align the following conflicting values: '2022', '2019'\"\r", - " ]\r", - " });\r", + " pm.expect(problemDetails.validationErrors[\"$.functionDimensionReference.fiscalYear\"]).to.match(/All values supplied for 'fiscalYear' must match. Review all references and align the following conflicting values: '2022', '2019'/i\r", + " );\r", "});" ], "type": "text/javascript" @@ -7882,23 +7856,11 @@ "});\r", "\r", "pm.test(\"Should return a message indicating that unified keys don't match.\", () => {\r", - " pm.expect(problemDetails.validationErrors).to.deep.include({\r", - " \"$.fiscalYear\": [\r", - " \"All values supplied for 'fiscalYear' must match. Review all references and align the following conflicting values: '2022', '2022', '2019'\"\r", - " ]\r", - " });\r", + " pm.expect(problemDetails.validationErrors[\"$.fiscalYear\"]).to.match(/All values supplied for 'fiscalYear' must match. Review all references and align the following conflicting values: (('2022'|'2019')(,\\s)?){3}/i);\r", "\r", - " pm.expect(problemDetails.validationErrors).to.deep.include({\r", - " \"$.functionDimensionReference.fiscalYear\": [\r", - " \"All values supplied for 'fiscalYear' must match. Review all references and align the following conflicting values: '2022', '2022', '2019'\"\r", - " ]\r", - " });\r", - "\r", - " pm.expect(problemDetails.validationErrors).to.deep.include({\r", - " \"$.balanceSheetDimensionReference.fiscalYear\": [\r", - " \"All values supplied for 'fiscalYear' must match. Review all references and align the following conflicting values: '2022', '2022', '2019'\"\r", - " ]\r", - " });\r", + " pm.expect(problemDetails.validationErrors[\"$.functionDimensionReference.fiscalYear\"]).to.match(/All values supplied for 'fiscalYear' must match. Review all references and align the following conflicting values: (('2022'|'2019')(,\\s)?){3}/i);\r", + " \r", + " pm.expect(problemDetails.validationErrors[\"$.balanceSheetDimensionReference.fiscalYear\"]).to.match(/All values supplied for 'fiscalYear' must match. Review all references and align the following conflicting values: (('2022'|'2019')(,\\s)?){3}/i);\r", "});" ], "type": "text/javascript" @@ -7966,12 +7928,7 @@ "});\r", "\r", "pm.test(\"Should return a message indicating that FiscalYear is required.\", () => {\r", - " pm.expect(problemDetails.validationErrors).to.deep.equal({\r", - " \"$.fiscalYear\": [\r", - " \"FiscalYear must be between 2020 and 2040.\",\r", - " \"Value is required.\"\r", - " ]\r", - " });\r", + " pm.expect(problemDetails.validationErrors[\"$.fiscalYear\"]).to.match(/(Value|FiscalYear) is required./i);\r", "});" ], "type": "text/javascript" @@ -8039,12 +7996,7 @@ "});\r", "\r", "pm.test(\"Should return a message indicating that FiscalYear is required.\", () => {\r", - " pm.expect(problemDetails.validationErrors).to.deep.equal({\r", - " \"$.fiscalYear\": [\r", - " \"FiscalYear must be between 2020 and 2040.\",\r", - " \"Value is required.\"\r", - " ]\r", - " });\r", + " pm.expect(problemDetails.validationErrors[\"$.fiscalYear\"]).to.match(/(Value|FiscalYear) is required./i);\r", "});" ], "type": "text/javascript" @@ -8112,12 +8064,7 @@ "});\r", "\r", "pm.test(\"Should return a message indicating that FiscalYear is required.\", () => {\r", - " pm.expect(problemDetails.validationErrors).to.deep.equal({\r", - " \"$.fiscalYear\": [\r", - " \"FiscalYear must be between 2020 and 2040.\",\r", - " \"Value is required.\"\r", - " ]\r", - " });\r", + " pm.expect(problemDetails.validationErrors[\"$.fiscalYear\"]).to.match(/(Value|FiscalYear) is required./i);\r", "});" ], "type": "text/javascript" @@ -8368,19 +8315,11 @@ "});\r", "\r", "pm.test(\"Should return a message indicating that unified keys don't match.\", () => {\r", - " pm.expect(problemDetails.validationErrors).to.deep.include({\r", - " \"$.fiscalYear\": [\r", - " \"FiscalYear must be between 2020 and 2040.\",\r", - " \"All values supplied for 'fiscalYear' must match. Review all references and align the following conflicting values: '2019', '2022'\"\r", - " ]\r", - " });\r", + " pm.expect(problemDetails.validationErrors[\"$.fiscalYear\"]).to.match(/All values supplied for 'fiscalYear' must match. Review all references and align the following conflicting values: (('2022'|'2019')(,\\s)?){2}/i);\r", "\r", - " pm.expect(problemDetails.validationErrors).to.deep.include({\r", - " \"$.chartOfAccountReference.fiscalYear\": [\r", - " \"All values supplied for 'fiscalYear' must match. Review all references and align the following conflicting values: '2019', '2022'\"\r", - " ]\r", - " });\r", - "});" + " pm.expect(problemDetails.validationErrors[\"$.chartOfAccountReference.fiscalYear\"]).to.match(/All values supplied for 'fiscalYear' must match. Review all references and align the following conflicting values: (('2022'|'2019')(,\\s)?){2}/i);\r", + "});\r", + "" ], "type": "text/javascript" } @@ -8447,12 +8386,7 @@ "});\r", "\r", "pm.test(\"Should return a message indicating that FiscalYear is required.\", () => {\r", - " pm.expect(problemDetails.validationErrors).to.deep.equal({\r", - " \"$.fiscalYear\": [\r", - " \"FiscalYear must be between 2020 and 2040.\",\r", - " \"Value is required.\"\r", - " ]\r", - " });\r", + " pm.expect(problemDetails.validationErrors[\"$.fiscalYear\"]).to.match(/(Value|FiscalYear) is required./i);\r", "});" ], "type": "text/javascript" @@ -9236,7 +9170,7 @@ "header": [], "body": { "mode": "raw", - "raw": " {\r\n \"staffUniqueId\": \"TEST-StringLength\",\r\n \"birthDate\": \"1976-08-19\",\r\n \"firstName\": \"Barry\",\r\n \"highestCompletedLevelOfEducationDescriptor\": \"uri://ed-fi.org/LevelOfEducationDescriptor#Master's\",\r\n \"hispanicLatinoEthnicity\": false,\r\n \"lastSurname\": \" \",\r\n \"loginId\": \"btanner\",\r\n \"personalTitlePrefix\": \"Mr\",\r\n \"sexDescriptor\": \"uri://ed-fi.org/SexDescriptor#Male\",\r\n \"yearsOfPriorProfessionalExperience\": 30.00,\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"pets\": [\r\n {\r\n \"petName\": \" \",\r\n \"isFixed\": true\r\n }\r\n ]\r\n }\r\n },\r\n \"addresses\": [],\r\n \"ancestryEthnicOrigins\": [],\r\n \"credentials\": [],\r\n \"electronicMails\": [\r\n {\r\n \"electronicMailAddress\": \"BarryTanner@edfi.org\",\r\n \"electronicMailTypeDescriptor\": \"uri://ed-fi.org/ElectronicMailTypeDescriptor#Work\"\r\n }\r\n ],\r\n \"identificationCodes\": [\r\n {\r\n \"staffIdentificationSystemDescriptor\": \"uri://ed-fi.org/StaffIdentificationSystemDescriptor#State\",\r\n \"identificationCode\": \"207288\"\r\n }\r\n ],\r\n \"identificationDocuments\": [],\r\n \"internationalAddresses\": [],\r\n \"languages\": [],\r\n \"otherNames\": [],\r\n \"personalIdentificationDocuments\": [\r\n {\r\n \"identificationDocumentUseDescriptor\": \"uri://ed-fi.org/IdentificationDocumentUseDescriptor#Personal Information Verification\",\r\n \"personalInformationVerificationDescriptor\": \"uri://ed-fi.org/PersonalInformationVerificationDescriptor#State-issued ID\"\r\n }\r\n ],\r\n \"races\": [\r\n {\r\n \"raceDescriptor\": \"uri://ed-fi.org/RaceDescriptor#American Indian - Alaska Native\"\r\n }\r\n ],\r\n \"recognitions\": [],\r\n \"telephones\": [],\r\n \"tribalAffiliations\": [],\r\n \"visas\": []\r\n }", + "raw": " {\r\n \"staffUniqueId\": \"TEST-StringLength\",\r\n \"birthDate\": \"1976-08-19\",\r\n \"firstName\": \"Barry\",\r\n \"highestCompletedLevelOfEducationDescriptor\": \"uri://ed-fi.org/LevelOfEducationDescriptor#Master's\",\r\n \"hispanicLatinoEthnicity\": false,\r\n \"lastSurname\": \" \",\r\n \"loginId\": \"btanner\",\r\n \"personalTitlePrefix\": \"Mr\",\r\n \"sexDescriptor\": \"uri://ed-fi.org/SexDescriptor#Male\",\r\n \"yearsOfPriorProfessionalExperience\": 30.00,\r\n \"_ext\": {\r\n \"Sample\": {\r\n \"pets\": [\r\n {\r\n \"petName\": \" \",\r\n \"isFixed\": true\r\n }\r\n ]\r\n }\r\n },\r\n \"addresses\": [],\r\n \"ancestryEthnicOrigins\": [],\r\n \"credentials\": [],\r\n \"electronicMails\": [\r\n {\r\n \"electronicMailAddress\": \"BarryTanner@edfi.org\",\r\n \"electronicMailTypeDescriptor\": \"uri://ed-fi.org/ElectronicMailTypeDescriptor#Work\"\r\n }\r\n ],\r\n \"identificationCodes\": [\r\n {\r\n \"staffIdentificationSystemDescriptor\": \"uri://ed-fi.org/StaffIdentificationSystemDescriptor#State\",\r\n \"identificationCode\": \"207288\"\r\n }\r\n ],\r\n \"identificationDocuments\": [],\r\n \"internationalAddresses\": [],\r\n \"languages\": [],\r\n \"otherNames\": [],\r\n \"personalIdentificationDocuments\": [\r\n {\r\n \"identificationDocumentUseDescriptor\": \"uri://ed-fi.org/IdentificationDocumentUseDescriptor#Personal Information Verification\",\r\n \"personalInformationVerificationDescriptor\": \"uri://ed-fi.org/PersonalInformationVerificationDescriptor#State-issued ID\"\r\n }\r\n ],\r\n \"races\": [\r\n {\r\n \"raceDescriptor\": \"uri://ed-fi.org/RaceDescriptor#American Indian or Alaska Native\"\r\n }\r\n ],\r\n \"recognitions\": [],\r\n \"telephones\": [],\r\n \"tribalAffiliations\": [],\r\n \"visas\": []\r\n }", "options": { "raw": { "language": "json" @@ -14715,7 +14649,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"entryDate\": \"2021-08-23\",\r\n \"schoolReference\": {\r\n \"schoolId\": {{MaxSafeEducationOrganizationId}}\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"123456789\"\r\n },\r\n \"entryGradeLevelDescriptor\": \"uri://ed-fi.org/GradeLevelDescriptor#Ninth grade\"\r\n}" + "raw": "{\r\n \"entryDate\": \"2021-08-23\",\r\n \"schoolReference\": {\r\n \"schoolId\": {{test-suite:known:maxSafeEducationOrganizationId}}\r\n },\r\n \"studentReference\": {\r\n \"studentUniqueId\": \"123456789\"\r\n },\r\n \"entryGradeLevelDescriptor\": \"uri://ed-fi.org/GradeLevelDescriptor#Ninth grade\"\r\n}" }, "url": { "raw": "{{ApiBaseUrl}}/data/v3/ed-fi/studentSchoolAssociations", @@ -14746,7 +14680,7 @@ "const item = pm.response.json();\r", "\r", "pm.test(\"Should return the expected schoolId value\", () => {\r", - " pm.expect(item.schoolId).to.equal(pm.environment.get('MaxSafeEducationOrganizationId'));\r", + " pm.expect(item.schoolId).to.equal(pm.environment.get('test-suite:known:maxSafeEducationOrganizationId'));\r", "});\r", "" ], @@ -16304,11 +16238,13 @@ "let ParentOrContactProperName = pm.environment.get(\"ParentOrContactProperName\") ?? pm.environment.get(\"test-suite:known:parentOrContactProperName\");", "let StudentParentOrContactAssociationCollectionName = \"Student\" + ParentOrContactProperName + \"Associations\";", "let ParentOrContactUniqueIdName = ParentOrContactProperName + \"UniqueId\";", + "let ParentOrContactUniqueIdPropertyName = ParentOrContactProperName[0].toLowerCase() + ParentOrContactProperName.substring(1) + \"UniqueId\";", "let ParentOrContactName = ParentOrContactProperName.toLowerCase();", "let ParentOrContactCollectionName = ParentOrContactName + \"s\";", "", "pm.environment.set(\"StudentParentOrContactAssociationCollectionName\", StudentParentOrContactAssociationCollectionName);", "pm.environment.set(\"ParentOrContactUniqueIdName\", ParentOrContactUniqueIdName);", + "pm.environment.set(\"ParentOrContactUniqueIdPropertyName\", ParentOrContactUniqueIdPropertyName);", "pm.environment.set(\"ParentOrContactName\", ParentOrContactName);", "pm.environment.set(\"ParentOrContactCollectionName\", ParentOrContactCollectionName);", "", diff --git a/Postman Test Suite/Ed-Fi ODS-API Multiple Authorization Strategy Test Suite.postman_collection.json b/Postman Test Suite/Ed-Fi ODS-API Multiple Authorization Strategy Test Suite.postman_collection.json index c581113c8..9c11e1a82 100644 --- a/Postman Test Suite/Ed-Fi ODS-API Multiple Authorization Strategy Test Suite.postman_collection.json +++ b/Postman Test Suite/Ed-Fi ODS-API Multiple Authorization Strategy Test Suite.postman_collection.json @@ -881,7 +881,7 @@ "pm.test(\"Should return a problem details result\", () => {", " pm.expect(pm.response.code).equal(problemDetails.status);", " pm.expect(problemDetails.type).to.equal(\"urn:ed-fi:api:security:authorization:namespace:access-denied:namespace-mismatch\");", - " pm.expect(problemDetails.detail).to.match(/^Access to the requested data could not be authorized. The 'Namespace' value of the data does not start with any of the caller's associated namespace prefixes \\('(.*)'\\)\\./);", + " pm.expect(problemDetails.detail).to.match(/^Access to the requested data could not be authorized. The (proposed )?'Namespace' value of the data does not start with any of the caller's associated namespace prefixes \\('(.*)'\\)\\./);", "});", "", "pm.test(\"Should not return errors.\", () => {", diff --git a/Postman Test Suite/Ed-Fi ODS-API Profile Test Suite.postman_collection.json b/Postman Test Suite/Ed-Fi ODS-API Profile Test Suite.postman_collection.json index 13a691453..987a29391 100644 --- a/Postman Test Suite/Ed-Fi ODS-API Profile Test Suite.postman_collection.json +++ b/Postman Test Suite/Ed-Fi ODS-API Profile Test Suite.postman_collection.json @@ -89,7 +89,6 @@ "header": [ { "key": "Content-Type", - "name": "Content-Type", "value": "application/json", "type": "text" } @@ -131,11 +130,12 @@ "});", "", "pm.test(\"Should return the error indicating the profile isn't readable using the profile\", () => {", - " pm.expect(problemDetails.errors).to.contain(\"Resource class 'School' is not readable using API profile 'test-profile-resource-writeonly'.\");", + " pm.expect(problemDetails.errors).to.match(/Resource class 'School' is not readable using API profile 'test-profile-resource-writeonly'\\./i);", "});", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } }, { @@ -144,7 +144,8 @@ "exec": [ "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -153,8 +154,8 @@ "header": [ { "key": "Accept", - "type": "text", - "value": "application/vnd.ed-fi.school.test-profile-resource-writeonly.readable+json" + "value": "application/vnd.ed-fi.school.test-profile-resource-writeonly.readable+json", + "type": "text" } ], "url": { @@ -230,8 +231,8 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/vnd.ed-fi.school.test-profile-resource-writeonly.writable+json" + "value": "application/vnd.ed-fi.school.test-profile-resource-writeonly.writable+json", + "type": "text" } ], "body": { @@ -315,8 +316,8 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/vnd.ed-fi.school.test-profile-resource-writeonly.writable+json" + "value": "application/vnd.ed-fi.school.test-profile-resource-writeonly.writable+json", + "type": "text" } ], "body": { @@ -400,8 +401,8 @@ "header": [ { "key": "Accept", - "type": "text", - "value": "application/vnd.ed-fi.school.test-profile-resource-readonly.readable+json" + "value": "application/vnd.ed-fi.school.test-profile-resource-readonly.readable+json", + "type": "text" } ], "url": { @@ -450,8 +451,8 @@ "header": [ { "key": "Accept", - "type": "text", - "value": "application/vnd.ed-fi.school.test-profile-resource-readonly.readable+json" + "value": "application/vnd.ed-fi.school.test-profile-resource-readonly.readable+json", + "type": "text" } ], "url": { @@ -517,11 +518,12 @@ "});", "", "pm.test(`Should return the error indicating the resource isn't writable using the profile`, () => {", - " pm.expect(problemDetails.errors).to.contain(\"Resource class 'School' is not writable using API profile 'test-profile-resource-readonly'.\");", + " pm.expect(problemDetails.errors).to.match(/Resource class 'School' is not writable using API profile 'test-profile-resource-readonly'\\./i);", "});", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } }, { @@ -530,7 +532,8 @@ "exec": [ "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -539,8 +542,8 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/vnd.ed-fi.school.test-profile-resource-readonly.writable+json" + "value": "application/vnd.ed-fi.school.test-profile-resource-readonly.writable+json", + "type": "text" } ], "body": { @@ -615,11 +618,12 @@ "});", "", "pm.test(\"Should return the error indicating the reasource isn't writable using the profile\", () => {", - " pm.expect(problemDetails.errors).to.contain(\"Resource class 'School' is not writable using API profile 'test-profile-resource-readonly'.\");", + " pm.expect(problemDetails.errors).to.match(/Resource class 'School' is not writable using API profile 'test-profile-resource-readonly'\\./i);", "});", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } }, { @@ -628,7 +632,8 @@ "exec": [ "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -637,8 +642,8 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/vnd.ed-fi.school.test-profile-resource-readonly.writable+json" + "value": "application/vnd.ed-fi.school.test-profile-resource-readonly.writable+json", + "type": "text" } ], "body": { @@ -721,8 +726,8 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/vnd.ed-fi.school.test-profile-resource-writeonly.writable+json" + "value": "application/vnd.ed-fi.school.test-profile-resource-writeonly.writable+json", + "type": "text" } ], "url": { @@ -887,9 +892,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.student.test-profile-studentonly-resource-includeall.readable+json", - "description": "test-profile-studentonly-resource-includeall" + "description": "test-profile-studentonly-resource-includeall", + "type": "text" } ], "url": { @@ -955,11 +960,12 @@ "});", "", "pm.test(\"Should return the error indicating the resource isn't accessible using the profile\", () => {", - " pm.expect(problemDetails.errors).to.contain(\"Resource 'Student' is not accessible through the 'test-profile-staffonly-resource-includeall' profile specified by the content type.\");", + " pm.expect(problemDetails.errors).to.match(/Resource 'Student' is not accessible through the 'test-profile-staffonly-resource-includeall' profile specified by the content type\\./i);", "});", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } }, { @@ -968,7 +974,8 @@ "exec": [ "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -977,9 +984,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.student.test-profile-staffonly-resource-includeall.readable+json", - "description": "test-profile-staffonly-resource-includeall" + "description": "test-profile-staffonly-resource-includeall", + "type": "text" } ], "url": { @@ -1045,11 +1052,12 @@ "});", "", "pm.test(\"Should return the error indicating the resource requested doesn't match the one specified by the profile\", () => {", - " pm.expect(problemDetails.errors).to.contain(\"The resource specified by the profile-based content type ('school') does not match the requested resource ('Student').\");", + " pm.expect(problemDetails.errors).to.match(/The resource specified by the profile-based content type \\('school'\\) does not match the requested resource \\('Student'\\)\\./i);", "});", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } }, { @@ -1058,7 +1066,8 @@ "exec": [ "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -1067,9 +1076,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.school.test-profile-studentonly-resource-includeall.readable+json", - "description": "test-profile-studentonly-resource-includeall" + "description": "test-profile-studentonly-resource-includeall", + "type": "text" } ], "url": { @@ -1156,9 +1165,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.student.test-profile-studentonly-resource-includeall.writable+json", - "description": "test-profile-studentonly-resource-includeall" + "description": "test-profile-studentonly-resource-includeall", + "type": "text" } ], "url": { @@ -1245,9 +1254,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.student.test-profile-studentonly-resource-includeall.wrong+json", - "description": "test-profile-studentonly-resource-includeall" + "description": "test-profile-studentonly-resource-includeall", + "type": "text" } ], "url": { @@ -1313,8 +1322,8 @@ "header": [ { "key": "Accept", - "type": "text", - "value": "application/vnd.ed-fi.invalid+json" + "value": "application/vnd.ed-fi.invalid+json", + "type": "text" } ], "url": { @@ -1373,9 +1382,8 @@ "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/vnd.ed-fi.student.test-profile-studentonly-resource-includeall.writable+json" + "value": "application/vnd.ed-fi.student.test-profile-studentonly-resource-includeall.writable+json", + "type": "text" } ], "body": { @@ -1444,11 +1452,12 @@ "});", "", "pm.test(\"Should return error message indicating that the resource is not accessible through the profile specified by the content type.\", () => {", - " pm.expect(problemDetails.errors).to.contain(\"Resource 'Student' is not accessible through the 'test-profile-staffonly-resource-includeall' profile specified by the content type.\");", + " pm.expect(problemDetails.errors).to.match(/Resource 'Student' is not accessible through the 'test-profile-staffonly-resource-includeall' profile specified by the content type\\./i);", "});", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } }, { @@ -1457,7 +1466,8 @@ "exec": [ "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -1466,9 +1476,8 @@ "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/vnd.ed-fi.student.test-profile-staffonly-resource-includeall.writable+json" + "value": "application/vnd.ed-fi.student.test-profile-staffonly-resource-includeall.writable+json", + "type": "text" } ], "body": { @@ -1537,11 +1546,12 @@ "});", "", "pm.test(\"Should return error message indicating that the profile-based content type does not match the resource targeted by the request.\", () => {", - " pm.expect(problemDetails.errors).to.contain(\"The resource specified by the profile-based content type ('school') does not match the requested resource ('Student').\");", + " pm.expect(problemDetails.errors).to.match(/The resource specified by the profile-based content type \\('school'\\) does not match the requested resource \\('Student'\\)\\./i);", "});", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } }, { @@ -1550,7 +1560,8 @@ "exec": [ "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -1559,9 +1570,8 @@ "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/vnd.ed-fi.school.test-profile-studentonly-resource-includeall.writable+json" + "value": "application/vnd.ed-fi.school.test-profile-studentonly-resource-includeall.writable+json", + "type": "text" } ], "body": { @@ -1651,10 +1661,9 @@ "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", "value": "application/vnd.ed-fi.student.test-profile-studentonly-resource-includeall.readable+json", - "description": "test-profile-studentonly-resource-includeall" + "description": "test-profile-studentonly-resource-includeall", + "type": "text" } ], "body": { @@ -1718,10 +1727,9 @@ "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", "value": "application/vnd.ed-fi.student.test-profile-studentonly-resource-includeall.readable+json", - "description": "test-profile-studentonly-resource-includeall" + "description": "test-profile-studentonly-resource-includeall", + "type": "text" } ], "body": { @@ -1813,10 +1821,9 @@ "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", "value": "application/vnd.ed-fi.student.test-profile-studentonly-resource-includeall.wrong+json", - "description": "test-profile-studentonly-resource-includeall" + "description": "test-profile-studentonly-resource-includeall", + "type": "text" } ], "body": { @@ -1886,9 +1893,8 @@ "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/vnd.ed-fi.invalid+json" + "value": "application/vnd.ed-fi.invalid+json", + "type": "text" } ], "body": { @@ -2023,9 +2029,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.school.non-existing.readable+json", - "description": "non-existing" + "description": "non-existing", + "type": "text" } ], "url": { @@ -2113,9 +2119,9 @@ "header": [ { "key": "Content-Type", - "type": "text", "value": "application/vnd.ed-fi.school.non-existing.writable+json", - "description": "non-existing" + "description": "non-existing", + "type": "text" } ], "body": { @@ -2374,9 +2380,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.school.test-profile-with-unexisting-resource.readable+json", - "description": "non-existing" + "description": "non-existing", + "type": "text" } ], "url": { @@ -2438,9 +2444,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.school.test-profile-with-unexisting-property.readable+json", - "description": "non-existing" + "description": "non-existing", + "type": "text" } ], "url": { @@ -2507,9 +2513,9 @@ "header": [ { "key": "Content-Type", - "type": "text", "value": "application/vnd.ed-fi.school.test-profile-with-unexisting-resource.writable+json", - "description": "non-existing" + "description": "non-existing", + "type": "text" } ], "body": { @@ -2579,9 +2585,9 @@ "header": [ { "key": "Content-Type", - "type": "text", "value": "application/vnd.ed-fi.school.test-profile-with-unexisting-property.writable+json", - "description": "non-existing" + "description": "non-existing", + "type": "text" } ], "body": { @@ -2789,8 +2795,8 @@ { "key": "Accept", "value": "application/vnd.ed-fi.student.test-profile-studentonly-resource-includeall.readable+json", - "type": "text", - "description": "test-profile-studentonly-resource-includeall" + "description": "test-profile-studentonly-resource-includeall", + "type": "text" } ], "url": { @@ -2847,8 +2853,8 @@ { "key": "Accept", "value": "application/vnd.ed-fi.student.test-profile-studentonly-resource-includeall.readable+json", - "type": "text", - "description": "test-profile-studentonly-resource-includeall" + "description": "test-profile-studentonly-resource-includeall", + "type": "text" } ], "url": { @@ -3006,9 +3012,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.assessment.assessment-readable-excludes-embedded-object.readable+json", - "description": "assessment-readable-excludes-embedded-object" + "description": "assessment-readable-excludes-embedded-object", + "type": "text" } ], "url": { @@ -3151,8 +3157,8 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/vnd.ed-fi.assessment.assessment-writable-excludes-embedded-object.writable+json" + "value": "application/vnd.ed-fi.assessment.assessment-writable-excludes-embedded-object.writable+json", + "type": "text" } ], "body": { @@ -3266,8 +3272,8 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/vnd.ed-fi.assessment.assessment-writable-includes-embedded-object.writable+json" + "value": "application/vnd.ed-fi.assessment.assessment-writable-includes-embedded-object.writable+json", + "type": "text" } ], "body": { @@ -3514,8 +3520,8 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/vnd.ed-fi.assessment.assessment-writable-excludes-embedded-object.writable+json" + "value": "application/vnd.ed-fi.assessment.assessment-writable-excludes-embedded-object.writable+json", + "type": "text" } ], "body": { @@ -3577,8 +3583,8 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/vnd.ed-fi.assessment.assessment-writable-excludes-embedded-object.writable+json" + "value": "application/vnd.ed-fi.assessment.assessment-writable-excludes-embedded-object.writable+json", + "type": "text" } ], "body": { @@ -3813,9 +3819,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.school.test-profile-resource-child-collection-filtered-to-includeonly-specific-descriptors.readable+json", - "description": "test-profile-resource-child-collection-filtered-to-includeonly-specific-descriptors" + "description": "test-profile-resource-child-collection-filtered-to-includeonly-specific-descriptors", + "type": "text" } ], "url": { @@ -3914,8 +3920,8 @@ "header": [ { "key": "Accept", - "type": "text", - "value": "application/vnd.ed-fi.school.test-profile-resource-child-collection-filtered-to-excludeonly-specific-descriptors.readable+json" + "value": "application/vnd.ed-fi.school.test-profile-resource-child-collection-filtered-to-excludeonly-specific-descriptors.readable+json", + "type": "text" } ], "url": { @@ -3998,8 +4004,8 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/vnd.ed-fi.school.test-profile-resource-child-collection-filtered-to-includeonly-specific-descriptors.writable+json" + "value": "application/vnd.ed-fi.school.test-profile-resource-child-collection-filtered-to-includeonly-specific-descriptors.writable+json", + "type": "text" } ], "body": { @@ -4151,9 +4157,9 @@ "header": [ { "key": "Content-Type", - "type": "text", "value": "application/vnd.ed-fi.school.test-profile-resource-child-collection-filtered-to-includeonly-specific-descriptors.writable+json", - "description": "test-profile-resource-child-collection-filtered-to-includeonly-specific-descriptors" + "description": "test-profile-resource-child-collection-filtered-to-includeonly-specific-descriptors", + "type": "text" } ], "body": { @@ -4221,9 +4227,9 @@ "header": [ { "key": "Content-Type", - "type": "text", "value": "application/vnd.ed-fi.school.Test-Profile-Resource-Child-Collection-Filtered-To-ExcludeOnly-Specific-Descriptors.writable+json", - "description": "Test-Profile-Resource-Child-Collection-Filtered-To-ExcludeOnly-Specific-Descriptors" + "description": "Test-Profile-Resource-Child-Collection-Filtered-To-ExcludeOnly-Specific-Descriptors", + "type": "text" } ], "body": { @@ -4378,9 +4384,9 @@ "header": [ { "key": "Content-Type", - "type": "text", "value": "application/vnd.ed-fi.school.test-profile-resource-child-collection-filtered-to-excludeonly-specific-descriptors.writable+json", - "description": "test-profile-resource-child-collection-filtered-to-excludeonly-specific-descriptors" + "description": "test-profile-resource-child-collection-filtered-to-excludeonly-specific-descriptors", + "type": "text" } ], "body": { @@ -4468,8 +4474,8 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/vnd.ed-fi.school.test-profile-resource-writeonly.writable+json" + "value": "application/vnd.ed-fi.school.test-profile-resource-writeonly.writable+json", + "type": "text" } ], "url": { @@ -4578,9 +4584,8 @@ "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" } ], "body": { @@ -4633,9 +4638,8 @@ "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" } ], "body": { @@ -4694,9 +4698,8 @@ "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" } ], "body": { @@ -4756,7 +4759,6 @@ "header": [ { "key": "Content-Type", - "name": "Content-Type", "value": "application/json", "type": "text" } @@ -4850,9 +4852,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.studentassessment.test-profile-resource-nested-child-collection-filtered-to-includeonly-specific-types-and-descriptors.readable+json", - "description": "test-profile-resource-nested-child-collection-filtered-to-includeonly-specific-types-and-descriptors" + "description": "test-profile-resource-nested-child-collection-filtered-to-includeonly-specific-types-and-descriptors", + "type": "text" } ], "url": { @@ -4936,9 +4938,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.studentassessment.test-profile-resource-nested-child-collection-filtered-to-excludeonly-specific-types-and-descriptors.readable+json", - "description": "test-profile-resource-nested-child-collection-filtered-to-excludeonly-specific-types-and-descriptors" + "description": "test-profile-resource-nested-child-collection-filtered-to-excludeonly-specific-types-and-descriptors", + "type": "text" } ], "url": { @@ -5000,9 +5002,9 @@ "header": [ { "key": "Content-Type", - "type": "text", "value": "application/vnd.ed-fi.studentassessment.test-profile-resource-nested-child-collection-filtered-to-includeonly-specific-types-and-descriptors.writable+json", - "description": "test-profile-resource-nested-child-collection-filtered-to-includeonly-specific-types-and-descriptors" + "description": "test-profile-resource-nested-child-collection-filtered-to-includeonly-specific-types-and-descriptors", + "type": "text" } ], "body": { @@ -5160,9 +5162,9 @@ "header": [ { "key": "Content-Type", - "type": "text", "value": "application/vnd.ed-fi.studentassessment.test-profile-resource-nested-child-collection-filtered-to-includeonly-specific-types-and-descriptors.writable+json", - "description": "test-profile-resource-nested-child-collection-filtered-to-includeonly-specific-types-and-escriptors" + "description": "test-profile-resource-nested-child-collection-filtered-to-includeonly-specific-types-and-escriptors", + "type": "text" } ], "body": { @@ -5230,10 +5232,9 @@ "header": [ { "key": "Content-Type", - "name": "Content-Type", "value": "application/vnd.ed-fi.studentassessment.test-profile-resource-nested-child-collection-filtered-to-excludeonly-specific-types-and-descriptors.writable+json", - "type": "text", - "description": "test-profile-resource-nested-child-collection-filtered-to-excludeonly-specific-types-and-descriptors" + "description": "test-profile-resource-nested-child-collection-filtered-to-excludeonly-specific-types-and-descriptors", + "type": "text" } ], "body": { @@ -5389,10 +5390,9 @@ "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", "value": "application/vnd.ed-fi.studentassessment.test-profile-resource-nested-child-collection-filtered-to-excludeonly-specific-types-and-descriptors.writable+json", - "description": "test-profile-resource-nested-child-collection-filtered-to-excludeonly-specific-types-and-descriptors" + "description": "test-profile-resource-nested-child-collection-filtered-to-excludeonly-specific-types-and-descriptors", + "type": "text" } ], "body": { @@ -5457,6 +5457,69 @@ { "name": "Setup", "item": [ + { + "name": "Extension Descriptors", + "item": [ + { + "name": "Ensure Art Medium Descriptor Exists", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"namespace\": \"uri://ed-fi.org/ArtMediumDescriptor\",\r\n \"codeValue\": \"Art Medium\",\r\n \"shortDescription\": \"Art Medium\",\r\n \"description\": \"Art Medium\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{ApiBaseUrl}}/data/v3/sample/artMediumDescriptors", + "host": [ + "{{ApiBaseUrl}}" + ], + "path": [ + "data", + "v3", + "sample", + "artMediumDescriptors" + ] + } + }, + "response": [] + }, + { + "name": "Ensure Favorite Book Category Descriptor Exists", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"namespace\": \"uri://ed-fi.org/FavoriteBookCategoryDescriptor\",\r\n \"codeValue\": \"Non-Fiction\",\r\n \"shortDescription\": \"Non-Fiction\",\r\n \"description\": \"Non-Fiction\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{ApiBaseUrl}}/data/v3/sample/favoriteBookCategoryDescriptors", + "host": [ + "{{ApiBaseUrl}}" + ], + "path": [ + "data", + "v3", + "sample", + "favoriteBookCategoryDescriptors" + ] + } + }, + "response": [] + } + ] + }, { "name": "Create Staff", "event": [ @@ -5795,9 +5858,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.staff.sample-staff-extension-not-Included.readable+json", - "description": "sample-staff-extension-not-Included" + "description": "sample-staff-extension-not-Included", + "type": "text" } ], "url": { @@ -5857,9 +5920,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.staff.sample-staff-extension-excluded.readable+json", - "description": "sample-staff-extension-excluded" + "description": "sample-staff-extension-excluded", + "type": "text" } ], "url": { @@ -5930,9 +5993,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.staff.sample-staff-extension-include-only-deeply.readable+json", - "description": "sample-staff-extension-include-only-deeply" + "description": "sample-staff-extension-include-only-deeply", + "type": "text" } ], "url": { @@ -6003,9 +6066,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.staff.sample-staff-extension-exclude-only-deeply.readable+json", - "description": "sample-staff-extension-exclude-only-deeply" + "description": "sample-staff-extension-exclude-only-deeply", + "type": "text" } ], "url": { @@ -6065,9 +6128,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.staff.sample-staff-extension-exclude-everything.readable+json", - "description": "sample-staff-extension-exclude-everything" + "description": "sample-staff-extension-exclude-everything", + "type": "text" } ], "url": { @@ -6143,9 +6206,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.student.sample-student-extension-include-only-deeply.readable+json", - "description": "sample-student-extension-include-only-deeply" + "description": "sample-student-extension-include-only-deeply", + "type": "text" } ], "url": { @@ -6216,9 +6279,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.student.sample-student-extension-exclude-only-deeply.readable+json", - "description": "sample-student-extension-exclude-only-deeply" + "description": "sample-student-extension-exclude-only-deeply", + "type": "text" } ], "url": { @@ -6278,9 +6341,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.student.sample-student-extension-exclude-everything.readable+json", - "description": "sample-student-extension-exclude-everything" + "description": "sample-student-extension-exclude-everything", + "type": "text" } ], "url": { @@ -6354,9 +6417,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.student.sample-student-extension-multi-level-includeonly.readable+json", - "description": "sample-student-extension-multi-level-includeonly" + "description": "sample-student-extension-multi-level-includeonly", + "type": "text" } ], "url": { @@ -6430,9 +6493,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.student.sample-student-extension-multi-level-excludeonly.readable+json", - "description": "sample-student-extension-multi-level-excludeonly" + "description": "sample-student-extension-multi-level-excludeonly", + "type": "text" } ], "url": { @@ -6766,9 +6829,9 @@ "header": [ { "key": "Content-Type", - "type": "text", "value": "application/vnd.ed-fi.staff.sample-staff-extension-not-included.writable+json", - "description": "sample-staff-extension-not-included" + "description": "sample-staff-extension-not-included", + "type": "text" } ], "body": { @@ -6948,9 +7011,9 @@ "header": [ { "key": "Content-Type", - "type": "text", "value": "application/vnd.ed-fi.staff.sample-staff-extension-excluded.writable+json", - "description": "sample-staff-extension-excluded" + "description": "sample-staff-extension-excluded", + "type": "text" } ], "body": { @@ -7130,9 +7193,9 @@ "header": [ { "key": "Content-Type", - "type": "text", "value": "application/vnd.ed-fi.staff.sample-staff-extension-include-only-deeply.writable+json", - "description": "sample-staff-extension-include-only-deeply" + "description": "sample-staff-extension-include-only-deeply", + "type": "text" } ], "body": { @@ -7312,9 +7375,9 @@ "header": [ { "key": "Content-Type", - "type": "text", "value": "application/vnd.ed-fi.staff.sample-staff-extension-exclude-only-deeply.writable+json", - "description": "sample-staff-extension-exclude-only-deeply" + "description": "sample-staff-extension-exclude-only-deeply", + "type": "text" } ], "body": { @@ -7494,9 +7557,9 @@ "header": [ { "key": "Content-Type", - "type": "text", "value": "application/vnd.ed-fi.staff.sample-staff-extension-exclude-everything.writable+json", - "description": "sample-staff-extension-exclude-everything" + "description": "sample-staff-extension-exclude-everything", + "type": "text" } ], "body": { @@ -8058,9 +8121,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.school.test-profile-resource-includeonly.readable+json", - "description": "test-profile-resource-includeonly" + "description": "test-profile-resource-includeonly", + "type": "text" } ], "url": { @@ -8158,9 +8221,9 @@ "header": [ { "key": "Accept", - "type": "text", "value": "application/vnd.ed-fi.student.test-profile-studentonly2-resource-includeall.readable+json", - "description": "test-profile-studentonly2-resource-includeall" + "description": "test-profile-studentonly2-resource-includeall", + "type": "text" } ], "url": { @@ -8445,8 +8508,8 @@ { "key": "Accept", "value": "application/vnd.ed-fi.student.test-profile-studentonly-resource-includeall.readable+json", - "type": "text", - "description": "test-profile-studentonly-resource-includeall" + "description": "test-profile-studentonly-resource-includeall", + "type": "text" } ], "url": { @@ -8545,8 +8608,8 @@ { "key": "Accept", "value": "application/vnd.ed-fi.student.Test-Profile-StudentOnly2-Resource-IncludeAll.readable+json", - "type": "text", - "description": "Test-Profile-StudentOnly2-Resource-IncludeAll" + "description": "Test-Profile-StudentOnly2-Resource-IncludeAll", + "type": "text" } ], "url": { @@ -8637,8 +8700,8 @@ { "key": "Content-Type", "value": "application/vnd.ed-fi.school.test-profile-resource-includeall.writable+json", - "type": "text", - "description": "test-profile-resource-includeall" + "description": "test-profile-resource-includeall", + "type": "text" } ], "body": { @@ -8745,8 +8808,8 @@ { "key": "Content-Type", "value": "application/vnd.ed-fi.student.test-profile-studentonly2-resource-includeall.writable+json", - "type": "text", - "description": "test-profile-studentonly2-resource-includeall" + "description": "test-profile-studentonly2-resource-includeall", + "type": "text" } ], "body": { @@ -8940,8 +9003,8 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" } ], "body": { @@ -9040,8 +9103,8 @@ { "key": "Content-Type", "value": "application/vnd.ed-fi.school.test-profile-resource-includeall.writable+json", - "type": "text", - "description": "Test-Profile-Resource-IncludeAll" + "description": "Test-Profile-Resource-IncludeAll", + "type": "text" } ], "body": { @@ -9148,8 +9211,8 @@ { "key": "Content-Type", "value": "application/vnd.ed-fi.school.Test-Profile-Resource-WriteOnly.writable+json", - "type": "text", - "description": "Test-Profile-Resource-IncludeAll" + "description": "Test-Profile-Resource-IncludeAll", + "type": "text" } ], "body": { @@ -9278,8 +9341,8 @@ { "key": "Content-Type", "value": "application/vnd.ed-fi.student.test-profile-studentonly2-resource-includeall.writable+json", - "type": "text", - "description": "test-profile-studentonly2-resource-includeall" + "description": "test-profile-studentonly2-resource-includeall", + "type": "text" } ], "url": { @@ -9329,8 +9392,8 @@ { "key": "Content-Type", "value": "application/vnd.ed-fi.student.test-profile-studentonly2-resource-includeall.writable+json", - "type": "text", - "description": "test-profile-studentonly2-resource-includeall" + "description": "test-profile-studentonly2-resource-includeall", + "type": "text" } ], "url": { @@ -9647,8 +9710,8 @@ { "key": "Accept", "value": "application/vnd.ed-fi.student.test-profile-studentonly-resource-includeall.readable+json", - "type": "text", - "description": "test-profile-studentonly-resource-includeall" + "description": "test-profile-studentonly-resource-includeall", + "type": "text" } ], "url": { @@ -9828,8 +9891,8 @@ { "key": "Content-Type", "value": "application/vnd.ed-fi.student.test-profile-studentonly-resource-includeall.writable+json", - "type": "text", - "description": "test-profile-studentonly-resource-includeall" + "description": "test-profile-studentonly-resource-includeall", + "type": "text" } ], "body": { @@ -9915,8 +9978,8 @@ { "key": "Content-Type", "value": "application/vnd.ed-fi.student.test-profile-studentonly2-resource-includeall.writable+json", - "type": "text", - "description": "test-profile-studentonly2-resource-includeall" + "description": "test-profile-studentonly2-resource-includeall", + "type": "text" } ], "url": { @@ -9966,8 +10029,8 @@ { "key": "Content-Type", "value": "application/vnd.ed-fi.student.test-profile-studentonly2-resource-includeall.writable+json", - "type": "text", - "description": "test-profile-studentonly2-resource-includeall" + "description": "test-profile-studentonly2-resource-includeall", + "type": "text" } ], "url": { @@ -10057,17 +10120,24 @@ "listen": "test", "script": { "exec": [ - "\r", - "pm.environment.set(\"known:school:PrimaryKeys\", getPrimaryKeys(\"edFi_school\"));\r", - "pm.environment.set(\"known:studentSpecialEducationProgramAssociations:PrimaryKeys\", getPrimaryKeys(\"edFi_studentSpecialEducationProgramAssociation\")\r", - " .concat(\"educationOrganizationReference\",\"programReference\",\"studentReference\"));\r", + "if (pm.response.code == 404) {\r", + " // If swagger is not available, provide a hard-code version of these very stable keys\r", + " pm.environment.set(\"known:school:PrimaryKeys\", ['schoolId'].concat('id', '_ext'));\r", + " pm.environment.set(\"known:studentSpecialEducationProgramAssociations:PrimaryKeys\", [\"beginDate\", \"educationOrganizationReference\",\"programReference\",\"studentReference\"].concat('id', '_ext'));\r", + "} else {\r", + " // If swagger is available, provide read (and augment with some hard-coded well-known values) using Swagger metadata\r", + " pm.environment.set(\"known:school:PrimaryKeys\", getPrimaryKeys(\"edFi_school\"));\r", + " pm.environment.set(\"known:studentSpecialEducationProgramAssociations:PrimaryKeys\", getPrimaryKeys(\"edFi_studentSpecialEducationProgramAssociation\")\r", + " .concat(\"educationOrganizationReference\",\"programReference\",\"studentReference\"));\r", + "}\r", "\r", "function getPrimaryKeys(resource) {\r", " const resourceProperties = pm.response.json().components.schemas[resource].properties;\r", " return Object.keys(resourceProperties).filter(v => resourceProperties[v]['x-Ed-Fi-isIdentity'] === true).concat('id', '_ext');\r", "}" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -10925,17 +10995,24 @@ "listen": "test", "script": { "exec": [ - "\r", - "pm.environment.set(\"known:school:PrimaryKeys\", getPrimaryKeys(\"edFi_school\"));\r", - "pm.environment.set(\"known:studentSpecialEducationProgramAssociations:PrimaryKeys\", getPrimaryKeys(\"edFi_studentSpecialEducationProgramAssociation\")\r", - " .concat(\"educationOrganizationReference\",\"programReference\",\"studentReference\"));\r", + "if (pm.response.code == 404) {\r", + " // If swagger is not available, provide a hard-code version of these very stable keys\r", + " pm.environment.set(\"known:school:PrimaryKeys\", ['schoolId'].concat('id', '_ext'));\r", + " pm.environment.set(\"known:studentSpecialEducationProgramAssociations:PrimaryKeys\", [\"beginDate\", \"educationOrganizationReference\",\"programReference\",\"studentReference\"].concat('id', '_ext'));\r", + "} else {\r", + " // If swagger is available, provide read (and augment with some hard-coded well-known values) using Swagger metadata\r", + " pm.environment.set(\"known:school:PrimaryKeys\", getPrimaryKeys(\"edFi_school\"));\r", + " pm.environment.set(\"known:studentSpecialEducationProgramAssociations:PrimaryKeys\", getPrimaryKeys(\"edFi_studentSpecialEducationProgramAssociation\")\r", + " .concat(\"educationOrganizationReference\",\"programReference\",\"studentReference\"));\r", + "}\r", "\r", "function getPrimaryKeys(resource) {\r", " const resourceProperties = pm.response.json().components.schemas[resource].properties;\r", - " return Object.keys(resourceProperties).filter(v => resourceProperties[v]['x-Ed-Fi-isIdentity'] === true).concat('id');\r", + " return Object.keys(resourceProperties).filter(v => resourceProperties[v]['x-Ed-Fi-isIdentity'] === true).concat('id', '_ext');\r", "}" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -11180,7 +11257,7 @@ "\r", "const originalEntity = pm.environment.get(\"known:school\");\r", "const profileEntity = pm.response.json();\r", - "const keys = pm.environment.get(\"known:school:PrimaryKeys\").concat(\"_etag\", \"_lastModifiedDate\");\r", + "const keys = _.filter(pm.environment.get(\"known:school:PrimaryKeys\"), k => k[0] != '_'); // exclude special properties\r", "const profileIncludeKeys = [\r", " \"nameOfInstitution\",\r", " \"operationalStatusDescriptor\",\r", @@ -11200,8 +11277,10 @@ "\r", "pm.test(\"The response model should contain the explicitly included properties\",\r", " () => {\r", - " // Traverse all properties that are not pripary keys\r", - " for (const key of Object.keys(originalEntity).filter(function (e) { return this.indexOf(e) < 0; }, keys)) \r", + " // Traverse all properties that are not primary keys\r", + " for (const key of Object.keys(originalEntity)\r", + " .filter(function (e) { return this.indexOf(e) < 0; }, keys)\r", + " .filter(k => k[0] != '_')) // exclude special properties \r", " { \r", " // If property is not an array, make a deep comparison\r", " if (!Array.isArray(originalEntity[key])) {\r", @@ -11223,7 +11302,7 @@ "\r", "pm.test(\"the number of properties on the response model should reflect the number of included properties plus the primary key properties\",\r", " () => {\r", - " pm.expect(Object.entries(profileEntity).length).to.equal(profileIncludeKeys.length + keys.length);\r", + " pm.expect(Object.keys(profileEntity).filter(k => k[0] != '_').length).to.equal(profileIncludeKeys.length + keys.length);\r", "});\r", "" ], @@ -11269,7 +11348,7 @@ "\r", "const originalEntity = pm.environment.get(\"known:studentSpecialEducationProgramAssociation\");\r", "const profileEntity = pm.response.json();\r", - "const keys = pm.environment.get(\"known:studentSpecialEducationProgramAssociations:PrimaryKeys\").concat(\"_etag\", \"_lastModifiedDate\");\r", + "const keys = _.filter(pm.environment.get(\"known:studentSpecialEducationProgramAssociations:PrimaryKeys\"), k => k[0] != '_'); // exclude special properties\r", "const profileIncludeKeys = [\r", " \"specialEducationSettingDescriptor\",\r", " \"specialEducationHoursPerWeek\",\r", @@ -11286,7 +11365,9 @@ "pm.test(\"The response model should contain the explicitly included properties\",\r", " () => { \r", " // Traverse all properties that are not pripary keys\r", - " for (const key of Object.keys(originalEntity).filter(function (e) { return this.indexOf(e) < 0; }, keys)) \r", + " for (const key of Object.keys(originalEntity)\r", + " .filter(function (e) { return this.indexOf(e) < 0; }, keys)\r", + " .filter(k => k[0] != '_')) // exclude special properties \r", " { \r", " // If property is not an array, make a deep comparison\r", " if (!Array.isArray(originalEntity[key])) {\r", @@ -11308,11 +11389,16 @@ "\r", "pm.test(\"the number of properties on the response model should reflect the number of included properties plus the primary key properties\",\r", " () => {\r", - " pm.expect(Object.entries(profileEntity).length).to.equal(profileIncludeKeys.length + keys.length);\r", + " console.log(Object.entries(profileEntity));\r", + " console.log(profileIncludeKeys);\r", + " console.log(keys);\r", + "\r", + " pm.expect(Object.keys(profileEntity).filter(k => k[0] != '_').length).to.equal(profileIncludeKeys.length + keys.length);\r", "});\r", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -11755,17 +11841,24 @@ "listen": "test", "script": { "exec": [ - "\r", - "pm.environment.set(\"known:school:PrimaryKeys\", getPrimaryKeys(\"edFi_school\"));\r", - "pm.environment.set(\"known:studentSpecialEducationProgramAssociations:PrimaryKeys\", getPrimaryKeys(\"edFi_studentSpecialEducationProgramAssociation\")\r", - " .concat(\"educationOrganizationReference\",\"programReference\",\"studentReference\"));\r", + "if (pm.response.code == 404) {\r", + " // If swagger is not available, provide a hard-code version of these very stable keys\r", + " pm.environment.set(\"known:school:PrimaryKeys\", ['schoolId'].concat('id', '_ext'));\r", + " pm.environment.set(\"known:studentSpecialEducationProgramAssociations:PrimaryKeys\", [\"beginDate\", \"educationOrganizationReference\",\"programReference\",\"studentReference\"].concat('id', '_ext'));\r", + "} else {\r", + " // If swagger is available, provide read (and augment with some hard-coded well-known values) using Swagger metadata\r", + " pm.environment.set(\"known:school:PrimaryKeys\", getPrimaryKeys(\"edFi_school\"));\r", + " pm.environment.set(\"known:studentSpecialEducationProgramAssociations:PrimaryKeys\", getPrimaryKeys(\"edFi_studentSpecialEducationProgramAssociation\")\r", + " .concat(\"educationOrganizationReference\",\"programReference\",\"studentReference\"));\r", + "}\r", "\r", "function getPrimaryKeys(resource) {\r", " const resourceProperties = pm.response.json().components.schemas[resource].properties;\r", - " return Object.keys(resourceProperties).filter(v => resourceProperties[v]['x-Ed-Fi-isIdentity'] === true).concat('id');\r", + " return Object.keys(resourceProperties).filter(v => resourceProperties[v]['x-Ed-Fi-isIdentity'] === true).concat('id', '_ext');\r", "}" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -11820,7 +11913,8 @@ "});\r", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } }, { @@ -11829,7 +11923,8 @@ "exec": [ "pm.environment.set(\"supplied:schoolId\", pm.variables.replaceIn(\"12{{$randomInt}}{{$randomInt}}\"));" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -11838,7 +11933,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"schoolId\": {{supplied:schoolId}},\r\n \"localEducationAgencyReference\": {\r\n \"localEducationAgencyId\": 255901,\r\n },\r\n \"nameOfInstitution\": \"School 1\",\r\n \"operationalStatusDescriptor\": \"uri://ed-fi.org/OperationalStatusDescriptor#Active\",\r\n \"schoolTypeDescriptor\": \"uri://ed-fi.org/SchoolTypeDescriptor#Regular\",\r\n \"administrativeFundingControlDescriptor\": \"uri://ed-fi.org/AdministrativeFundingControlDescriptor#Other\",\r\n \"charterApprovalSchoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"addresses\": [\r\n {\r\n \"addressTypeDescriptor\": \"uri://ed-fi.org/AddressTypeDescriptor#Physical\",\r\n \"city\": \"Austin\",\r\n \"postalCode\": \"78712\",\r\n \"stateAbbreviationDescriptor\": \"uri://ed-fi.org/StateAbbreviationDescriptor#TX\",\r\n \"streetNumberName\": \"1912 Speedway Stop D5000\",\r\n \"nameOfCounty\": \"Travis\"\r\n }\r\n ],\r\n \"educationOrganizationCategories\": [\r\n {\r\n \"educationOrganizationCategoryDescriptor\": \"uri://tpdm.ed-fi.org/EducationOrganizationCategoryDescriptor#University\"\r\n }\r\n ],\r\n \"schoolCategories\": [\r\n {\r\n \"schoolCategoryDescriptor\": \"uri://ed-fi.org/SchoolCategoryDescriptor#High School\"\r\n }\r\n ],\r\n \"gradeLevels\": [\r\n {\r\n \"gradeLevelDescriptor\": \"uri://ed-fi.org/GradeLevelDescriptor#Postsecondary\"\r\n }\r\n ]\r\n}", + "raw": "{\r\n \"schoolId\": {{supplied:schoolId}},\r\n \"localEducationAgencyReference\": {\r\n \"localEducationAgencyId\": 255901\r\n },\r\n \"nameOfInstitution\": \"School 1\",\r\n \"operationalStatusDescriptor\": \"uri://ed-fi.org/OperationalStatusDescriptor#Active\",\r\n \"schoolTypeDescriptor\": \"uri://ed-fi.org/SchoolTypeDescriptor#Regular\",\r\n \"administrativeFundingControlDescriptor\": \"uri://ed-fi.org/AdministrativeFundingControlDescriptor#Other\",\r\n \"charterApprovalSchoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"addresses\": [\r\n {\r\n \"addressTypeDescriptor\": \"uri://ed-fi.org/AddressTypeDescriptor#Physical\",\r\n \"city\": \"Austin\",\r\n \"postalCode\": \"78712\",\r\n \"stateAbbreviationDescriptor\": \"uri://ed-fi.org/StateAbbreviationDescriptor#TX\",\r\n \"streetNumberName\": \"1912 Speedway Stop D5000\",\r\n \"nameOfCounty\": \"Travis\"\r\n }\r\n ],\r\n \"educationOrganizationCategories\": [\r\n {\r\n \"educationOrganizationCategoryDescriptor\": \"uri://tpdm.ed-fi.org/EducationOrganizationCategoryDescriptor#University\"\r\n }\r\n ],\r\n \"schoolCategories\": [\r\n {\r\n \"schoolCategoryDescriptor\": \"uri://ed-fi.org/SchoolCategoryDescriptor#High School\"\r\n }\r\n ],\r\n \"gradeLevels\": [\r\n {\r\n \"gradeLevelDescriptor\": \"uri://ed-fi.org/GradeLevelDescriptor#Postsecondary\"\r\n }\r\n ]\r\n}", "options": { "raw": { "language": "json" @@ -12617,17 +12712,24 @@ "listen": "test", "script": { "exec": [ - "\r", - "pm.environment.set(\"known:school:PrimaryKeys\", getPrimaryKeys(\"edFi_school\"));\r", - "pm.environment.set(\"known:studentSpecialEducationProgramAssociations:PrimaryKeys\", getPrimaryKeys(\"edFi_studentSpecialEducationProgramAssociation\")\r", - " .concat(\"educationOrganizationReference\",\"programReference\",\"studentReference\"));\r", + "if (pm.response.code == 404) {\r", + " // If swagger is not available, provide a hard-code version of these very stable keys\r", + " pm.environment.set(\"known:school:PrimaryKeys\", ['schoolId'].concat('id', '_ext'));\r", + " pm.environment.set(\"known:studentSpecialEducationProgramAssociations:PrimaryKeys\", [\"educationOrganizationReference\",\"programReference\",\"studentReference\"].concat('id', '_ext'));\r", + "} else {\r", + " // If swagger is available, provide read (and augment with some hard-coded well-known values) using Swagger metadata\r", + " pm.environment.set(\"known:school:PrimaryKeys\", getPrimaryKeys(\"edFi_school\"));\r", + " pm.environment.set(\"known:studentSpecialEducationProgramAssociations:PrimaryKeys\", getPrimaryKeys(\"edFi_studentSpecialEducationProgramAssociation\")\r", + " .concat(\"educationOrganizationReference\",\"programReference\",\"studentReference\"));\r", + "}\r", "\r", "function getPrimaryKeys(resource) {\r", " const resourceProperties = pm.response.json().components.schemas[resource].properties;\r", - " return Object.keys(resourceProperties).filter(v => resourceProperties[v]['x-Ed-Fi-isIdentity'] === true).concat('id');\r", + " return Object.keys(resourceProperties).filter(v => resourceProperties[v]['x-Ed-Fi-isIdentity'] === true).concat('id', '_ext');\r", "}" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -12682,7 +12784,8 @@ "});\r", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } }, { @@ -12691,7 +12794,8 @@ "exec": [ "pm.environment.set(\"supplied:schoolId\", pm.variables.replaceIn(\"12{{$randomInt}}{{$randomInt}}\"));" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -12700,7 +12804,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"schoolId\": {{supplied:schoolId}},\r\n \"localEducationAgencyReference\": {\r\n \"localEducationAgencyId\": 255901,\r\n },\r\n \"nameOfInstitution\": \"School 1\",\r\n \"operationalStatusDescriptor\": \"uri://ed-fi.org/OperationalStatusDescriptor#Active\",\r\n \"schoolTypeDescriptor\": \"uri://ed-fi.org/SchoolTypeDescriptor#Regular\",\r\n \"administrativeFundingControlDescriptor\": \"uri://ed-fi.org/AdministrativeFundingControlDescriptor#Other\",\r\n \"charterApprovalSchoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"addresses\": [\r\n {\r\n \"addressTypeDescriptor\": \"uri://ed-fi.org/AddressTypeDescriptor#Physical\",\r\n \"city\": \"Austin\",\r\n \"postalCode\": \"78712\",\r\n \"stateAbbreviationDescriptor\": \"uri://ed-fi.org/StateAbbreviationDescriptor#TX\",\r\n \"streetNumberName\": \"1912 Speedway Stop D5000\",\r\n \"nameOfCounty\": \"Travis\"\r\n }\r\n ],\r\n \"educationOrganizationCategories\": [\r\n {\r\n \"educationOrganizationCategoryDescriptor\": \"uri://tpdm.ed-fi.org/EducationOrganizationCategoryDescriptor#University\"\r\n }\r\n ],\r\n \"schoolCategories\": [\r\n {\r\n \"schoolCategoryDescriptor\": \"uri://ed-fi.org/SchoolCategoryDescriptor#High School\"\r\n }\r\n ],\r\n \"gradeLevels\": [\r\n {\r\n \"gradeLevelDescriptor\": \"uri://ed-fi.org/GradeLevelDescriptor#Postsecondary\"\r\n }\r\n ]\r\n}", + "raw": "{\r\n \"schoolId\": {{supplied:schoolId}},\r\n \"localEducationAgencyReference\": {\r\n \"localEducationAgencyId\": 255901\r\n },\r\n \"nameOfInstitution\": \"School 1\",\r\n \"operationalStatusDescriptor\": \"uri://ed-fi.org/OperationalStatusDescriptor#Active\",\r\n \"schoolTypeDescriptor\": \"uri://ed-fi.org/SchoolTypeDescriptor#Regular\",\r\n \"administrativeFundingControlDescriptor\": \"uri://ed-fi.org/AdministrativeFundingControlDescriptor#Other\",\r\n \"charterApprovalSchoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"addresses\": [\r\n {\r\n \"addressTypeDescriptor\": \"uri://ed-fi.org/AddressTypeDescriptor#Physical\",\r\n \"city\": \"Austin\",\r\n \"postalCode\": \"78712\",\r\n \"stateAbbreviationDescriptor\": \"uri://ed-fi.org/StateAbbreviationDescriptor#TX\",\r\n \"streetNumberName\": \"1912 Speedway Stop D5000\",\r\n \"nameOfCounty\": \"Travis\"\r\n }\r\n ],\r\n \"educationOrganizationCategories\": [\r\n {\r\n \"educationOrganizationCategoryDescriptor\": \"uri://tpdm.ed-fi.org/EducationOrganizationCategoryDescriptor#University\"\r\n }\r\n ],\r\n \"schoolCategories\": [\r\n {\r\n \"schoolCategoryDescriptor\": \"uri://ed-fi.org/SchoolCategoryDescriptor#High School\"\r\n }\r\n ],\r\n \"gradeLevels\": [\r\n {\r\n \"gradeLevelDescriptor\": \"uri://ed-fi.org/GradeLevelDescriptor#Postsecondary\"\r\n }\r\n ]\r\n}", "options": { "raw": { "language": "json" @@ -12740,7 +12844,7 @@ "\r", "const originalEntity = pm.environment.get(\"known:school\");\r", "const profileEntity = pm.response.json();\r", - "const keys = pm.environment.get(\"known:school:PrimaryKeys\").concat(\"_etag\", \"_lastModifiedDate\");\r", + "const keys = _.filter(pm.environment.get(\"known:school:PrimaryKeys\"), k => k[0] != '_'); // exclude special properties\r", "const profileRegularReferenceIncludeKeys = [\r", " \"localEducationAgencyReference\"\r", "];\r", @@ -12758,7 +12862,9 @@ "pm.test(\"the response model should contain the explicitly included regular reference properties\",\r", " () => {\r", " // Traverse all properties that are not pripary keys\r", - " for (const key of Object.keys(originalEntity).filter(function (e) { return this.indexOf(e) < 0; }, keys)) \r", + " for (const key of Object.keys(originalEntity)\r", + " .filter(function (e) { return this.indexOf(e) < 0; }, keys)\r", + " .filter(k => k[0] != '_')) // exclude special properties\r", " { \r", " // If property is not an array, make a deep comparison\r", " if (!Array.isArray(originalEntity[key])) {\r", @@ -12797,11 +12903,14 @@ "\r", "pm.test(\"the number of properties on the response model should reflect the number of included properties plus the primary key properties\",\r", " () => {\r", - " pm.expect(Object.keys(profileEntity).length).to.equal(profileRegularReferenceIncludeKeys.length + profileRoleNamedReferenceIncludeKeys.length + keys.length);\r", + " const expectedCount = profileRegularReferenceIncludeKeys.length + profileRoleNamedReferenceIncludeKeys.length + keys.length;\r", + "\r", + " pm.expect(Object.keys(profileEntity).filter(k => k[0] != '_').length).to.equal(expectedCount);\r", "});\r", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -13048,17 +13157,24 @@ "listen": "test", "script": { "exec": [ - "\r", - "pm.environment.set(\"known:school:PrimaryKeys\", getPrimaryKeys(\"edFi_school\"));\r", - "pm.environment.set(\"known:studentSpecialEducationProgramAssociations:PrimaryKeys\", getPrimaryKeys(\"edFi_studentSpecialEducationProgramAssociation\")\r", - " .concat(\"educationOrganizationReference\",\"programReference\",\"studentReference\"));\r", + "if (pm.response.code == 404) {\r", + " // If swagger is not available, provide a hard-code version of these very stable keys\r", + " pm.environment.set(\"known:school:PrimaryKeys\", ['schoolId'].concat('id', '_ext'));\r", + " pm.environment.set(\"known:studentSpecialEducationProgramAssociations:PrimaryKeys\", [\"beginDate\", \"educationOrganizationReference\",\"programReference\",\"studentReference\"].concat('id'));\r", + "} else {\r", + " // If swagger is available, provide read (and augment with some hard-coded well-known values) using Swagger metadata\r", + " pm.environment.set(\"known:school:PrimaryKeys\", getPrimaryKeys(\"edFi_school\"));\r", + " pm.environment.set(\"known:studentSpecialEducationProgramAssociations:PrimaryKeys\", getPrimaryKeys(\"edFi_studentSpecialEducationProgramAssociation\")\r", + " .concat(\"educationOrganizationReference\",\"programReference\",\"studentReference\"));\r", + "}\r", "\r", "function getPrimaryKeys(resource) {\r", " const resourceProperties = pm.response.json().components.schemas[resource].properties;\r", " return Object.keys(resourceProperties).filter(v => resourceProperties[v]['x-Ed-Fi-isIdentity'] === true).concat('id');\r", "}" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -13113,7 +13229,8 @@ "});\r", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } }, { @@ -13122,7 +13239,8 @@ "exec": [ "pm.environment.set(\"supplied:schoolId\", pm.variables.replaceIn(\"12{{$randomInt}}{{$randomInt}}\"));" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -13131,7 +13249,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"schoolId\": {{supplied:schoolId}},\r\n \"localEducationAgencyReference\": {\r\n \"localEducationAgencyId\": 255901,\r\n },\r\n \"nameOfInstitution\": \"School 1\",\r\n \"operationalStatusDescriptor\": \"uri://ed-fi.org/OperationalStatusDescriptor#Active\",\r\n \"schoolTypeDescriptor\": \"uri://ed-fi.org/SchoolTypeDescriptor#Regular\",\r\n \"administrativeFundingControlDescriptor\": \"uri://ed-fi.org/AdministrativeFundingControlDescriptor#Other\",\r\n \"charterApprovalSchoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"addresses\": [\r\n {\r\n \"addressTypeDescriptor\": \"uri://ed-fi.org/AddressTypeDescriptor#Physical\",\r\n \"city\": \"Austin\",\r\n \"postalCode\": \"78712\",\r\n \"stateAbbreviationDescriptor\": \"uri://ed-fi.org/StateAbbreviationDescriptor#TX\",\r\n \"streetNumberName\": \"1912 Speedway Stop D5000\",\r\n \"nameOfCounty\": \"Travis\"\r\n }\r\n ],\r\n \"educationOrganizationCategories\": [\r\n {\r\n \"educationOrganizationCategoryDescriptor\": \"uri://tpdm.ed-fi.org/EducationOrganizationCategoryDescriptor#University\"\r\n }\r\n ],\r\n \"schoolCategories\": [\r\n {\r\n \"schoolCategoryDescriptor\": \"uri://ed-fi.org/SchoolCategoryDescriptor#High School\"\r\n }\r\n ],\r\n \"gradeLevels\": [\r\n {\r\n \"gradeLevelDescriptor\": \"uri://ed-fi.org/GradeLevelDescriptor#Postsecondary\"\r\n }\r\n ]\r\n}", + "raw": "{\r\n \"schoolId\": {{supplied:schoolId}},\r\n \"localEducationAgencyReference\": {\r\n \"localEducationAgencyId\": 255901\r\n },\r\n \"nameOfInstitution\": \"School 1\",\r\n \"operationalStatusDescriptor\": \"uri://ed-fi.org/OperationalStatusDescriptor#Active\",\r\n \"schoolTypeDescriptor\": \"uri://ed-fi.org/SchoolTypeDescriptor#Regular\",\r\n \"administrativeFundingControlDescriptor\": \"uri://ed-fi.org/AdministrativeFundingControlDescriptor#Other\",\r\n \"charterApprovalSchoolYearTypeReference\": {\r\n \"schoolYear\": 2022\r\n },\r\n \"addresses\": [\r\n {\r\n \"addressTypeDescriptor\": \"uri://ed-fi.org/AddressTypeDescriptor#Physical\",\r\n \"city\": \"Austin\",\r\n \"postalCode\": \"78712\",\r\n \"stateAbbreviationDescriptor\": \"uri://ed-fi.org/StateAbbreviationDescriptor#TX\",\r\n \"streetNumberName\": \"1912 Speedway Stop D5000\",\r\n \"nameOfCounty\": \"Travis\"\r\n }\r\n ],\r\n \"educationOrganizationCategories\": [\r\n {\r\n \"educationOrganizationCategoryDescriptor\": \"uri://tpdm.ed-fi.org/EducationOrganizationCategoryDescriptor#University\"\r\n }\r\n ],\r\n \"schoolCategories\": [\r\n {\r\n \"schoolCategoryDescriptor\": \"uri://ed-fi.org/SchoolCategoryDescriptor#High School\"\r\n }\r\n ],\r\n \"gradeLevels\": [\r\n {\r\n \"gradeLevelDescriptor\": \"uri://ed-fi.org/GradeLevelDescriptor#Postsecondary\"\r\n }\r\n ]\r\n}", "options": { "raw": { "language": "json" @@ -13473,15 +13591,22 @@ "listen": "test", "script": { "exec": [ - "\r", - "pm.environment.set(\"known:educationOrganizationAddress:PrimaryKeys\", getPrimaryKeys(\"edFi_educationOrganizationAddress\"));\r", + "if (pm.response.code == 404) {\r", + " // If swagger is not available, provide a hard-code version of these very stable keys\r", + " pm.environment.set(\"known:educationOrganizationAddress:PrimaryKeys\", [\"addressTypeDescriptor\",\"stateAbbreviationDescriptor\",\"city\",\"postalCode\",\"streetNumberName\"]);\r", + "} else {\r", + " // If swagger is available, provide read (and augment with some hard-coded well-known values) using Swagger metadata\r", + " pm.environment.set(\"known:educationOrganizationAddress:PrimaryKeys\", getPrimaryKeys(\"edFi_educationOrganizationAddress\"));\r", + "}\r", "\r", "function getPrimaryKeys(resource) {\r", " const resourceProperties = pm.response.json().components.schemas[resource].properties;\r", " return Object.keys(resourceProperties).filter(v => resourceProperties[v]['x-Ed-Fi-isIdentity'] === true);\r", - "}" + "}\r", + "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -13536,7 +13661,8 @@ "});\r", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } }, { @@ -13545,7 +13671,8 @@ "exec": [ "pm.environment.set(\"supplied:localEducationAgencyId:A\", pm.variables.replaceIn(\"12{{$randomInt}}{{$randomInt}}\"));" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -13554,7 +13681,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"educationServiceCenterReference\": {\r\n \"educationServiceCenterId\": 255950\r\n },\r\n \"localEducationAgencyId\": {{supplied:localEducationAgencyId:A}},\r\n \"nameOfInstitution\": \"LEA A\",\r\n \"shortNameOfInstitution\": \"LEA A\",\r\n \"webSite\": \"http://www.lea-a.edu/\",\r\n \"localEducationAgencyCategoryDescriptor\": \"uri://ed-fi.org/LocalEducationAgencyCategoryDescriptor#Independent\",\r\n \"addresses\": [\r\n {\r\n \"addressTypeDescriptor\": \"uri://ed-fi.org/AddressTypeDescriptor#Physical\",\r\n \"city\": \"AA\",\r\n \"postalCode\": \"73334\",\r\n \"stateAbbreviationDescriptor\": \"uri://ed-fi.org/StateAbbreviationDescriptor#TX\",\r\n \"streetNumberName\": \"123 Main Street\",\r\n \"nameOfCounty\": \"Williston\",\r\n \"latitude\": \"lat\",\r\n \"longitude\": \"long\",\r\n \"apartmentRoomSuiteNumber\": \"AP 333\",\r\n \"doNotPublishIndicator\": false\r\n }\r\n ],\r\n \"categories\": [\r\n {\r\n \"educationOrganizationCategoryDescriptor\": \"uri://ed-fi.org/EducationOrganizationCategoryDescriptor#Local Education Agency\"\r\n }\r\n ],\r\n \"identificationCodes\": [\r\n {\r\n \"educationOrganizationIdentificationSystemDescriptor\": \"uri://ed-fi.org/EducationOrganizationIdentificationSystemDescriptor#SEA\",\r\n \"identificationCode\": {{supplied:localEducationAgencyId:A}}\r\n }\r\n ],\r\n \"institutionTelephones\": [\r\n {\r\n \"institutionTelephoneNumberTypeDescriptor\": \"uri://ed-fi.org/InstitutionTelephoneNumberTypeDescriptor#Main\",\r\n \"telephoneNumber\": \"(999) 123-456\"\r\n }\r\n ]\r\n}", + "raw": "{\r\n \"educationServiceCenterReference\": {\r\n \"educationServiceCenterId\": 255950\r\n },\r\n \"localEducationAgencyId\": {{supplied:localEducationAgencyId:A}},\r\n \"nameOfInstitution\": \"LEA A\",\r\n \"shortNameOfInstitution\": \"LEA A\",\r\n \"webSite\": \"http://www.lea-a.edu/\",\r\n \"localEducationAgencyCategoryDescriptor\": \"uri://ed-fi.org/LocalEducationAgencyCategoryDescriptor#Independent\",\r\n \"addresses\": [\r\n {\r\n \"addressTypeDescriptor\": \"uri://ed-fi.org/AddressTypeDescriptor#Physical\",\r\n \"city\": \"AA\",\r\n \"postalCode\": \"73334\",\r\n \"stateAbbreviationDescriptor\": \"uri://ed-fi.org/StateAbbreviationDescriptor#TX\",\r\n \"streetNumberName\": \"123 Main Street\",\r\n \"nameOfCounty\": \"Williston\",\r\n \"latitude\": \"lat\",\r\n \"longitude\": \"long\",\r\n \"apartmentRoomSuiteNumber\": \"AP 333\",\r\n \"doNotPublishIndicator\": false\r\n }\r\n ],\r\n \"categories\": [\r\n {\r\n \"educationOrganizationCategoryDescriptor\": \"uri://ed-fi.org/EducationOrganizationCategoryDescriptor#Local Education Agency\"\r\n }\r\n ],\r\n \"identificationCodes\": [\r\n {\r\n \"educationOrganizationIdentificationSystemDescriptor\": \"uri://ed-fi.org/EducationOrganizationIdentificationSystemDescriptor#SEA\",\r\n \"identificationCode\": \"{{supplied:localEducationAgencyId:A}}\"\r\n }\r\n ],\r\n \"institutionTelephones\": [\r\n {\r\n \"institutionTelephoneNumberTypeDescriptor\": \"uri://ed-fi.org/InstitutionTelephoneNumberTypeDescriptor#Main\",\r\n \"telephoneNumber\": \"(999) 123-456\"\r\n }\r\n ]\r\n}", "options": { "raw": { "language": "json" @@ -13602,7 +13729,8 @@ "});\r", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } }, { @@ -13611,7 +13739,8 @@ "exec": [ "pm.environment.set(\"supplied:localEducationAgencyId:B\", pm.variables.replaceIn(\"12{{$randomInt}}{{$randomInt}}\"));" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -13620,7 +13749,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\r\n \"educationServiceCenterReference\": {\r\n \"educationServiceCenterId\": 255950\r\n },\r\n \"localEducationAgencyId\": {{supplied:localEducationAgencyId:B}},\r\n \"nameOfInstitution\": \"LEA B\",\r\n \"shortNameOfInstitution\": \"LEA B\",\r\n \"webSite\": \"http://www.lea-b.edu/\",\r\n \"localEducationAgencyCategoryDescriptor\": \"uri://ed-fi.org/LocalEducationAgencyCategoryDescriptor#Independent\",\r\n \"addresses\": [\r\n {\r\n \"addressTypeDescriptor\": \"uri://ed-fi.org/AddressTypeDescriptor#Physical\",\r\n \"city\": \"BB\",\r\n \"postalCode\": \"73334\",\r\n \"stateAbbreviationDescriptor\": \"uri://ed-fi.org/StateAbbreviationDescriptor#TX\",\r\n \"streetNumberName\": \"123 Main Street\",\r\n \"nameOfCounty\": \"Williston\",\r\n \"latitude\": \"lat\",\r\n \"longitude\": \"long\",\r\n \"apartmentRoomSuiteNumber\": \"AP 333\",\r\n \"doNotPublishIndicator\": false\r\n }\r\n ],\r\n \"categories\": [\r\n {\r\n \"educationOrganizationCategoryDescriptor\": \"uri://ed-fi.org/EducationOrganizationCategoryDescriptor#Local Education Agency\"\r\n }\r\n ],\r\n \"identificationCodes\": [\r\n {\r\n \"educationOrganizationIdentificationSystemDescriptor\": \"uri://ed-fi.org/EducationOrganizationIdentificationSystemDescriptor#SEA\",\r\n \"identificationCode\": {{supplied:localEducationAgencyId:A}}\r\n }\r\n ],\r\n \"institutionTelephones\": [\r\n {\r\n \"institutionTelephoneNumberTypeDescriptor\": \"uri://ed-fi.org/InstitutionTelephoneNumberTypeDescriptor#Main\",\r\n \"telephoneNumber\": \"(999) 123-456\"\r\n }\r\n ]\r\n}", + "raw": "{\r\n \"educationServiceCenterReference\": {\r\n \"educationServiceCenterId\": 255950\r\n },\r\n \"localEducationAgencyId\": {{supplied:localEducationAgencyId:B}},\r\n \"nameOfInstitution\": \"LEA B\",\r\n \"shortNameOfInstitution\": \"LEA B\",\r\n \"webSite\": \"http://www.lea-b.edu/\",\r\n \"localEducationAgencyCategoryDescriptor\": \"uri://ed-fi.org/LocalEducationAgencyCategoryDescriptor#Independent\",\r\n \"addresses\": [\r\n {\r\n \"addressTypeDescriptor\": \"uri://ed-fi.org/AddressTypeDescriptor#Physical\",\r\n \"city\": \"BB\",\r\n \"postalCode\": \"73334\",\r\n \"stateAbbreviationDescriptor\": \"uri://ed-fi.org/StateAbbreviationDescriptor#TX\",\r\n \"streetNumberName\": \"123 Main Street\",\r\n \"nameOfCounty\": \"Williston\",\r\n \"latitude\": \"lat\",\r\n \"longitude\": \"long\",\r\n \"apartmentRoomSuiteNumber\": \"AP 333\",\r\n \"doNotPublishIndicator\": false\r\n }\r\n ],\r\n \"categories\": [\r\n {\r\n \"educationOrganizationCategoryDescriptor\": \"uri://ed-fi.org/EducationOrganizationCategoryDescriptor#Local Education Agency\"\r\n }\r\n ],\r\n \"identificationCodes\": [\r\n {\r\n \"educationOrganizationIdentificationSystemDescriptor\": \"uri://ed-fi.org/EducationOrganizationIdentificationSystemDescriptor#SEA\",\r\n \"identificationCode\": \"{{supplied:localEducationAgencyId:A}}\"\r\n }\r\n ],\r\n \"institutionTelephones\": [\r\n {\r\n \"institutionTelephoneNumberTypeDescriptor\": \"uri://ed-fi.org/InstitutionTelephoneNumberTypeDescriptor#Main\",\r\n \"telephoneNumber\": \"(999) 123-456\"\r\n }\r\n ]\r\n}", "options": { "raw": { "language": "json" @@ -14245,10 +14374,11 @@ "});\r", "\r", "pm.test(\"Should include error indicating that the profile cannot be used to create the resource item.\", () => {\r", - " pm.expect(problemDetails.errors).to.contain(\"The Profile definition for 'test-profile-resource-non-creatable' excludes (or does not include) one or more required data elements needed to create the resource.\");\r", + " pm.expect(problemDetails.errors).to.match(/The Profile definition for 'test-profile-resource-non-creatable' excludes \\(or does not include\\) one or more required data elements needed to create the resource./i);\r", "});" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -14318,10 +14448,11 @@ "});\r", "\r", "pm.test(\"Should include error indicating that the profile cannot be used to create the resource item.\", () => {\r", - " pm.expect(problemDetails.errors).to.contain(\"The Profile definition for 'test-profile-resource-includes-child-collection-with-non-creatable-items' excludes (or does not include) one or more required data elements needed to create a child item of type 'EducationOrganizationInternationalAddress' in the resource.\");\r", + " pm.expect(problemDetails.errors).to.match(/The Profile definition for 'test-profile-resource-includes-child-collection-with-non-creatable-items' excludes \\(or does not include\\) one or more required data elements needed to create a child item of type 'EducationOrganizationInternationalAddress' in the resource./i);\r", "});" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -14443,10 +14574,11 @@ "});\r", "\r", "pm.test(\"Should include error indicating that the profile cannot be used to create the resource item.\", () => {\r", - " pm.expect(problemDetails.errors).to.contain(\"The Profile definition for 'test-profile-resource-includes-child-collection-with-non-creatable-items' excludes (or does not include) one or more required data elements needed to create a child item of type 'EducationOrganizationInternationalAddress' in the resource.\");\r", + " pm.expect(problemDetails.errors).to.match(/The Profile definition for 'test-profile-resource-includes-child-collection-with-non-creatable-items' excludes \\(or does not include\\) one or more required data elements needed to create a child item of type 'EducationOrganizationInternationalAddress' in the resource./i);\r", "});" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -14511,10 +14643,11 @@ "});\r", "\r", "pm.test(\"Should include error indicating that the profile cannot be used to create the resource item.\", () => {\r", - " pm.expect(problemDetails.errors).to.contain(\"The Profile definition for 'test-profile-resource-includes-child-collection-with-non-creatable-items' excludes (or does not include) one or more required data elements needed to create a child item of type 'EducationOrganizationInternationalAddress' in the resource.\");\r", + " pm.expect(problemDetails.errors).to.match(/The Profile definition for 'test-profile-resource-includes-child-collection-with-non-creatable-items' excludes \\(or does not include\\) one or more required data elements needed to create a child item of type 'EducationOrganizationInternationalAddress' in the resource./i);\r", "});" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -14631,10 +14764,11 @@ "});\r", "\r", "pm.test(\"Should include error indicating that the profile cannot be used to create the resource item.\", () => {\r", - " pm.expect(problemDetails.errors).to.contain(\"The Profile definition for 'assessment-writable-includes-non-creatable-embedded-object' excludes (or does not include) one or more required data elements needed to create a child item of type 'AssessmentContentStandard' in the resource.\");\r", + " pm.expect(problemDetails.errors).to.match(/The Profile definition for 'assessment-writable-includes-non-creatable-embedded-object' excludes \\(or does not include\\) one or more required data elements needed to create a child item of type 'AssessmentContentStandard' in the resource./i);\r", "});" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -14746,10 +14880,11 @@ "});\r", "\r", "pm.test(\"Should include error indicating that the profile cannot be used to create the resource item.\", () => {\r", - " pm.expect(problemDetails.errors).to.contain(\"The Profile definition for 'assessment-writable-includes-non-creatable-embedded-object' excludes (or does not include) one or more required data elements needed to create a child item of type 'AssessmentContentStandard' in the resource.\");\r", + " pm.expect(problemDetails.errors).to.match(/The Profile definition for 'assessment-writable-includes-non-creatable-embedded-object' excludes \\(or does not include\\) one or more required data elements needed to create a child item of type 'AssessmentContentStandard' in the resource./i);\r", "});" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -14809,10 +14944,11 @@ "});\r", "\r", "pm.test(\"Should include error indicating that the profile cannot be used to create the resource item.\", () => {\r", - " pm.expect(problemDetails.errors).to.contain(\"The Profile definition for 'assessment-writable-includes-non-creatable-embedded-object' excludes (or does not include) one or more required data elements needed to create a child item of type 'AssessmentContentStandard' in the resource.\");\r", + " pm.expect(problemDetails.errors).to.match(/The Profile definition for 'assessment-writable-includes-non-creatable-embedded-object' excludes \\(or does not include\\) one or more required data elements needed to create a child item of type 'AssessmentContentStandard' in the resource./i);\r", "});" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ],