diff --git a/collections/api-testing-rohan.json b/api-testing-rohan.json similarity index 100% rename from collections/api-testing-rohan.json rename to api-testing-rohan.json diff --git a/api-testing-taskif.json b/api-testing-taskif.json new file mode 100644 index 0000000..1fcf286 --- /dev/null +++ b/api-testing-taskif.json @@ -0,0 +1,1240 @@ +{ + "info": { + "_postman_id": "dfc71368-e8ac-40b5-a127-fee6d908b74f", + "name": "FakeStore_Requests", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", + "_exporter_id": "57084251" + }, + "variable": [ + { + "key": "baseUrl", + "value": "https://fakestoreapi.com", + "type": "string" + }, + { + "key": "token", + "value": "", + "type": "string" + } + ], + "item": [ + { + "name": "Authentication", + "item": [ + { + "name": "Login_Valid", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Login successful\", function () {", + " pm.response.to.have.status(200);", + " pm.collectionVariables.set(\"token\", pm.response.json().token);", + "});" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"username\": \"mor_2314\",\n \"password\": \"83r5^_\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{baseUrl}}/auth/login", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "auth", + "login" + ] + } + }, + "response": [] + }, + { + "name": "Login_Invalid_Pass", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"username\": \"mor_2314\",\n \"password\": \"wrong\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{baseUrl}}/auth/login", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "auth", + "login" + ] + } + }, + "response": [] + }, + { + "name": "Login_Missing_User", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"password\": \"83r5^_\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{baseUrl}}/auth/login", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "auth", + "login" + ] + } + }, + "response": [] + }, + { + "name": "Auth_User_With_Token", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{token}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/auth/user", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "auth", + "user" + ] + } + }, + "response": [] + }, + { + "name": "Auth_User_No_Token", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/auth/user", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "auth", + "user" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Products API", + "item": [ + { + "name": "All_Products", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/products", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "products" + ] + } + }, + "response": [] + }, + { + "name": "Products_Limit_3", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/products?limit=3", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "products" + ], + "query": [ + { + "key": "limit", + "value": "3" + } + ] + } + }, + "response": [] + }, + { + "name": "Products_Sort_Desc", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/products?sort=desc", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "products" + ], + "query": [ + { + "key": "sort", + "value": "desc" + } + ] + } + }, + "response": [] + }, + { + "name": "All_Categories", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/products/categories", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "products", + "categories" + ] + } + }, + "response": [] + }, + { + "name": "Category_Electronics", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/products/category/electronics", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "products", + "category", + "electronics" + ] + } + }, + "response": [] + }, + { + "name": "Category_Jewelery", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/products/category/jewelery", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "products", + "category", + "jewelery" + ] + } + }, + "response": [] + }, + { + "name": "Category_Mens", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/products/category/men's%20clothing", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "products", + "category", + "men's%20clothing" + ] + } + }, + "response": [] + }, + { + "name": "Category_Womens", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/products/category/women's%20clothing", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "products", + "category", + "women's%20clothing" + ] + } + }, + "response": [] + }, + { + "name": "Product_ID_1", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/products/1", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "products", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Product_ID_5", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/products/5", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "products", + "5" + ] + } + }, + "response": [] + }, + { + "name": "Product_Invalid_ID", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 404 Not Found\", function () {", + " pm.response.to.have.status(404);", + "});" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/products/999", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "products", + "999" + ] + } + }, + "response": [] + }, + { + "name": "Create_Product", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"title\": \"Test\",\n \"price\": 10,\n \"description\": \"desc\",\n \"image\": \"url\",\n \"category\": \"electronics\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{baseUrl}}/products", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "products" + ] + } + }, + "response": [] + }, + { + "name": "Product_No_Title", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"price\": 10\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{baseUrl}}/products", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "products" + ] + } + }, + "response": [] + }, + { + "name": "Update_Product_1", + "request": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"title\": \"Test\",\n \"price\": 10,\n \"description\": \"desc\",\n \"image\": \"url\",\n \"category\": \"electronics\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{baseUrl}}/products/1", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "products", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Patch_Product_1", + "request": { + "method": "PATCH", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"price\": 99.99\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{baseUrl}}/products/1", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "products", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Delete_Product_1", + "request": { + "method": "DELETE", + "header": [], + "url": { + "raw": "{{baseUrl}}/products/1", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "products", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Invalid_Product", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 404 Not Found\", function () {", + " pm.response.to.have.status(404);", + "});" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "DELETE", + "header": [], + "url": { + "raw": "{{baseUrl}}/products/999", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "products", + "999" + ] + } + }, + "response": [] + }, + { + "name": "Invalid_Category", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/products/category/xyz", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "products", + "category", + "xyz" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Carts API", + "item": [ + { + "name": "All_Carts", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/carts", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "carts" + ] + } + }, + "response": [] + }, + { + "name": "Carts_Limit_2", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/carts?limit=2", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "carts" + ], + "query": [ + { + "key": "limit", + "value": "2" + } + ] + } + }, + "response": [] + }, + { + "name": "Carts_Sort_Desc", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/carts?sort=desc", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "carts" + ], + "query": [ + { + "key": "sort", + "value": "desc" + } + ] + } + }, + "response": [] + }, + { + "name": "Date_Range", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/carts?startdate=2020-01-01&enddate=2023-01-01", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "carts" + ], + "query": [ + { + "key": "startdate", + "value": "2020-01-01" + }, + { + "key": "enddate", + "value": "2023-01-01" + } + ] + } + }, + "response": [] + }, + { + "name": "Cart_ID_1", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/carts/1", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "carts", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Cart_ID_5", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/carts/5", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "carts", + "5" + ] + } + }, + "response": [] + }, + { + "name": "Carts_By_User_1", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/carts/user/1", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "carts", + "user", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Carts_By_User_3", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/carts/user/3", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "carts", + "user", + "3" + ] + } + }, + "response": [] + }, + { + "name": "Carts_Invalid_User", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/carts/user/999", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "carts", + "user", + "999" + ] + } + }, + "response": [] + }, + { + "name": "Invalid_Cart_ID", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 404 Not Found\", function () {", + " pm.response.to.have.status(404);", + "});" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/carts/999", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "carts", + "999" + ] + } + }, + "response": [] + }, + { + "name": "Create_Cart", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"userId\": 1,\n \"date\": \"2023-01-01\",\n \"products\": [\n {\n \"productId\": 1,\n \"quantity\": 2\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{baseUrl}}/carts", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "carts" + ] + } + }, + "response": [] + }, + { + "name": "Cart_Empty_Body", + "request": { + "method": "POST", + "header": [], + "url": { + "raw": "{{baseUrl}}/carts", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "carts" + ] + } + }, + "response": [] + }, + { + "name": "Update_Cart_1", + "request": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"userId\": 1,\n \"date\": \"2023-01-01\",\n \"products\": [\n {\n \"productId\": 1,\n \"quantity\": 2\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{baseUrl}}/carts/1", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "carts", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Delete_Cart_1", + "request": { + "method": "DELETE", + "header": [], + "url": { + "raw": "{{baseUrl}}/carts/1", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "carts", + "1" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Users API", + "item": [ + { + "name": "All_Users", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/users", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "users" + ] + } + }, + "response": [] + }, + { + "name": "Users_Limit_2", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/users?limit=2", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "users" + ], + "query": [ + { + "key": "limit", + "value": "2" + } + ] + } + }, + "response": [] + }, + { + "name": "Users_Sort_Desc", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/users?sort=desc", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "users" + ], + "query": [ + { + "key": "sort", + "value": "desc" + } + ] + } + }, + "response": [] + }, + { + "name": "User_ID_1", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/users/1", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "users", + "1" + ] + } + }, + "response": [] + }, + { + "name": "User_ID_5", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/users/5", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "users", + "5" + ] + } + }, + "response": [] + }, + { + "name": "User_Invalid_ID", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 404 Not Found\", function () {", + " pm.response.to.have.status(404);", + "});" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{baseUrl}}/users/999", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "users", + "999" + ] + } + }, + "response": [] + }, + { + "name": "Create_User", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"email\": \"test@test.com\",\n \"username\": \"testu\",\n \"password\": \"123\",\n \"name\": {\n \"firstname\": \"T\",\n \"lastname\": \"T\"\n },\n \"address\": {\n \"city\": \"NY\",\n \"street\": \"1st\",\n \"number\": 1,\n \"zipcode\": \"10001\"\n },\n \"phone\": \"1234567890\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{baseUrl}}/users", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "users" + ] + } + }, + "response": [] + }, + { + "name": "User_Missing_Email", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"username\": \"testu\",\n \"password\": \"123\",\n \"name\": {\n \"firstname\": \"T\",\n \"lastname\": \"T\"\n },\n \"address\": {\n \"city\": \"NY\",\n \"street\": \"1st\",\n \"number\": 1,\n \"zipcode\": \"10001\"\n },\n \"phone\": \"1234567890\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{baseUrl}}/users", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "users" + ] + } + }, + "response": [] + }, + { + "name": "Update_User_1", + "request": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"email\": \"test@test.com\",\n \"username\": \"testu\",\n \"password\": \"123\",\n \"name\": {\n \"firstname\": \"T\",\n \"lastname\": \"T\"\n },\n \"address\": {\n \"city\": \"NY\",\n \"street\": \"1st\",\n \"number\": 1,\n \"zipcode\": \"10001\"\n },\n \"phone\": \"1234567890\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{baseUrl}}/users/1", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "users", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Patch_User_1", + "request": { + "method": "PATCH", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"phone\": \"9999999999\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{baseUrl}}/users/1", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "users", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Delete_User_1", + "request": { + "method": "DELETE", + "header": [], + "url": { + "raw": "{{baseUrl}}/users/1", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "users", + "1" + ] + } + }, + "response": [] + }, + { + "name": "Invalid_User", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 404 Not Found\", function () {", + " pm.response.to.have.status(404);", + "});" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ], + "request": { + "method": "DELETE", + "header": [], + "url": { + "raw": "{{baseUrl}}/users/999", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "users", + "999" + ] + } + }, + "response": [] + }, + { + "name": "TEST_Invalid_JSON_Format", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "invalid json {", + "options": { + "raw": { + "language": "text" + } + } + }, + "url": { + "raw": "{{baseUrl}}/users", + "host": [ + "{{baseUrl}}" + ], + "path": [ + "users" + ] + } + }, + "response": [] + } + ] + } + ], + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Response time is less than 3000ms\", function () {", + " pm.expect(pm.response.responseTime).to.be.below(3000);", + "});", + "", + "pm.test(\"Response is JSON\", function () {", + " pm.expect(pm.response.headers.get(\"Content-Type\")).to.include(\"application/json\");", + "});" + ], + "type": "text/javascript", + "packages": {}, + "requests": {} + } + } + ] +} \ No newline at end of file