{ "info": { "_postman_id": "606af599-3dec-46c8-9464-f52a7fd8f5b7", "name": "SCIM Nextcloud App Collection (Bearer Token)", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "item": [ { "name": "Users", "item": [ { "name": "Create a single user", "event": [ { "listen": "test", "script": { "exec": [ "pm.test(\"Response status code is 201\", () => {", " pm.response.to.have.status(201);", "});", "", "pm.test(\"Response body is not empty\", () => {", " pm.expect(pm.response.json()).to.not.be.empty;", "});", "", "pm.test(\"Response body contains user with userName \\\"createdtestuser\\\"\", () => {", " pm.expect(pm.response.json().userName).to.eql(\"createdtestuser\");", "});", "", "pm.test(\"Response body contains a valid non-null user ID (the ID of the user which was created)\", () => {", " pm.expect(pm.response.json().id).to.not.be.null;", "});", "", "pm.collectionVariables.set(\"testUserId\", pm.response.json().id);" ], "type": "text/javascript" } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json", "type": "default" } ], "body": { "mode": "raw", "raw": "{\n \"userName\": \"createdtestuser\"\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{url}}/bearer/Users", "host": [ "{{url}}" ], "path": [ "bearer", "Users" ] } }, "response": [] }, { "name": "Read a single user", "event": [ { "listen": "test", "script": { "exec": [ "pm.test(\"Response status code is 200\", () => {", " pm.response.to.have.status(200);", "});", "", "pm.test(\"Response body is not empty\", () => {", " pm.expect(pm.response.json()).to.not.be.empty;", "});", "", "pm.test(\"Response body contains the user ID of the user we want to read\", () => {", " pm.expect(pm.response.json().id).to.eql(pm.collectionVariables.get('testUserId'));", "});", "", "pm.test(\"Response body contains user with userName \\\"createdtestuser\\\"\", () => {", " pm.expect(pm.response.json().userName).to.eql(\"createdtestuser\");", "});" ], "type": "text/javascript" } } ], "request": { "method": "GET", "header": [], "url": { "raw": "{{url}}/bearer/Users/{{testUserId}}", "host": [ "{{url}}" ], "path": [ "bearer", "Users", "{{testUserId}}" ] } }, "response": [] }, { "name": "Read all users", "event": [ { "listen": "test", "script": { "exec": [ "pm.test(\"Response status code is 200\", () => {", " pm.response.to.have.status(200);", "});", "", "pm.test(\"Response body is not empty\", () => {", " pm.expect(pm.response.json().Resources).to.not.be.empty;", "});", "", "pm.test(\"Response body contains user with userName \\\"createdtestuser\\\"\", () => {", " var resources = pm.response.json().Resources.map(x => x.userName);", " pm.expect(resources).to.contain(\"createdtestuser\");", "});" ], "type": "text/javascript" } } ], "request": { "method": "GET", "header": [], "url": { "raw": "{{url}}/bearer/Users", "host": [ "{{url}}" ], "path": [ "bearer", "Users" ] } }, "response": [] }, { "name": "Update a single user", "event": [ { "listen": "test", "script": { "exec": [ "pm.test(\"Response status code is 200\", () => {", " pm.response.to.have.status(200);", "});", "", "pm.test(\"Response body is not empty\", () => {", " pm.expect(pm.response.json()).to.not.be.empty;", "});", "", "pm.test(\"Response body contains the user ID of the user we want to read\", () => {", " pm.expect(pm.response.json().id).to.eql(pm.collectionVariables.get('testUserId'));", "});", "", "pm.test(\"Response body contains user with displayName \\\"updatedtestuser\\\"\", () => {", " pm.expect(pm.response.json().displayName).to.eql(\"updatedtestuser\");", "});" ], "type": "text/javascript" } } ], "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json", "type": "default" } ], "body": { "mode": "raw", "raw": "{\n \"displayName\": \"updatedtestuser\",\n \"active\": false\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{url}}/bearer/Users/{{testUserId}}", "host": [ "{{url}}" ], "path": [ "bearer", "Users", "{{testUserId}}" ] } }, "response": [] }, { "name": "Delete a single user", "event": [ { "listen": "test", "script": { "exec": [ "pm.test(\"Response status code is 204\", () => {", " pm.response.to.have.status(204);", "});" ], "type": "text/javascript" } } ], "request": { "method": "DELETE", "header": [ { "key": "Content-Type", "value": "application/json", "type": "default" } ], "body": { "mode": "raw", "raw": "{\n \"userName\": \"updatedtestuser\"\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{url}}/bearer/Users/{{testUserId}}", "host": [ "{{url}}" ], "path": [ "bearer", "Users", "{{testUserId}}" ] } }, "response": [] } ], "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "" ] } } ] }, { "name": "Groups", "item": [ { "name": "Create a single group", "event": [ { "listen": "test", "script": { "exec": [ "pm.test(\"Response status code is 201\", () => {", " pm.response.to.have.status(201);", "});", "", "pm.test(\"Response body is not empty\", () => {", " pm.expect(pm.response.json()).to.not.be.empty;", "});", "", "pm.test(\"Response body contains group with displayName \\\"createdtestgroup\\\"\", () => {", " pm.expect(pm.response.json().displayName).to.eql(\"createdtestgroup\");", "});", "", "pm.test(\"Response body contains a valid non-null group ID (the ID of the group which was created)\", () => {", " pm.expect(pm.response.json().id).to.not.be.null;", "});", "", "pm.collectionVariables.set(\"testGroupId\", pm.response.json().id);" ], "type": "text/javascript" } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json", "type": "default" } ], "body": { "mode": "raw", "raw": "{\n \"displayName\": \"createdtestgroup\",\n \"members\": []\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{url}}/bearer/Groups", "host": [ "{{url}}" ], "path": [ "bearer", "Groups" ] } }, "response": [] }, { "name": "Read a single group", "event": [ { "listen": "test", "script": { "exec": [ "pm.test(\"Response status code is 200\", () => {", " pm.response.to.have.status(200);", "});", "", "pm.test(\"Response body is not empty\", () => {", " pm.expect(pm.response.json()).to.not.be.empty;", "});", "", "pm.test(\"Response body contains the group ID of the group we want to read\", () => {", " pm.expect(pm.response.json().id).to.eql(pm.collectionVariables.get('testGroupId'));", "});", "", "pm.test(\"Response body contains group with displayName \\\"createdtestgroup\\\"\", () => {", " pm.expect(pm.response.json().displayName).to.eql(\"createdtestgroup\");", "});" ], "type": "text/javascript" } } ], "request": { "method": "GET", "header": [], "url": { "raw": "{{url}}/bearer/Groups/{{testGroupId}}", "host": [ "{{url}}" ], "path": [ "bearer", "Groups", "{{testGroupId}}" ] } }, "response": [] }, { "name": "Read all groups", "event": [ { "listen": "test", "script": { "exec": [ "pm.test(\"Response status code is 200\", () => {", " pm.response.to.have.status(200);", "});", "", "pm.test(\"Response body is not empty\", () => {", " pm.expect(pm.response.json().Resources).to.not.be.empty;", "});", "", "pm.test(\"Response body contains group with displayName \\\"createdtestgroup\\\"\", () => {", " var resources = pm.response.json().Resources.map(x => x.displayName);", " pm.expect(resources).to.contain(\"createdtestgroup\");", "});" ], "type": "text/javascript" } } ], "request": { "method": "GET", "header": [], "url": { "raw": "{{url}}/bearer/Groups", "host": [ "{{url}}" ], "path": [ "bearer", "Groups" ] } }, "response": [] }, { "name": "Update a single group", "event": [ { "listen": "test", "script": { "exec": [ "pm.test(\"Response status code is 200\", () => {", " pm.response.to.have.status(200);", "});", "", "pm.test(\"Response body is not empty\", () => {", " pm.expect(pm.response.json()).to.not.be.empty;", "});", "", "pm.test(\"Response body contains the group ID of the group we want to read\", () => {", " pm.expect(pm.response.json().id).to.eql(pm.collectionVariables.get('testGroupId'));", "});", "", "pm.test(\"Response body contains group with displayName \\\"updatedtestgroup\\\"\", () => {", " pm.expect(pm.response.json().displayName).to.eql(\"updatedtestgroup\");", "});" ], "type": "text/javascript" } } ], "request": { "method": "PUT", "header": [], "body": { "mode": "raw", "raw": "{\n \"displayName\": \"updatedtestgroup\",\n \"members\": []\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{url}}/bearer/Groups/{{testGroupId}}", "host": [ "{{url}}" ], "path": [ "bearer", "Groups", "{{testGroupId}}" ] } }, "response": [] }, { "name": "Delete a single group", "event": [ { "listen": "test", "script": { "exec": [ "pm.test(\"Response status code is 204\", () => {", " pm.response.to.have.status(204);", "});" ], "type": "text/javascript" } } ], "request": { "method": "DELETE", "header": [], "url": { "raw": "{{url}}/bearer/Groups/{{testGroupId}}", "host": [ "{{url}}" ], "path": [ "bearer", "Groups", "{{testGroupId}}" ] } }, "response": [] } ], "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "" ] } } ] } ], "auth": { "type": "bearer", "bearer": [ { "key": "token", "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyIjoiYWRtaW4ifQ.Oetm7xvhkYbiItRiqNx-z7LZ6ZkmDe1z_95igbPUSjA", "type": "string" } ] }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "" ] } } ], "variable": [ { "key": "testUserId", "value": null }, { "key": "testGroupId", "value": null }, { "key": "url", "value": "http://localhost:8888/index.php/apps/scimserviceprovider", "type": "default" } ] }