Files
CloudGame/output/postman_collection.json
T
2023-12-07 23:47:10 +08:00

737 lines
23 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"info": {
"_postman_id": "f3fde014-995b-46da-939a-4fcf92085cf1",
"name": "FlaskAngularMongoDB_game_202312",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
"_exporter_id": "15234337",
"_collection_link": "https://gold-spaceship-203375.postman.co/workspace/Team-Workspace~e1e4e7e7-fbf3-4eed-8155-25c636d86894/collection/13268592-f3fde014-995b-46da-939a-4fcf92085cf1?action=share&source=collection_link&creator=15234337"
},
"item": [
{
"name": "game_202312",
"item": [
{
"name": "login",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Status code is 200\", function () {\r",
" pm.response.to.have.status(200);\r",
"});\r",
"pm.test(\"Body has msg\", function () {\r",
" var jsonData = pm.response.json();\r",
" pm.expect(jsonData).to.have.property('msg');\r",
"});\r",
"pm.test('Response must be valid and have a body', function () {\r",
" pm.response.to.be.ok;\r",
" pm.response.to.be.withBody;\r",
" pm.response.to.be.json;\r",
"});\r",
"pm.test('Body has token', function () {\r",
" var jsonData = pm.response.json();\r",
" pm.expect(jsonData.data).to.have.property('token');\r",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n\"username\":\"lzh\",\r\n\"password\":\"123456\"\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "http://127.0.0.1:5000/api/v1/games/login",
"protocol": "http",
"host": [
"127",
"0",
"0",
"1"
],
"port": "5000",
"path": [
"api",
"v1",
"games",
"login"
]
}
},
"response": []
},
{
"name": "register",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Check status code and message\", function () {\r",
" var jsonData = pm.response.json();\r",
" pm.expect(jsonData.code).to.be.oneOf([200, 500]);\r",
" pm.expect(jsonData).to.have.property('msg');\r",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n\"username\":\"lzh\",\r\n\"password\":\"123456\"\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "http://127.0.0.1:5000/api/v1/games/register",
"protocol": "http",
"host": [
"127",
"0",
"0",
"1"
],
"port": "5000",
"path": [
"api",
"v1",
"games",
"register"
]
}
},
"response": []
},
{
"name": "addGame",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Response Content-Type is json\", function () {\r",
" pm.response.to.have.header(\"Content-Type\", \"application/json\");\r",
"});\r",
"\r",
"pm.test(\"Response body has code and msg\", function () {\r",
" var jsonData = pm.response.json();\r",
" pm.expect(jsonData).to.have.property(\"code\");\r",
" pm.expect(jsonData).to.have.property(\"msg\");\r",
"});\r",
""
],
"type": "text/javascript"
}
}
],
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"Title\": \"MY TEST GAME 2\",\r\n \"Original Price\": \"$29.99\",\r\n \"Discounted Price\": \"$29.99\",\r\n \"Release Date\": \"3 Aug, 2023\",\r\n \"Link\": \"https://store.steampowered.com/app/1086940/Baldurs_Gate_3/\",\r\n \"Game Description\": \"Baldurs Gate 3 is a story-rich, party-based RPG set in the universe of Dungeons & Dragons, where your choices shape a tale of fellowship and betrayal, survival and sacrifice, and the lure of absolute power.\",\r\n \"Recent Reviews Summary\": \"Overwhelmingly Positive\",\r\n \"All Reviews Summary\": \"Very Positive\",\r\n \"Recent Reviews Number\": \"- 96% of the 128,900 user reviews in the last 30 days are positive.\",\r\n \"All Reviews Number\": \"- 94% of the 188,617 user reviews for this game are positive.\",\r\n \"Developer\": \"Larian Studios\",\r\n \"Publisher\": \"Larian Studios\",\r\n \"Supported Languages\": [\"English\", \"French\", \"German\", \"Spanish - Spain\", \"Polish\", \"Russian\", \"Simplified Chinese\", \"Turkish\", \"Portuguese - Brazil\", \"Italian\", \"Spanish - Latin America\", \"Traditional Chinese\", \"Ukrainian\"],\r\n \"Popular Tags\": [\"RPG\", \"Choices Matter\", \"Character Customization\", \"Story Rich\", \"Adventure\", \"Online Co-Op\", \"CRPG\", \"Multiplayer\", \"Fantasy\", \"Turn-Based Combat\", \"Dungeons & Dragons\", \"Co-op Campaign\", \"Strategy\", \"Singleplayer\", \"Romance\", \"Class-Based\", \"Dark Fantasy\", \"Combat\", \"Controller\", \"Stealth\"],\r\n \"Game Features\": [\"Single-player\", \"Online Co-op\", \"LAN Co-op\", \"Steam Achievements\", \"Full controller support\", \"Steam Cloud\"],\r\n \"Minimum Requirements\": \"Requires a 64-bit processor and operating system. OS: Windows 10 64-bit. Processor: Intel I5 4690 / AMD FX 8350. Memory: 8 GB RAM. Graphics: Nvidia GTX 970 / RX 480 (4GB+ of VRAM). DirectX: Version 11. Storage: 150 GB available space.\"\r\n}\r\n",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "http://127.0.0.1:5000/api/v1/game/addGame",
"protocol": "http",
"host": [
"127",
"0",
"0",
"1"
],
"port": "5000",
"path": [
"api",
"v1",
"game",
"addGame"
]
},
"description": "添加游戏选项,根据Titele进行添加重复校验。当前示例的所有字段的key都必须传,用户没有输入时需要给默认空值"
},
"response": []
},
{
"name": "getGames",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Status code is 200\", function () {\r",
" pm.response.to.have.status(200);\r",
"});\r",
"\r",
"pm.test(\"Response Content-Type is json\", function () {\r",
" pm.response.to.have.header(\"Content-Type\", \"application/json\");\r",
"});\r",
"\r",
"pm.test(\"Response code should be 200\", function () {\r",
" var jsonData = pm.response.json();\r",
" pm.expect(jsonData.code).to.eql(200);\r",
"});\r",
"\r",
"pm.test(\"Response should have a total field\", function () {\r",
" var jsonData = pm.response.json();\r",
" pm.expect(jsonData).to.have.property('total');\r",
"});\r",
"\r",
"pm.test(\"Data should be an array\", function () {\r",
" var jsonData = pm.response.json();\r",
" pm.expect(jsonData.data).to.be.an('array');\r",
"});\r",
"\r",
"pm.test(\"Each item in data should have necessary properties\", function () {\r",
" var jsonData = pm.response.json();\r",
" jsonData.data.forEach(function (item) {\r",
" pm.expect(item).to.have.property('_id');\r",
" pm.expect(item).to.have.property('Title');\r",
" pm.expect(item).to.have.property('Original Price');\r",
" pm.expect(item).to.have.property('Discounted Price');\r",
" pm.expect(item).to.have.property('Release Date');\r",
" });\r",
"});\r",
""
],
"type": "text/javascript"
}
}
],
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"page\": 1,\r\n \"size\": 10,\r\n \"Title\": \"Rust\", // 可选,根据需要更改\r\n \"Original Price\": \"\", // 可选,根据需要更改\r\n \"Developer\": \"\", // 可选,根据需要更改\r\n \"Game Features\": [] // 可选,根据需要更改\r\n}\r\n",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "http://127.0.0.1:5000/api/v1/game/getGames",
"protocol": "http",
"host": [
"127",
"0",
"0",
"1"
],
"port": "5000",
"path": [
"api",
"v1",
"game",
"getGames"
]
},
"description": "查询支持根据Original Price, Title, Developer, Game Features这几个字段查询 。Game Features传的是js数组,其余均是字符串"
},
"response": []
},
{
"name": "deleteGame",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Response body has code and msg\", function () {\r",
" var jsonData = pm.response.json();\r",
" pm.expect(jsonData).to.have.property(\"code\");\r",
" pm.expect(jsonData).to.have.property(\"msg\");\r",
"});\r",
"pm.test(\"Status code is 200\", function () {\r",
" pm.response.to.have.status(200);\r",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"_id\":\"6391c1f4a83713458b00c349\"\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "http://127.0.0.1:5000/api/v1/game/deleteGame",
"protocol": "http",
"host": [
"127",
"0",
"0",
"1"
],
"port": "5000",
"path": [
"api",
"v1",
"game",
"deleteGame"
]
}
},
"response": []
},
{
"name": "updateGame",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Response body has code and msg\", function () {\r",
" var jsonData = pm.response.json();\r",
" pm.expect(jsonData).to.have.property(\"code\");\r",
" pm.expect(jsonData).to.have.property(\"msg\");\r",
"});\r",
"pm.test(\"Status code is 200\", function () {\r",
" pm.response.to.have.status(200);\r",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"_id\":\"\",\r\n \"Title\": \"(Modified) MY TEST GAME\",\r\n \"Original Price\": \"$29.99\",\r\n \"Discounted Price\": \"$29.98\",\r\n \"Release Date\": \"3 Aug, 2023\",\r\n \"Link\": \"https://store.steampowered.com/app/1086940/Baldurs_Gate_3/\",\r\n \"Game Description\": \"Baldurs Gate 3 is a story-rich, party-based RPG set in the universe of Dungeons & Dragons, where your choices shape a tale of fellowship and betrayal, survival and sacrifice, and the lure of absolute power.\",\r\n \"Recent Reviews Summary\": \"Overwhelmingly Positive\",\r\n \"All Reviews Summary\": \"Very Positive\",\r\n \"Recent Reviews Number\": \"- 96% of the 128,900 user reviews in the last 30 days are positive.\",\r\n \"All Reviews Number\": \"- 94% of the 188,617 user reviews for this game are positive.\",\r\n \"Developer\": \"Larian Studios\",\r\n \"Publisher\": \"Larian Studios\",\r\n \"Supported Languages\": [\"English\", \"French\", \"German\", \"Spanish - Spain\", \"Polish\", \"Russian\", \"Simplified Chinese\", \"Turkish\", \"Portuguese - Brazil\", \"Italian\", \"Spanish - Latin America\", \"Traditional Chinese\", \"Ukrainian\"],\r\n \"Popular Tags\": [\"RPG\", \"Choices Matter\", \"Character Customization\", \"Story Rich\", \"Adventure\", \"Online Co-Op\", \"CRPG\", \"Multiplayer\", \"Fantasy\", \"Turn-Based Combat\", \"Dungeons & Dragons\", \"Co-op Campaign\", \"Strategy\", \"Singleplayer\", \"Romance\", \"Class-Based\", \"Dark Fantasy\", \"Combat\", \"Controller\", \"Stealth\"],\r\n \"Game Features\": [\"Single-player\", \"Online Co-op\", \"LAN Co-op\", \"Steam Achievements\", \"Full controller support\", \"Steam Cloud\"],\r\n \"Minimum Requirements\": \"Requires a 64-bit processor and operating system. OS: Windows 10 64-bit. Processor: Intel I5 4690 / AMD FX 8350. Memory: 8 GB RAM. Graphics: Nvidia GTX 970 / RX 480 (4GB+ of VRAM). DirectX: Version 11. Storage: 150 GB available space.\"\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "http://127.0.0.1:5000/api/v1/game/updateGame",
"protocol": "http",
"host": [
"127",
"0",
"0",
"1"
],
"port": "5000",
"path": [
"api",
"v1",
"game",
"updateGame"
]
}
},
"response": []
},
{
"name": "addReview",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Response Content-Type is json\", function () {\r",
" pm.response.to.have.header(\"Content-Type\", \"application/json\");\r",
"});\r",
"\r",
"pm.test(\"Response body has code and msg\", function () {\r",
" var jsonData = pm.response.json();\r",
" pm.expect(jsonData).to.have.property(\"code\");\r",
" pm.expect(jsonData).to.have.property(\"msg\");\r",
"});\r",
"pm.test(\"check update_time\", function () {\r",
" var jsonData = pm.response.json();\r",
" pm.expect(jsonData.data).to.have.property('update_time');\r",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"username\":\"lzh\",\r\n \"_id\":\"655acf60a83dcb3825d85c30\",//从Games列表获取的\r\n \"review\":\"Balalalalalalfewfe\"\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "http://127.0.0.1:5000/api/v1/addReview",
"protocol": "http",
"host": [
"127",
"0",
"0",
"1"
],
"port": "5000",
"path": [
"api",
"v1",
"addReview"
]
}
},
"response": []
},
{
"name": "deleteReview",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Response Content-Type is json\", function () {\r",
" pm.response.to.have.header(\"Content-Type\", \"application/json\");\r",
"});\r",
"\r",
"pm.test(\"Response body has code and msg\", function () {\r",
" var jsonData = pm.response.json();\r",
" pm.expect(jsonData).to.have.property(\"code\");\r",
" pm.expect(jsonData).to.have.property(\"msg\");\r",
"});"
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disabledSystemHeaders": {
"host": true
}
},
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"gameId\":\"655acf60a83dcb3825d85c30\",\r\n \"review_id\":\"28902846-8756-11ee-9bfd-802bf9d9f3ea\"\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "http://127.0.0.1:5000/api/v1/deleteReview",
"protocol": "http",
"host": [
"127",
"0",
"0",
"1"
],
"port": "5000",
"path": [
"api",
"v1",
"deleteReview"
]
}
},
"response": []
},
{
"name": "getReviews",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Status code is 200\", function () {\r",
" pm.response.to.have.status(200);\r",
"});\r",
"\r",
"pm.test(\"Response Content-Type is json\", function () {\r",
" pm.response.to.have.header(\"Content-Type\", \"application/json\");\r",
"});\r",
"\r",
"pm.test(\"Response code should be 200\", function () {\r",
" var jsonData = pm.response.json();\r",
" pm.expect(jsonData.code).to.eql(200);\r",
"});\r",
"\r",
"pm.test(\"Response should have a msg field\", function () {\r",
" var jsonData = pm.response.json();\r",
" pm.expect(jsonData).to.have.property('msg');\r",
"});\r",
"\r",
"pm.test(\"Data should be an array\", function () {\r",
" var jsonData = pm.response.json();\r",
" pm.expect(jsonData.data).to.be.an('array');\r",
"});\r",
"\r",
"pm.test(\"Each item in data should have necessary properties\", function () {\r",
" var jsonData = pm.response.json();\r",
" jsonData.data.forEach(function (item) {\r",
" pm.expect(item).to.have.property('review');\r",
" pm.expect(item).to.have.property('timestamp');\r",
" pm.expect(item).to.have.property('update_time');\r",
" pm.expect(item).to.have.property('username');\r",
" });\r",
"});\r",
""
],
"type": "text/javascript"
}
}
],
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"gameId\":\"655acf60a83dcb3825d85c30\"\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "http://127.0.0.1:5000/api/v1/getReviews",
"protocol": "http",
"host": [
"127",
"0",
"0",
"1"
],
"port": "5000",
"path": [
"api",
"v1",
"getReviews"
]
}
},
"response": []
},
{
"name": "collectGame",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Response Content-Type is json\", function () {\r",
" pm.response.to.have.header(\"Content-Type\", \"application/json\");\r",
"});\r",
"\r",
"pm.test(\"Response body has code and msg\", function () {\r",
" var jsonData = pm.response.json();\r",
" pm.expect(jsonData).to.have.property(\"code\");\r",
" pm.expect(jsonData).to.have.property(\"msg\");\r",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"gameId\":\"655acf60a83dcb3825d85c30\",\r\n \"username\":\"lzh\"\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "http://127.0.0.1:5000/api/v1/games/collectGame",
"protocol": "http",
"host": [
"127",
"0",
"0",
"1"
],
"port": "5000",
"path": [
"api",
"v1",
"games",
"collectGame"
]
}
},
"response": []
},
{
"name": "getCollectList",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Status code is 200\", function () {\r",
" pm.response.to.have.status(200);\r",
"});\r",
"\r",
"pm.test(\"Response Content-Type is json\", function () {\r",
" pm.response.to.have.header(\"Content-Type\", \"application/json\");\r",
"});\r",
"\r",
"pm.test(\"Response code should be 200\", function () {\r",
" var jsonData = pm.response.json();\r",
" pm.expect(jsonData.code).to.eql(200);\r",
"});\r",
"\r",
"pm.test(\"Response should have a msg field\", function () {\r",
" var jsonData = pm.response.json();\r",
" pm.expect(jsonData).to.have.property('msg');\r",
"});\r",
"\r",
"pm.test(\"Data should be an array\", function () {\r",
" var jsonData = pm.response.json();\r",
" pm.expect(jsonData.data).to.be.an('array');\r",
"});\r",
"\r",
"pm.test(\"Each item in data should have necessary properties\", function () {\r",
" var jsonData = pm.response.json();\r",
" jsonData.data.forEach(function (item) {\r",
" pm.expect(item).to.have.property('_id');\r",
" pm.expect(item).to.have.property('Title');\r",
" pm.expect(item).to.have.property('Original Price');\r",
" pm.expect(item).to.have.property('Discounted Price');\r",
" pm.expect(item).to.have.property('Release Date');\r",
" });\r",
"});\r",
""
],
"type": "text/javascript"
}
}
],
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"username\":\"lzh\"\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "http://127.0.0.1:5000/api/v1/game/getCollectList",
"protocol": "http",
"host": [
"127",
"0",
"0",
"1"
],
"port": "5000",
"path": [
"api",
"v1",
"game",
"getCollectList"
]
}
},
"response": []
},
{
"name": "cacelCollectGame",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Response Content-Type is json\", function () {\r",
" pm.response.to.have.header(\"Content-Type\", \"application/json\");\r",
"});\r",
"\r",
"pm.test(\"Response body has code and msg\", function () {\r",
" var jsonData = pm.response.json();\r",
" pm.expect(jsonData).to.have.property(\"code\");\r",
" pm.expect(jsonData).to.have.property(\"msg\");\r",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"gameId\":\"655acf60a83dcb3825d85c30\",\r\n \"username\":\"lzh\"\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "http://127.0.0.1:5000/api/v1/games/cancelCollectGame",
"protocol": "http",
"host": [
"127",
"0",
"0",
"1"
],
"port": "5000",
"path": [
"api",
"v1",
"games",
"cancelCollectGame"
]
}
},
"response": []
}
]
}
]
}