test3 / tests /scim_tests /scim_e2e_test.json
DesertWolf's picture
Upload folder using huggingface_hub
447ebeb verified
{
"version": "1.0",
"exported_at": 1715608731,
"name": "Okta SCIM 2.0 SPEC Test",
"description": "Basic tests to see if your SCIM server will work with Okta",
"trigger_url": "https://api.runscope.com/radar/37d9f10e-e250-4071-9cec-1fa30e56b42b/trigger",
"steps": [
{
"step_type": "request",
"skipped": false,
"note": "Required Test: Test Users endpoint",
"auth": {},
"multipart_form": [],
"headers": {
"Accept-Charset": [
"utf-8"
],
"Content-Type": [
"application/scim+json; charset=utf-8"
],
"Accept": [
"application/scim+json"
],
"Authorization": [
"{{auth}}"
],
"User-Agent": [
"OKTA SCIM Integration"
]
},
"method": "GET",
"url": "{{SCIMBaseURL}}/Users?count=1&startIndex=1",
"assertions": [
{
"comparison": "equal_number",
"source": "response_status",
"value": "200"
},
{
"comparison": "not_empty",
"source": "response_json",
"value": null,
"property": "Resources"
},
{
"comparison": "has_value",
"source": "response_json",
"value": "urn:ietf:params:scim:api:messages:2.0:ListResponse",
"property": "schemas"
},
{
"comparison": "is_a_number",
"source": "response_json",
"value": null,
"property": "itemsPerPage"
},
{
"comparison": "is_a_number",
"source": "response_json",
"value": null,
"property": "startIndex"
},
{
"comparison": "is_a_number",
"source": "response_json",
"value": null,
"property": "totalResults"
},
{
"comparison": "not_empty",
"source": "response_json",
"value": null,
"property": "Resources[0].id"
},
{
"comparison": "not_empty",
"source": "response_json",
"value": null,
"property": "Resources[0].name.familyName"
},
{
"comparison": "not_empty",
"source": "response_json",
"value": null,
"property": "Resources[0].name.givenName"
},
{
"comparison": "not_empty",
"source": "response_json",
"value": null,
"property": "Resources[0].userName"
},
{
"comparison": "not_empty",
"source": "response_json",
"value": null,
"property": "Resources[0].active"
},
{
"comparison": "not_empty",
"source": "response_json",
"value": null,
"property": "Resources[0].emails[0].value"
}
],
"variables": [
{
"source": "response_json",
"name": "ISVUserid",
"property": "Resources[0].id"
}
],
"scripts": [],
"before_scripts": []
},
{
"step_type": "pause",
"skipped": false,
"duration": 5
},
{
"step_type": "request",
"skipped": false,
"note": "Required Test: Get Users/{{id}} ",
"auth": {},
"multipart_form": [],
"headers": {
"Accept-Charset": [
"utf-8"
],
"Content-Type": [
"application/scim+json; charset=utf-8"
],
"Accept": [
"application/scim+json"
],
"Authorization": [
"{{auth}}"
],
"User-Agent": [
"OKTA SCIM Integration"
]
},
"method": "GET",
"url": "{{SCIMBaseURL}}/Users/{{ISVUserid}}",
"assertions": [
{
"comparison": "equal_number",
"source": "response_status",
"value": "200"
},
{
"comparison": "not_empty",
"source": "response_json",
"value": null,
"property": "id"
},
{
"comparison": "not_empty",
"source": "response_json",
"value": null,
"property": "name.familyName"
},
{
"comparison": "not_empty",
"source": "response_json",
"value": null,
"property": "name.givenName"
},
{
"comparison": "not_empty",
"source": "response_json",
"value": null,
"property": "userName"
},
{
"comparison": "not_empty",
"source": "response_json",
"value": null,
"property": "active"
},
{
"comparison": "not_empty",
"source": "response_json",
"value": null,
"property": "emails[0].value"
},
{
"comparison": "equal",
"source": "response_json",
"value": "{{ISVUserid}}",
"property": "id"
}
],
"variables": [],
"scripts": [],
"before_scripts": []
},
{
"step_type": "pause",
"skipped": false,
"duration": 5
},
{
"step_type": "request",
"skipped": false,
"note": "Required Test: Test invalid User by username",
"auth": {},
"multipart_form": [],
"headers": {
"Accept-Charset": [
"utf-8"
],
"Content-Type": [
"application/scim+json; charset=utf-8"
],
"Accept": [
"application/scim+json"
],
"Authorization": [
"{{auth}}"
],
"User-Agent": [
"OKTA SCIM Integration"
]
},
"method": "GET",
"url": "{{SCIMBaseURL}}/Users?filter=userName eq \"{{InvalidUserEmail}}\"",
"assertions": [
{
"comparison": "equal_number",
"source": "response_status",
"value": "200"
},
{
"comparison": "has_value",
"source": "response_json",
"value": "urn:ietf:params:scim:api:messages:2.0:ListResponse",
"property": "schemas"
},
{
"comparison": "equal",
"source": "response_json",
"value": "0",
"property": "totalResults"
}
],
"variables": [],
"scripts": [],
"before_scripts": []
},
{
"step_type": "pause",
"skipped": false,
"duration": 5
},
{
"step_type": "request",
"skipped": false,
"note": "Required Test: Test invalid User by ID",
"auth": {},
"multipart_form": [],
"headers": {
"Accept-Charset": [
"utf-8"
],
"Content-Type": [
"application/scim+json; charset=utf-8"
],
"Authorization": [
"{{auth}}"
],
"Accept": [
"application/scim+json"
],
"User-Agent": [
"OKTA SCIM Integration"
]
},
"method": "GET",
"url": "{{SCIMBaseURL}}/Users/{{UserIdThatDoesNotExist}}",
"assertions": [
{
"comparison": "equal_number",
"source": "response_status",
"value": "404"
},
{
"comparison": "not_empty",
"source": "response_json",
"value": null,
"property": "detail"
},
{
"comparison": "has_value",
"source": "response_json",
"value": "urn:ietf:params:scim:api:messages:2.0:Error",
"property": "schemas"
}
],
"variables": [],
"scripts": [],
"before_scripts": []
},
{
"step_type": "pause",
"skipped": false,
"duration": 5
},
{
"step_type": "request",
"skipped": false,
"note": "Required Test: Make sure random user doesn't exist",
"auth": {},
"multipart_form": [],
"headers": {
"Accept-Charset": [
"utf-8"
],
"Content-Type": [
"application/scim+json; charset=utf-8"
],
"Authorization": [
"{{auth}}"
],
"Accept": [
"application/scim+json"
],
"User-Agent": [
"OKTA SCIM Integration"
]
},
"method": "GET",
"url": "{{SCIMBaseURL}}/Users?filter=userName eq \"{{randomEmail}}\"",
"assertions": [
{
"comparison": "equal_number",
"source": "response_status",
"value": "200"
},
{
"comparison": "equal_number",
"source": "response_json",
"value": "0",
"property": "totalResults"
},
{
"comparison": "has_value",
"source": "response_json",
"value": "urn:ietf:params:scim:api:messages:2.0:ListResponse",
"property": "schemas"
}
],
"variables": [],
"scripts": [],
"before_scripts": []
},
{
"step_type": "pause",
"skipped": false,
"duration": 5
},
{
"step_type": "request",
"skipped": false,
"note": "Required Test: Create Okta user with realistic values",
"auth": {},
"body": "{\"schemas\":[\"urn:ietf:params:scim:schemas:core:2.0:User\"],\"userName\":\"{{randomUsername}}\",\"name\":{\"givenName\":\"{{randomGivenName}}\",\"familyName\":\"{{randomFamilyName}}\"},\"emails\":[{\"primary\":true,\"value\":\"{{randomEmail}}\",\"type\":\"work\"}],\"displayName\":\"{{randomGivenName}} {{randomFamilyName}}\",\"active\":true}",
"form": {},
"multipart_form": [],
"binary_body": null,
"headers": {
"Content-Type": [
"application/json"
],
"Authorization": [
"{{auth}}"
],
"Accept": [
"application/scim+json; charset=utf-8"
]
},
"method": "POST",
"url": "{{SCIMBaseURL}}/Users",
"assertions": [
{
"comparison": "equal_number",
"source": "response_status",
"value": "201"
},
{
"comparison": "equal",
"source": "response_json",
"value": "true",
"property": "active"
},
{
"comparison": "not_empty",
"source": "response_json",
"value": null,
"property": "id"
},
{
"comparison": "equal",
"source": "response_json",
"value": "{{randomFamilyName}}",
"property": "name.familyName"
},
{
"comparison": "equal",
"source": "response_json",
"value": "{{randomGivenName}}",
"property": "name.givenName"
},
{
"comparison": "contains",
"source": "response_json",
"value": "urn:ietf:params:scim:schemas:core:2.0:User",
"property": "schemas"
},
{
"comparison": "equal",
"source": "response_json",
"value": "{{randomUsername}}",
"property": "userName"
}
],
"variables": [
{
"source": "response_json",
"name": "idUserOne",
"property": "id"
},
{
"source": "response_json",
"name": "randomUserEmail",
"property": "emails[0].value"
}
],
"scripts": [
""
],
"before_scripts": []
},
{
"step_type": "pause",
"skipped": false,
"duration": 5
},
{
"step_type": "request",
"skipped": false,
"note": "Required Test: Verify that user was created",
"auth": {},
"multipart_form": [],
"headers": {
"Accept-Charset": [
"utf-8"
],
"Content-Type": [
"application/scim+json; charset=utf-8"
],
"Authorization": [
"{{auth}}"
],
"Accept": [
"application/scim+json"
],
"User-Agent": [
"OKTA SCIM Integration"
]
},
"method": "GET",
"url": "{{SCIMBaseURL}}/Users/{{idUserOne}}",
"assertions": [
{
"comparison": "equal_number",
"source": "response_status",
"value": "200"
},
{
"comparison": "equal",
"source": "response_json",
"value": "{{randomUsername}}",
"property": "userName"
},
{
"comparison": "equal",
"source": "response_json",
"value": "{{randomFamilyName}}",
"property": "name.familyName"
},
{
"comparison": "equal",
"source": "response_json",
"value": "{{randomGivenName}}",
"property": "name.givenName"
}
],
"variables": [],
"scripts": [],
"before_scripts": []
},
{
"step_type": "pause",
"skipped": false,
"duration": 10
},
{
"step_type": "request",
"skipped": false,
"note": "Required Test: Expect failure when recreating user with same values",
"auth": {},
"body": "{\"schemas\":[\"urn:ietf:params:scim:schemas:core:2.0:User\"],\"userName\":\"{{randomUsername}}\",\"name\":{\"givenName\":\"{{randomGivenName}}\",\"familyName\":\"{{randomFamilyName}}\"},\"emails\":[{\"primary\":true,\"value\":\"{{randomUsername}}\",\"type\":\"work\"}],\"displayName\":\"{{randomGivenName}} {{randomFamilyName}}\",\"active\":true}",
"form": {},
"multipart_form": [],
"binary_body": null,
"headers": {
"Content-Type": [
"application/json"
],
"Authorization": [
"{{auth}}"
],
"Accept": [
"application/scim+json; charset=utf-8"
]
},
"method": "POST",
"url": "{{SCIMBaseURL}}/Users",
"assertions": [
{
"comparison": "equal_number",
"source": "response_status",
"value": "409"
}
],
"variables": [],
"scripts": [],
"before_scripts": []
},
{
"step_type": "pause",
"skipped": false,
"duration": 5
},
{
"step_type": "request",
"skipped": false,
"note": "Required Test: Username Case Sensitivity Check",
"auth": {},
"multipart_form": [],
"headers": {
"Accept-Charset": [
"utf-8"
],
"Content-Type": [
"application/scim+json; charset=utf-8"
],
"Authorization": [
"{{auth}}"
],
"Accept": [
"application/scim+json"
],
"User-Agent": [
"OKTA SCIM Integration"
]
},
"method": "GET",
"url": "{{SCIMBaseURL}}/Users?filter=userName eq \"{{randomUsernameCaps}}\"",
"assertions": [
{
"comparison": "equal_number",
"source": "response_status",
"value": "200"
}
],
"variables": [],
"scripts": [],
"before_scripts": []
},
{
"step_type": "pause",
"skipped": false,
"duration": 5
},
{
"step_type": "request",
"skipped": false,
"note": "Optional Test: Verify Groups endpoint",
"auth": {},
"multipart_form": [],
"headers": {
"Accept-Charset": [
"utf-8"
],
"Content-Type": [
"application/scim+json; charset=utf-8"
],
"Accept": [
"application/scim+json"
],
"Authorization": [
"{{auth}}"
],
"User-Agent": [
"OKTA SCIM Integration"
]
},
"method": "GET",
"url": "{{SCIMBaseURL}}/Groups",
"assertions": [
{
"comparison": "equal_number",
"source": "response_status",
"value": "200"
},
{
"comparison": "is_less_than",
"source": "response_time",
"value": "600"
}
],
"variables": [],
"scripts": [
"var data = JSON.parse(response.body);\nvar max = data.totalResults;\nvar res = data.Resources;\nvar exists = false;\n\nif (max === 0)\n\tassert(\"nogroups\", \"No Groups found in the endpoint\");\nelse if (max >= 1 && Array.isArray(res)) {\n exists = true;\n assert.ok(exists, \"Resources is of type Array\");\n\tlog(exists);\n}"
],
"before_scripts": []
},
{
"step_type": "pause",
"skipped": false,
"duration": 5
},
{
"step_type": "request",
"skipped": false,
"note": "Required Test: Check status 401",
"multipart_form": [],
"headers": {
"Accept": [
"application/scim+json"
],
"Accept-Charset": [
"utf-8"
],
"Authorization": [
"non-token"
],
"Content-Type": [
"application/scim+json; charset=utf-8"
],
"User-Agent": [
"OKTA SCIM Integration"
]
},
"auth": {},
"method": "GET",
"url": "{{SCIMBaseURL}}/Users?filter=userName eq \"{{randomUsernameCaps}}\"",
"assertions": [
{
"comparison": "equal_number",
"source": "response_status",
"value": "401"
},
{
"comparison": "not_empty",
"source": "response_json",
"value": null,
"property": "detail"
},
{
"comparison": "equal",
"source": "response_json",
"value": "401",
"property": "status"
},
{
"comparison": "has_value",
"source": "response_json",
"value": "urn:ietf:params:scim:api:messages:2.0:Error",
"property": "schemas"
}
],
"variables": [],
"scripts": [],
"before_scripts": []
},
{
"step_type": "pause",
"skipped": false,
"duration": 5
},
{
"step_type": "request",
"skipped": false,
"note": "Required Test: Check status 404",
"multipart_form": [],
"headers": {
"Accept": [
"application/scim+json"
],
"Accept-Charset": [
"utf-8"
],
"Authorization": [
"{{auth}}"
],
"Content-Type": [
"application/scim+json; charset=utf-8"
],
"User-Agent": [
"OKTA SCIM Integration"
]
},
"auth": {},
"method": "GET",
"url": "{{SCIMBaseURL}}/Users/00919288221112222",
"assertions": [
{
"comparison": "equal_number",
"source": "response_status",
"value": "404"
},
{
"comparison": "not_empty",
"source": "response_json",
"value": null,
"property": "detail"
},
{
"comparison": "equal",
"source": "response_json",
"value": "404",
"property": "status"
},
{
"comparison": "has_value",
"source": "response_json",
"value": "urn:ietf:params:scim:api:messages:2.0:Error",
"property": "schemas"
}
],
"variables": [],
"scripts": [],
"before_scripts": []
}
]
}