{"info":{"_postman_id":"23547b25-084c-4b30-bc78-9e72372dc9b8","name":"TorAPI","description":"<html><head></head><body><p>Unofficial API (backend) for RuTracker, Kinozal, RuTor and NoNameClub</p>\n<p>Contact Support:<br>Name: © Lifailon (Alex Kup)</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"37302476","collectionId":"23547b25-084c-4b30-bc78-9e72372dc9b8","publishedId":"2sAXqzYeRj","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2024-09-30T15:17:16.000Z"},"item":[{"name":"api","item":[{"name":"Provider","item":[{"name":"Provider > List","event":[{"listen":"test","script":{"id":"d9449951-57b4-4107-8ea6-5caf349faeee","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 3 seconds\", function () {\r","    if (pm.response.responseTime > 3000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(3000, \"Response time is less than 3 seconds\")\r","    }\r","})\r","\r","pm.test(\"Checking CORS Headers is present: Access-Control-Allow-Origin\", function () {\r","    pm.response.to.have.header(\"Access-Control-Allow-Origin\")\r","})\r","\r","pm.test(\"Checking CORS Headers is present: Access-Control-Allow-Methods\", function () {\r","    pm.response.to.have.header(\"Access-Control-Allow-Methods\")\r","})\r","\r","pm.test(\"Checking CORS Headers is present: Access-Control-Allow-Headers\", function () {\r","    pm.response.to.have.header(\"Access-Control-Allow-Headers\")\r","})"],"type":"text/javascript","packages":{}}}],"id":"00e8adb8-cb15-4883-a294-6c410b367b74","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/provider/list","description":"<p>Get a list of providers</p>\n","urlObject":{"path":["api","provider","list"],"host":["http://127.0.0.1:8443"],"query":[],"variable":[]}},"response":[{"id":"0558847a-aa53-41b1-bba9-f1b3234a0036","name":"Successful response","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://torapi.vercel.app/api/provider/list"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"Provider\": \"string\",\n    \"Urls\": [\n      \"string\"\n    ]\n  }\n]"}],"_postman_id":"00e8adb8-cb15-4883-a294-6c410b367b74"},{"name":"Provider > Check","event":[{"listen":"test","script":{"id":"3fa3c0be-3d61-414b-8c33-dd7769334900","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 5 seconds\", function () {\r","    if (pm.response.responseTime > 5000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(5000, \"Response time is less than 5 seconds\")\r","    }\r","})\r","\r","pm.test(\"Validating all properties are true\", function () {\r","    const responseData = pm.response.json()[0]\r","    pm.expect(responseData).to.be.an('object')\r","    Object.values(responseData).forEach(value => {\r","        pm.expect(value).to.be.true\r","    })\r","})"],"type":"text/javascript","packages":{}}}],"id":"6f8142e3-d93e-4d7f-8952-03572329ae05","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/provider/check","description":"<p>Quickly check availability for all providers by searching by name</p>\n","urlObject":{"path":["api","provider","check"],"host":["http://127.0.0.1:8443"],"query":[],"variable":[]}},"response":[{"id":"522efa93-d7c2-4e3e-8d4c-eaf5687c57f8","name":"Successful response","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://torapi.vercel.app/api/provider/check"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"RSS\": {\n      \"RuTracker\": true,\n      \"Kinozal\": true,\n      \"RuTor\": true,\n      \"NoNameClub\": true\n    },\n    \"Title\": {\n      \"Status\": {\n        \"RuTracker\": true,\n        \"Kinozal\": true,\n        \"RuTor\": true,\n        \"NoNameClub\": true\n      },\n      \"Id\": {\n        \"RuTracker\": 0,\n        \"Kinozal\": 0,\n        \"RuTor\": 0,\n        \"NoNameClub\": 0\n      },\n      \"RunTime\": {\n        \"RuTracker\": 0,\n        \"Kinozal\": 0,\n        \"RuTor\": 0,\n        \"NoNameClub\": 0\n      }\n    },\n    \"Id\": {\n      \"Status\": {\n        \"RuTracker\": true,\n        \"Kinozal\": true,\n        \"RuTor\": true,\n        \"NoNameClub\": true\n      },\n      \"Files\": {\n        \"RuTracker\": true,\n        \"Kinozal\": true,\n        \"RuTor\": true,\n        \"NoNameClub\": true\n      },\n      \"RunTime\": {\n        \"RuTracker\": 0,\n        \"Kinozal\": 0,\n        \"RuTor\": 0,\n        \"NoNameClub\": 0\n      }\n    }\n  }\n]"}],"_postman_id":"6f8142e3-d93e-4d7f-8952-03572329ae05"},{"name":"Provider > Test","event":[{"listen":"prerequest","script":{"id":"b791fb3b-7aa4-45e8-bb53-2a089b1d66a5","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"test","script":{"id":"ccf130e2-2c50-4415-b2e1-2f5feb846083","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 10 seconds\", function () {\r","    if (pm.response.responseTime > 10000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(10000, \"Response time is less than 10 seconds\")\r","    }\r","})\r","\r","pm.test(\"Validating all properties. RSS are true\", function () {\r","    const responseJSON = pm.response.json()\r","    pm.expect(responseJSON[0].RSS.RuTracker).to.eql(true)\r","    pm.expect(responseJSON[0].RSS.Kinozal).to.eql(true)\r","    pm.expect(responseJSON[0].RSS.RuTor).to.eql(true)\r","    pm.expect(responseJSON[0].RSS.NoNameClub).to.eql(true)\r","})\r","\r","pm.test(\"Validating all properties. Search Title are true\", function () {\r","    const responseJSON = pm.response.json()\r","    pm.expect(responseJSON[0].Title.Status.RuTracker).to.eql(true)\r","    pm.expect(responseJSON[0].Title.Status.Kinozal).to.eql(true)\r","    pm.expect(responseJSON[0].Title.Status.RuTor).to.eql(true)\r","    pm.expect(responseJSON[0].Title.Status.NoNameClub).to.eql(true)\r","})\r","\r","pm.test(\"Validating all properties. Search ID are true\", function () {\r","    const responseJSON = pm.response.json()\r","    pm.expect(responseJSON[0].Id.Status.RuTracker).to.eql(true)\r","    pm.expect(responseJSON[0].Id.Status.Kinozal).to.eql(true)\r","    pm.expect(responseJSON[0].Id.Status.RuTor).to.eql(true)\r","    pm.expect(responseJSON[0].Id.Status.NoNameClub).to.eql(true)\r","})\r","\r","pm.test(\"Validating all properties. Files for Search ID are true\", function () {\r","    const responseJSON = pm.response.json()\r","    pm.expect(responseJSON[0].Id.Files.RuTracker).to.eql(true)\r","    pm.expect(responseJSON[0].Id.Files.Kinozal).to.eql(true)\r","    pm.expect(responseJSON[0].Id.Files.RuTor).to.eql(true)\r","    pm.expect(responseJSON[0].Id.Files.NoNameClub).to.eql(true)\r","})"],"type":"text/javascript","packages":{}}}],"id":"d81d6890-f7d1-40e9-8598-fab8f4b7da6d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/provider/test?query=The Rookie","description":"<p>Testing all endpoints</p>\n","urlObject":{"path":["api","provider","test"],"host":["http://127.0.0.1:8443"],"query":[{"description":{"content":"<p>(Required) Query parameter</p>\n","type":"text/plain"},"key":"query","value":"The Rookie"}],"variable":[]}},"response":[{"id":"a1379072-551e-44b2-b6e3-ec3cfd29fab4","name":"Successful response","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"https://torapi.vercel.app/api/provider/test?query=<string>","protocol":"https","host":["torapi","vercel","app"],"path":["api","provider","test"],"query":[{"key":"query","value":"<string>","description":"(Required) Query parameter"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"RSS\": {\n      \"RuTracker\": \"<boolean>\",\n      \"Kinozal\": \"<boolean>\",\n      \"RuTor\": \"<boolean>\",\n      \"NoNameClub\": \"<boolean>\"\n    },\n    \"Title\": {\n      \"Status\": {\n        \"RuTracker\": \"<boolean>\",\n        \"Kinozal\": \"<boolean>\",\n        \"RuTor\": \"<boolean>\",\n        \"NoNameClub\": \"<boolean>\"\n      },\n      \"Id\": {\n        \"RuTracker\": \"<integer>\",\n        \"Kinozal\": \"<integer>\",\n        \"RuTor\": \"<integer>\",\n        \"NoNameClub\": \"<integer>\"\n      },\n      \"RunTime\": {\n        \"RuTracker\": \"<number>\",\n        \"Kinozal\": \"<number>\",\n        \"RuTor\": \"<number>\",\n        \"NoNameClub\": \"<number>\"\n      }\n    },\n    \"Id\": {\n      \"Status\": {\n        \"RuTracker\": \"<boolean>\",\n        \"Kinozal\": \"<boolean>\",\n        \"RuTor\": \"<boolean>\",\n        \"NoNameClub\": \"<boolean>\"\n      },\n      \"Files\": {\n        \"RuTracker\": \"<boolean>\",\n        \"Kinozal\": \"<boolean>\",\n        \"RuTor\": \"<boolean>\",\n        \"NoNameClub\": \"<boolean>\"\n      },\n      \"RunTime\": {\n        \"RuTracker\": \"<number>\",\n        \"Kinozal\": \"<number>\",\n        \"RuTor\": \"<number>\",\n        \"NoNameClub\": \"<number>\"\n      }\n    }\n  }\n]"}],"_postman_id":"d81d6890-f7d1-40e9-8598-fab8f4b7da6d"}],"id":"8079b297-bd91-43fb-a27c-e2779744be67","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"81fbebd9-5d0b-4b19-9648-0064ee219691","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"c32ad5d5-3cd6-49f5-805a-e4f769b27533","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"8079b297-bd91-43fb-a27c-e2779744be67","description":""},{"name":"Get","item":[{"name":"Category List","item":[{"name":"Get > Category > RuTracker","event":[{"listen":"test","script":{"id":"69f90ec7-50e9-460b-a10b-b94c607220bd","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 1 seconds\", function () {\r","    if (pm.response.responseTime > 1000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(1000, \"Response time is less than 1 seconds\")\r","    }\r","})"],"type":"text/javascript","packages":{}}}],"id":"5852cb18-285d-4f5f-9639-e645cc0a7fa5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://127.0.0.1:8443/api/get/category/rutracker","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"1c75af45-42fc-4e50-8414-c28dfa330741","id":"1c75af45-42fc-4e50-8414-c28dfa330741","name":"Category List","type":"folder"}},"urlObject":{"path":["api","get","category","rutracker"],"host":["http://127.0.0.1:8443"],"query":[],"variable":[]}},"response":[{"id":"48a6799b-ded4-451f-866c-f8e0de56017f","name":"Successful response","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1:8443/api/category/rutracker"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"[\r\n  {\r\n    \"num\": \"string\"\r\n  }\r\n]"}],"_postman_id":"5852cb18-285d-4f5f-9639-e645cc0a7fa5"},{"name":"Get > Category > Kinozal","event":[{"listen":"test","script":{"id":"69f90ec7-50e9-460b-a10b-b94c607220bd","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 1 seconds\", function () {\r","    if (pm.response.responseTime > 1000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(1000, \"Response time is less than 1 seconds\")\r","    }\r","})"],"type":"text/javascript","packages":{}}}],"id":"397975f1-a842-4542-a61a-3d3f9aeeee23","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://127.0.0.1:8443/api/get/category/kinozal","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"1c75af45-42fc-4e50-8414-c28dfa330741","id":"1c75af45-42fc-4e50-8414-c28dfa330741","name":"Category List","type":"folder"}},"urlObject":{"path":["api","get","category","kinozal"],"host":["http://127.0.0.1:8443"],"query":[],"variable":[]}},"response":[{"id":"1eb006e9-5e3d-4cf3-88a1-dd3e6443a971","name":"Successful response","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1:8443/api/category/rutracker"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"[\r\n  {\r\n    \"num\": \"string\"\r\n  }\r\n]"}],"_postman_id":"397975f1-a842-4542-a61a-3d3f9aeeee23"},{"name":"Get > Category > RuTor","event":[{"listen":"test","script":{"id":"69f90ec7-50e9-460b-a10b-b94c607220bd","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 1 seconds\", function () {\r","    if (pm.response.responseTime > 1000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(1000, \"Response time is less than 1 seconds\")\r","    }\r","})"],"type":"text/javascript","packages":{}}}],"id":"81f3b37d-f71c-48e2-81cf-134abbc31d4b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://127.0.0.1:8443/api/get/category/rutor","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"1c75af45-42fc-4e50-8414-c28dfa330741","id":"1c75af45-42fc-4e50-8414-c28dfa330741","name":"Category List","type":"folder"}},"urlObject":{"path":["api","get","category","rutor"],"host":["http://127.0.0.1:8443"],"query":[],"variable":[]}},"response":[{"id":"ac94a7d4-e173-43d1-99c9-2ecb35cf61c1","name":"Successful response","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1:8443/api/category/rutracker"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"[\r\n  {\r\n    \"num\": \"string\"\r\n  }\r\n]"}],"_postman_id":"81f3b37d-f71c-48e2-81cf-134abbc31d4b"},{"name":"Get > Category > NoNameClub","event":[{"listen":"test","script":{"id":"69f90ec7-50e9-460b-a10b-b94c607220bd","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 1 seconds\", function () {\r","    if (pm.response.responseTime > 1000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(1000, \"Response time is less than 1 seconds\")\r","    }\r","})"],"type":"text/javascript","packages":{}}}],"id":"0945a80f-6ce6-49a0-961b-d8a80db6365c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://127.0.0.1:8443/api/get/category/nonameclub","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"1c75af45-42fc-4e50-8414-c28dfa330741","id":"1c75af45-42fc-4e50-8414-c28dfa330741","name":"Category List","type":"folder"}},"urlObject":{"path":["api","get","category","nonameclub"],"host":["http://127.0.0.1:8443"],"query":[],"variable":[]}},"response":[{"id":"e1edb89e-4a24-49e3-90a7-2f4c27ce09f7","name":"Successful response","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1:8443/api/category/rutracker"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"[\r\n  {\r\n    \"num\": \"string\"\r\n  }\r\n]"}],"_postman_id":"0945a80f-6ce6-49a0-961b-d8a80db6365c"}],"id":"1c75af45-42fc-4e50-8414-c28dfa330741","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"a4d2fc97-80e9-4400-9ca5-fa3fa4aff3a1","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"8e186399-7e65-4611-8977-70ccff3f5212","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"1c75af45-42fc-4e50-8414-c28dfa330741","description":""},{"name":"RSS (XML)","item":[{"name":"Get > RSS > RuTracker > XML","event":[{"listen":"test","script":{"id":"316b49f2-c40a-4659-b564-9ae6859e1ce5","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 2 seconds\", function () {\r","    if (pm.response.responseTime > 2000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(2000, \"Response time is less than 2 seconds\")\r","    }\r","})\r","\r","pm.test(\"Body matches string\", function () {\r","    pm.expect(pm.response.text()).to.include(\"viewtopic.php\")\r","})"],"type":"text/javascript","packages":{}}}],"id":"3b5c59db-47b7-4f2b-9f3c-7dafe5356209","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{"accept":true}},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/xml"}],"url":"http://127.0.0.1:8443/api/get/rss/rutracker","description":"<p>Get native RSS news feed from RuTracker provider in XML or JSON format. To get the answer in the required format, use the parameter in the answer block.</p>\n","urlObject":{"path":["api","get","rss","rutracker"],"host":["http://127.0.0.1:8443"],"query":[],"variable":[]}},"response":[],"_postman_id":"3b5c59db-47b7-4f2b-9f3c-7dafe5356209"},{"name":"Get > RSS > Kinozal > XML","event":[{"listen":"test","script":{"id":"15c38751-d721-4865-ba7a-e333a3ecd908","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 2 seconds\", function () {\r","    if (pm.response.responseTime > 2000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(2000, \"Response time is less than 2 seconds\")\r","    }\r","})\r","\r","pm.test(\"Body matches string\", function () {\r","    pm.expect(pm.response.text()).to.include(\"details.php\")\r","})"],"type":"text/javascript","packages":{}}}],"id":"bcb8d2b5-8959-418e-af66-cf80cc4031c9","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{"accept":true}},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/xml"}],"url":"http://127.0.0.1:8443/api/get/rss/kinozal","description":"<p>Get native RSS news feed from Kinozal provider in XML or JSON format. To get the answer in the required format, use the parameter in the answer block.</p>\n","urlObject":{"path":["api","get","rss","kinozal"],"host":["http://127.0.0.1:8443"],"query":[],"variable":[]}},"response":[],"_postman_id":"bcb8d2b5-8959-418e-af66-cf80cc4031c9"},{"name":"Get > RSS > RuTor > XML","event":[{"listen":"test","script":{"id":"0168ac45-ba14-4bd4-be71-7fa16e4372c8","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 2 seconds\", function () {\r","    if (pm.response.responseTime > 2000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(2000, \"Response time is less than 2 seconds\")\r","    }\r","})\r","\r","pm.test(\"Body matches string\", function () {\r","    pm.expect(pm.response.text()).to.include(\"d.rutor.info/download\")\r","})"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"9abccfaa-f3ab-48fb-80bd-e42104678c94","exec":[""],"type":"text/javascript","packages":{}}}],"id":"c76e7ab6-4e57-4b1c-9527-8aa9cce1e89f","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{"accept":true}},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/xml"}],"url":"http://127.0.0.1:8443/api/get/rss/rutor","description":"<p>Get custom RSS news feed from RuTor provider in XML or JSON format. To get the answer in the required format, use the parameter in the answer block.</p>\n","urlObject":{"path":["api","get","rss","rutor"],"host":["http://127.0.0.1:8443"],"query":[],"variable":[]}},"response":[],"_postman_id":"c76e7ab6-4e57-4b1c-9527-8aa9cce1e89f"},{"name":"Get > RSS > NoNameClub > XML","event":[{"listen":"test","script":{"id":"f53461d4-ea16-475b-9d70-1b795223c4ce","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 2 seconds\", function () {\r","    if (pm.response.responseTime > 2000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(2000, \"Response time is less than 2 seconds\")\r","    }\r","})\r","\r","pm.test(\"Body matches string\", function () {\r","    pm.expect(pm.response.text()).to.include(\"viewtopic.php\")\r","})"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"9ca18855-7b2d-460b-b537-65d74bfe90ab","exec":[""],"type":"text/javascript","packages":{}}}],"id":"a07d7974-5b9c-4042-80fc-c7ce2ee51b2a","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{"accept":true}},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/xml"}],"url":"http://127.0.0.1:8443/api/get/rss/nonameclub","description":"<p>Get native RSS news feed from NoNameClub provider in XML or JSON format. To get the answer in the required format, use the parameter in the answer block.</p>\n","urlObject":{"path":["api","get","rss","nonameclub"],"host":["http://127.0.0.1:8443"],"query":[],"variable":[]}},"response":[],"_postman_id":"a07d7974-5b9c-4042-80fc-c7ce2ee51b2a"}],"id":"c4093a87-d51b-4ee9-8e57-ccc85eae253c","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"5eb68574-b8ba-466e-9f48-1d47b2eb14fd","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"d2b9e8a8-973f-4a7a-894e-c6babb2f16e5","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"c4093a87-d51b-4ee9-8e57-ccc85eae253c","description":""},{"name":"RSS (JSON) and Filter by Category","item":[{"name":"Get > RSS > RuTracker > JSON + Category","event":[{"listen":"test","script":{"id":"316b49f2-c40a-4659-b564-9ae6859e1ce5","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 2 seconds\", function () {\r","    if (pm.response.responseTime > 2000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(2000, \"Response time is less than 2 seconds\")\r","    }\r","})\r","\r","const categoryRuTracker = pm.collectionVariables.get(\"categoryRuTracker\")\r","\r","pm.test(`Category include ${categoryRuTracker}`, function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.category).to.include(categoryRuTracker)\r","    })\r","})\r","\r","const categoryNameRuTracker = pm.collectionVariables.get(\"categoryNameRuTracker\")\r","console.log(`Category Name: ${categoryNameRuTracker}`)\r","\r","pm.test(`Category Lable = ${categoryNameRuTracker}`, function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.categoryLable).to.eq(categoryNameRuTracker)\r","    })\r","})"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"60754025-dd09-4fc4-8fcf-33e674c6392c","exec":["const baseUrl = pm.variables.get(\"baseUrl\")\r","const categoryRuTracker = pm.variables.get(\"categoryRuTracker\")\r","\r","pm.sendRequest({\r","    url: `${baseUrl}/api/get/category/rutracker`,\r","    method: \"GET\"\r","}, function (err, response) {\r","    if (err) {\r","        console.error(err)\r","        return\r","    }\r","    const categoryNameRuTracker = response.json()[0][categoryRuTracker]\r","    if (categoryNameRuTracker) {\r","        pm.collectionVariables.set('categoryNameRuTracker', categoryNameRuTracker)\r","    } else {\r","        console.log('Key not found')\r","    }\r","})"],"type":"text/javascript","packages":{}}}],"id":"f00e9bee-8252-47c7-8b8c-d6e9936cb5b8","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{"accept":true}},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"http://127.0.0.1:8443/api/get/rss/rutracker?category=1605","description":"<p>Get native RSS news feed from RuTracker provider in XML or JSON format. To get the answer in the required format, use the parameter in the answer block.</p>\n","urlObject":{"path":["api","get","rss","rutracker"],"host":["http://127.0.0.1:8443"],"query":[{"key":"category","value":"1605"}],"variable":[]}},"response":[{"id":"83e17f92-87ce-4ace-a805-0a6d6180869c","name":"Successful response","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/xml"}],"url":"https://torapi.vercel.app/api/get/rss/rutracker"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"id\": \"string\",\n    \"link\": \"string\",\n    \"updated\": \"string\",\n    \"title\": \"string\",\n    \"author\": \"string\",\n    \"category\": \"string\",\n    \"categoryLable\": \"string\"\n  }\n]"}],"_postman_id":"f00e9bee-8252-47c7-8b8c-d6e9936cb5b8"},{"name":"Get > RSS > Kinozal > JSON + Category + Filters","event":[{"listen":"test","script":{"id":"316b49f2-c40a-4659-b564-9ae6859e1ce5","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 2 seconds\", function () {\r","    if (pm.response.responseTime > 2000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(2000, \"Response time is less than 2 seconds\")\r","    }\r","})\r","\r","const categoryNameKinozal = pm.collectionVariables.get(\"categoryNameKinozal\")\r","console.log(`Category Name: ${categoryNameKinozal}`)\r","\r","pm.test(`Category Lable = ${categoryNameKinozal}`, function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.category).to.eq(categoryNameKinozal)\r","    })\r","})\r","\r","pm.test(`Check format FullHD (1080)`, function () {\r","    const responseData = pm.response.json()\r","    pm.expect(responseData[0].title).to.include('1080')\r","})\r","\r","pm.test(`Check year 2024`, function () {\r","    const responseData = pm.response.json()\r","    pm.expect(responseData[0].title).to.include('2024')\r","})"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"60754025-dd09-4fc4-8fcf-33e674c6392c","exec":["const baseUrl = pm.variables.get(\"baseUrl\")\r","const categoryKinozal = pm.variables.get(\"categoryKinozal\")\r","\r","pm.sendRequest({\r","    url: `${baseUrl}/api/get/category/kinozal`,\r","    method: \"GET\"\r","}, function (err, response) {\r","    if (err) {\r","        console.error(err)\r","        return\r","    }\r","    const categoryNameKinozal = response.json()[0][categoryKinozal]\r","    if (categoryNameKinozal) {\r","        pm.collectionVariables.set('categoryNameKinozal', categoryNameKinozal)\r","    } else {\r","        console.log('Key not found')\r","    }\r","})"],"type":"text/javascript","packages":{}}}],"id":"833e2181-fc45-4dca-b1de-6ffeb3096329","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{"accept":true}},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"http://127.0.0.1:8443/api/get/rss/kinozal?category=20&year=2024&format=1080","description":"<p>Get native RSS news feed from RuTracker provider in XML or JSON format. To get the answer in the required format, use the parameter in the answer block.</p>\n","urlObject":{"path":["api","get","rss","kinozal"],"host":["http://127.0.0.1:8443"],"query":[{"key":"category","value":"20"},{"key":"year","value":"2024"},{"key":"format","value":"1080"}],"variable":[]}},"response":[{"id":"499f4f81-c320-4626-b29a-6081f36db118","name":"Successful response","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/xml"}],"url":"https://torapi.vercel.app/api/get/rss/rutracker"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"date\": \"string\",\n    \"title\": \"string\",\n    \"category\": \"string\",\n    \"link\": \"string\",\n    \"downloadLink\": \"string\",\n    \"size\": \"string\",\n    \"comments\": \"string\",\n    \"seeds\": \"string\",\n    \"peers\": \"string\"\n  }\n]"}],"_postman_id":"833e2181-fc45-4dca-b1de-6ffeb3096329"},{"name":"Get > RSS > RuTor > JSON + Category","event":[{"listen":"test","script":{"id":"316b49f2-c40a-4659-b564-9ae6859e1ce5","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 2 seconds\", function () {\r","    if (pm.response.responseTime > 2000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(2000, \"Response time is less than 2 seconds\")\r","    }\r","})\r","\r","const categoryRuTor = pm.collectionVariables.get(\"categoryRuTor\")\r","\r","pm.test(`Category include ${categoryRuTor}`, function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.category).to.include(categoryRuTor)\r","    })\r","})\r","\r","const categoryNameRuTor = pm.collectionVariables.get(\"categoryNameRuTor\")\r","console.log(`Category Name: ${categoryNameRuTor}`)\r","\r","pm.test(`Category Lable = ${categoryNameRuTor}`, function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.categoryLable).to.eq(categoryNameRuTor)\r","    })\r","})"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"60754025-dd09-4fc4-8fcf-33e674c6392c","exec":["const baseUrl = pm.variables.get(\"baseUrl\")\r","const categoryRuTor = pm.variables.get(\"categoryRuTor\")\r","\r","pm.sendRequest({\r","    url: `${baseUrl}/api/get/category/rutracker`,\r","    method: \"GET\"\r","}, function (err, response) {\r","    if (err) {\r","        console.error(err)\r","        return\r","    }\r","    const categoryNameRuTor = response.json()[0][categoryRuTor]\r","    if (categoryNameRuTor) {\r","        pm.collectionVariables.set('categoryNameRuTor', categoryNameRuTor)\r","    } else {\r","        console.log('Key not found')\r","    }\r","})"],"type":"text/javascript","packages":{}}}],"id":"56f92bf3-e324-4d28-96b5-e85e78d850df","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{"accept":true}},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"http://127.0.0.1:8443/api/get/rss/rutracker?category=10","description":"<p>Get native RSS news feed from RuTracker provider in XML or JSON format. To get the answer in the required format, use the parameter in the answer block.</p>\n","urlObject":{"path":["api","get","rss","rutracker"],"host":["http://127.0.0.1:8443"],"query":[{"key":"category","value":"10"}],"variable":[]}},"response":[{"id":"9ad929b4-aa40-4aa7-8cbd-b02d29372f1d","name":"Successful response","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/xml"}],"url":"https://torapi.vercel.app/api/get/rss/rutracker"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"date\": \"string\",\n    \"title\": \"string\",\n    \"link\": \"string\",\n    \"downloadLink\": \"string\",\n    \"magnet\": \"string\",\n    \"size\": \"string\",\n    \"comments\": 0,\n    \"seeds\": 0,\n    \"peers\": 0\n  }\n]"}],"_postman_id":"56f92bf3-e324-4d28-96b5-e85e78d850df"},{"name":"Get > RSS > NoNameClub > JSON + Category","event":[{"listen":"test","script":{"id":"316b49f2-c40a-4659-b564-9ae6859e1ce5","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 2 seconds\", function () {\r","    if (pm.response.responseTime > 2000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(2000, \"Response time is less than 2 seconds\")\r","    }\r","})\r","\r","const categoryNameNoNameClub = pm.collectionVariables.get(\"categoryNameNoNameClub\")\r","console.log(`Category Name: ${categoryNameNoNameClub}`)\r","\r","pm.test(`Title include: ${categoryNameNoNameClub}`, function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.title).to.include(categoryNameNoNameClub)\r","    })\r","})"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"60754025-dd09-4fc4-8fcf-33e674c6392c","exec":["const baseUrl = pm.variables.get(\"baseUrl\")\r","const categoryNoNameClub = pm.variables.get(\"categoryNoNameClub\")\r","\r","pm.sendRequest({\r","    url: `${baseUrl}/api/get/category/nonameclub`,\r","    method: \"GET\"\r","}, function (err, response) {\r","    if (err) {\r","        console.error(err)\r","        return\r","    }\r","    const categoryNameNoNameClub = response.json()[0][categoryNoNameClub]\r","    if (categoryNameNoNameClub) {\r","        pm.collectionVariables.set('categoryNameNoNameClub', categoryNameNoNameClub)\r","    } else {\r","        console.log('Key not found')\r","    }\r","})"],"type":"text/javascript","packages":{}}}],"id":"df7ac454-bb57-4d0e-9225-6be5ee7fff09","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{"accept":true}},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"http://127.0.0.1:8443/api/get/rss/nonameclub?category=1318","description":"<p>Get native RSS news feed from RuTracker provider in XML or JSON format. To get the answer in the required format, use the parameter in the answer block.</p>\n","urlObject":{"path":["api","get","rss","nonameclub"],"host":["http://127.0.0.1:8443"],"query":[{"key":"category","value":"1318"}],"variable":[]}},"response":[{"id":"5e36eafc-7813-4069-a17e-b2296d95aad3","name":"Successful response","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/xml"}],"url":"https://torapi.vercel.app/api/get/rss/rutracker"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"turbo\": \"string\",\n    \"title\": \"string\",\n    \"link\": \"string\",\n    \"pubDate\": \"string\",\n    \"description\": \"string\",\n    \"content\": \"string\",\n    \"creator\": \"string\",\n    \"commentRss\": \"string\",\n    \"comments\": \"string\"\n  }\n]"}],"_postman_id":"df7ac454-bb57-4d0e-9225-6be5ee7fff09"}],"id":"73a6414e-936b-460e-bfbe-18da6a3c4a48","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"67ce9fb4-7954-461a-afe1-4470a4b65098","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"48c042ca-7776-405d-b3c1-fd65b48cc65e","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"73a6414e-936b-460e-bfbe-18da6a3c4a48","description":""}],"id":"b0fb4089-f2cf-41d6-9760-7780c559a972","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"fe7ed7fb-fcf0-439a-88a7-9c3d3d291b46","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"fb6a6a26-be81-4b60-9fdc-64be130f7019","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"b0fb4089-f2cf-41d6-9760-7780c559a972","description":""},{"name":"Search","item":[{"name":"Search by Title","item":[{"name":"Search > Title > RuTracker","event":[{"listen":"test","script":{"id":"d101c724-fd9c-4b38-a574-819fab917d44","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 2 seconds\", function () {\r","    if (pm.response.responseTime > 2000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(2000, \"Response time is less than 2 seconds\")\r","    }\r","})\r","\r","pm.test(\"Name is in not null\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Name).to.not.be.null\r","        pm.expect(item.Name).to.not.be.undefined\r","        pm.expect(item.Name).to.not.equal('')\r","    })\r","})\r","\r","pm.test(\"ID is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Id).to.match(/^\\d.+$/)\r","    })\r","})\r","\r","pm.test(\"Url is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Url).to.match(/^https/)\r","    })\r","})\r","\r","pm.test(\"Torrent is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Torrent).to.match(/^https/)\r","    })\r","})\r","\r","pm.test(\"Size is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Size).to.match(/(KB|MB|GB)$/i)\r","    })\r","})\r","\r","pm.test(\"Download Count is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Download_Count).to.match(/^\\d+$/)\r","    })\r","})\r","\r","pm.test(\"Checked is in not null\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Checked).to.not.be.null\r","        pm.expect(item.Checked).to.not.be.undefined\r","        pm.expect(item.Checked).to.not.equal('')\r","    })\r","})\r","\r","pm.test(\"Category is in not null\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Category).to.not.be.null\r","        pm.expect(item.Category).to.not.be.undefined\r","        pm.expect(item.Category).to.not.equal('')\r","    })\r","})\r","\r","pm.test(\"Seeds Count is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Seeds).to.match(/^[0-9]+$/)\r","    })\r","})\r","\r","pm.test(\"Peers Count is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Peers).to.match(/^[0-9]+$/)\r","    })\r","})\r","\r","pm.test(\"Date is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Date).to.match(/^\\d{2}\\.\\d{2}\\.\\d{4}$/)\r","    })\r","})"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"dfe03e33-80f4-4805-8d8a-81b372e0fbf1","exec":[""],"type":"text/javascript","packages":{}}}],"id":"bdebe073-1309-4001-9932-791a96d98b6d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/search/title/rutracker?query=The Rookie&category=0&page=0","description":"<p>Search for a movie or TV series in torrent tracker RuTracker</p>\n","urlObject":{"path":["api","search","title","rutracker"],"host":["http://127.0.0.1:8443"],"query":[{"description":{"content":"<p>Query parameter</p>\n","type":"text/plain"},"key":"query","value":"The Rookie"},{"description":{"content":"<p>Parameter to filter by category</p>\n","type":"text/plain"},"key":"category","value":"0"},{"description":{"content":"<p>Page number or All</p>\n","type":"text/plain"},"key":"page","value":"0"}],"variable":[]}},"response":[{"id":"2d6c0e90-0d59-4b71-b81b-83f8bc44b716","name":"Successful response","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"http://127.0.0.1:8443/api/search/title/rutracker?query=<string>&page=0","protocol":"http","host":["127","0","0","1"],"port":"8443","path":["api","search","title","rutracker"],"query":[{"key":"query","value":"<string>","description":"(Required) Query parameter"},{"key":"page","value":"0","description":"Page number"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"Name\": \"string\",\n    \"Id\": \"string\",\n    \"Url\": \"string\",\n    \"Torrent\": \"string\",\n    \"Size\": \"string\",\n    \"Download_Count\": \"string\",\n    \"Checked\": \"string\",\n    \"Category\": \"string\",\n    \"Seeds\": \"string\",\n    \"Peers\": \"string\",\n    \"Date\": \"string\"\n  }\n]"}],"_postman_id":"bdebe073-1309-4001-9932-791a96d98b6d"},{"name":"Search > Title > Kinozal","event":[{"listen":"test","script":{"id":"21c91c19-89f5-4e68-8baf-baa5cf611e8b","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 2 seconds\", function () {\r","    if (pm.response.responseTime > 2000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(2000, \"Response time is less than 2 seconds\")\r","    }\r","})\r","\r","pm.test(\"Name is in not null\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Name).to.not.be.null\r","        pm.expect(item.Name).to.not.be.undefined\r","        pm.expect(item.Name).to.not.equal('')\r","    })\r","})\r","\r","pm.test(\"Title is in not null\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Title).to.not.be.null\r","        pm.expect(item.Title).to.not.be.undefined\r","        pm.expect(item.Title).to.not.equal('')\r","    })\r","})\r","\r","pm.test(\"ID is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Id).to.match(/^\\d.+$/)\r","    })\r","})\r","\r","pm.test(\"Original Name is in not null\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Original_Name).to.not.be.null\r","        pm.expect(item.Original_Name).to.not.be.undefined\r","        pm.expect(item.Original_Name).to.not.equal('')\r","    })\r","})\r","\r","pm.test(\"Year is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Date).to.match(/^(\\d{4})||(\\d{4}-\\d{4})$/)\r","    })\r","})\r","\r","pm.test(\"Language is in not null\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Language).to.not.be.null\r","        pm.expect(item.Language).to.not.be.undefined\r","        pm.expect(item.Language).to.not.equal('')\r","    })\r","})\r","\r","pm.test(\"Url is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Url).to.match(/^https/)\r","    })\r","})\r","\r","pm.test(\"Torrent is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Torrent).to.match(/^https/)\r","    })\r","})\r","\r","pm.test(\"Size is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Size).to.match(/(KB|MB|GB)$/i)\r","    })\r","})\r","\r","pm.test(\"Comments Count is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Comments).to.match(/^[0-9]+$/)\r","    })\r","})\r","\r","pm.test(\"Category is in not null\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Category).to.not.be.null\r","        pm.expect(item.Category).to.not.be.undefined\r","        pm.expect(item.Category).to.not.equal('')\r","    })\r","})\r","\r","pm.test(\"Seeds Count is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Seeds).to.match(/^[0-9]+$/)\r","    })\r","})\r","\r","pm.test(\"Peers Count is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Peers).to.match(/^[0-9]+$/)\r","    })\r","})\r","\r","pm.test(\"Time is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Time).to.match(/^\\d{2}:\\d{2}$/)\r","    })\r","})\r","\r","pm.test(\"Date is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Date).to.match(/^\\d{2}\\.\\d{2}\\.\\d{4}$/)\r","    })\r","})"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"1644bd49-a67f-49ee-96ea-11ddc3ffd6a4","exec":[""],"type":"text/javascript","packages":{}}}],"id":"14f47f8d-c5d4-49b2-aa1f-20079e530c30","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/search/title/kinozal?query=The Rookie&category=0&page=0&year=0&format=0","description":"<p>Search for a movie or TV series in torrent tracker Kinozal</p>\n","urlObject":{"path":["api","search","title","kinozal"],"host":["http://127.0.0.1:8443"],"query":[{"description":{"content":"<p>Query parameter</p>\n","type":"text/plain"},"key":"query","value":"The Rookie"},{"description":{"content":"<p>Parameter to filter by category</p>\n","type":"text/plain"},"key":"category","value":"0"},{"description":{"content":"<p>Page number or All</p>\n","type":"text/plain"},"key":"page","value":"0"},{"description":{"content":"<p>Release year for filtering</p>\n","type":"text/plain"},"key":"year","value":"0"},{"description":{"content":"<p>Quality resolution format for filtering</p>\n","type":"text/plain"},"key":"format","value":"0"}],"variable":[]}},"response":[{"id":"c787dafe-671e-40fc-9862-57a60a9c38c3","name":"Successful response","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"http://127.0.0.1:8443/api/search/title/kinozal?query=<string>&page=0&year=0","protocol":"http","host":["127","0","0","1"],"port":"8443","path":["api","search","title","kinozal"],"query":[{"key":"query","value":"<string>","description":"(Required) Query parameter"},{"key":"page","value":"0","description":"Page number"},{"key":"year","value":"0","description":"Year release"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"Name\": \"string\",\n    \"Title\": \"string\",\n    \"Id\": \"string\",\n    \"Original_Name\": \"string\",\n    \"Year\": \"string\",\n    \"Language\": \"string\",\n    \"Format\": \"string\",\n    \"Url\": \"string\",\n    \"Torrent\": \"string\",\n    \"Size\": \"string\",\n    \"Comments\": \"string\",\n    \"Category\": \"string\",\n    \"Seeds\": \"string\",\n    \"Peers\": \"string\",\n    \"Time\": \"string\",\n    \"Date\": \"string\"\n  }\n]"}],"_postman_id":"14f47f8d-c5d4-49b2-aa1f-20079e530c30"},{"name":"Search > Title > RuTor","event":[{"listen":"test","script":{"id":"dbf0055d-9a54-4477-b9f5-82ef93a2e7a5","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 2 seconds\", function () {\r","    if (pm.response.responseTime > 2000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(2000, \"Response time is less than 2 seconds\")\r","    }\r","})\r","\r","pm.test(\"Name is in not null\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Name).to.not.be.null\r","        pm.expect(item.Name).to.not.be.undefined\r","        pm.expect(item.Name).to.not.equal('')\r","    })\r","})\r","\r","pm.test(\"ID is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Id).to.match(/^\\d.+$/)\r","    })\r","})\r","\r","pm.test(\"Url is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Url).to.match(/^https/)\r","    })\r","})\r","\r","pm.test(\"Torrent is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Torrent).to.match(/^https/)\r","    })\r","})\r","\r","pm.test(\"Hash is in not null\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Hash).to.not.be.null\r","        pm.expect(item.Hash).to.not.be.undefined\r","        pm.expect(item.Hash).to.not.equal('')\r","    })\r","})\r","\r","pm.test(\"Size is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Size).to.match(/(KB|MB|GB)$/i)\r","    })\r","})\r","\r","pm.test(\"Comments Count is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Comments).to.match(/^[0-9]+$/)\r","    })\r","})\r","\r","pm.test(\"Seeds Count is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Seeds).to.match(/^[0-9]+$/)\r","    })\r","})\r","\r","pm.test(\"Peers Count is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Peers).to.match(/^[0-9]+$/)\r","    })\r","})\r","\r","pm.test(\"Date is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Date).to.match(/^\\d{2}\\.\\d{2}\\.\\d{4}$/)\r","    })\r","})"],"type":"text/javascript","packages":{}}}],"id":"3135626a-39e1-4d54-bfa2-77c2c2542ca2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/search/title/rutor?query=The Rookie&category=0&page=0","description":"<p>Search for a movie or TV series in torrent tracker RuTor</p>\n","urlObject":{"path":["api","search","title","rutor"],"host":["http://127.0.0.1:8443"],"query":[{"description":{"content":"<p>Query parameter</p>\n","type":"text/plain"},"key":"query","value":"The Rookie"},{"description":{"content":"<p>Parameter to filter by category</p>\n","type":"text/plain"},"key":"category","value":"0"},{"description":{"content":"<p>Page number or All</p>\n","type":"text/plain"},"key":"page","value":"0"}],"variable":[]}},"response":[{"id":"b93ac756-0ea2-4c02-b240-ee103dbf551c","name":"Successful response","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"http://127.0.0.1:8443/api/search/title/rutor?query=<string>&page=0","protocol":"http","host":["127","0","0","1"],"port":"8443","path":["api","search","title","rutor"],"query":[{"key":"query","value":"<string>","description":"(Required) Query parameter"},{"key":"page","value":"0","description":"Page number"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"Name\": \"string\",\n    \"Id\": \"string\",\n    \"Url\": \"string\",\n    \"Torrent\": \"string\",\n    \"Hash\": \"string\",\n    \"Size\": \"string\",\n    \"Comments\": \"string\",\n    \"Seeds\": \"string\",\n    \"Peers\": \"string\",\n    \"Date\": \"string\"\n  }\n]"}],"_postman_id":"3135626a-39e1-4d54-bfa2-77c2c2542ca2"},{"name":"Search > Title > NoNameClub","event":[{"listen":"test","script":{"id":"518cf679-ff3d-4a22-8210-4f0ae5b9dd11","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 2 seconds\", function () {\r","    if (pm.response.responseTime > 2000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(2000, \"Response time is less than 2 seconds\")\r","    }\r","})\r","\r","pm.test(\"Name is in not null\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Name).to.not.be.null\r","        pm.expect(item.Name).to.not.be.undefined\r","        pm.expect(item.Name).to.not.equal('')\r","    })\r","})\r","\r","pm.test(\"ID is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Id).to.match(/^\\d.+$/)\r","    })\r","})\r","\r","pm.test(\"Url is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Url).to.match(/^https/)\r","    })\r","})\r","\r","pm.test(\"Torrent is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Torrent).to.match(/^https/)\r","    })\r","})\r","\r","pm.test(\"Size is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Size).to.match(/(KB|MB|GB)$/i)\r","    })\r","})\r","\r","pm.test(\"Comments Count is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Comments).to.match(/^[0-9]+$/)\r","    })\r","})\r","\r","pm.test(\"Category is in not null\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Category).to.not.be.null\r","        pm.expect(item.Category).to.not.be.undefined\r","        pm.expect(item.Category).to.not.equal('')\r","    })\r","})\r","\r","pm.test(\"Seeds Count is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Seeds).to.match(/^[0-9]+$/)\r","    })\r","})\r","\r","pm.test(\"Peers Count is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Peers).to.match(/^[0-9]+$/)\r","    })\r","})\r","\r","pm.test(\"Time is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Time).to.match(/^\\d{2}:\\d{2}$/)\r","    })\r","})\r","\r","pm.test(\"Date is in a valid format\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Date).to.match(/^\\d{2}\\.\\d{2}\\.\\d{4}$/)\r","    })\r","})"],"type":"text/javascript","packages":{}}}],"id":"a809cc5d-fd77-44eb-a5f6-0d0cc5a24565","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/search/title/nonameclub?query=The Rookie&category=0&page=0","description":"<p>Search for a movie or TV series in torrent tracker NoNameClub</p>\n","urlObject":{"path":["api","search","title","nonameclub"],"host":["http://127.0.0.1:8443"],"query":[{"description":{"content":"<p>Query parameter</p>\n","type":"text/plain"},"key":"query","value":"The Rookie"},{"description":{"content":"<p>Parameter to filter by category</p>\n","type":"text/plain"},"key":"category","value":"0"},{"description":{"content":"<p>Page number or All</p>\n","type":"text/plain"},"key":"page","value":"0"}],"variable":[]}},"response":[{"id":"400e672b-95a1-4245-9484-bc31e2cdb7a9","name":"Successful response","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"http://127.0.0.1:8443/api/search/title/nonameclub?query=<string>&page=0","protocol":"http","host":["127","0","0","1"],"port":"8443","path":["api","search","title","nonameclub"],"query":[{"key":"query","value":"<string>","description":"(Required) Query parameter"},{"key":"page","value":"0","description":"Page number"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"Name\": \"string\",\n    \"Id\": \"string\",\n    \"Url\": \"string\",\n    \"Torrent\": \"string\",\n    \"Size\": \"string\",\n    \"Comments\": \"string\",\n    \"Category\": \"string\",\n    \"Seeds\": \"string\",\n    \"Peers\": \"string\",\n    \"Time\": \"string\",\n    \"Date\": \"string\"\n  }\n]"}],"_postman_id":"a809cc5d-fd77-44eb-a5f6-0d0cc5a24565"},{"name":"Search > Title > ALL","event":[{"listen":"test","script":{"id":"73a781d4-63b7-4726-9dba-2c8c9f6b7320","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 3 seconds\", function () {\r","    if (pm.response.responseTime > 3000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(3000, \"Response time is less than 3 seconds\")\r","    }\r","})\r","\r","pm.test(\"Test data in RuTracker\", function () {\r","    let jsonData = pm.response.json()\r","    pm.expect(jsonData.RuTracker.Name).to.not.be.null\r","})\r","\r","pm.test(\"Test data in Kinozal\", function () {\r","    let jsonData = pm.response.json()\r","    pm.expect(jsonData.Kinozal.Name).to.not.be.null\r","})\r","\r","pm.test(\"Test data in RuTor\", function () {\r","    let jsonData = pm.response.json()\r","    pm.expect(jsonData.RuTor.Name).to.not.be.null\r","})\r","\r","pm.test(\"Test data in NoNameClub\", function () {\r","    let jsonData = pm.response.json()\r","    pm.expect(jsonData.NoNameClub.Name).to.not.be.null\r","})\r","\r","pm.test(\"Response has the required property for RuTracker\", function () {\r","    const responseData = pm.response.json()\r","    pm.expect(responseData).to.be.an('Object')\r","    pm.expect(responseData.RuTracker).to.be.an('array')\r","    responseData.RuTracker.forEach((item) => {\r","        pm.expect(item).to.have.property('Name').that.is.not.empty\r","        pm.expect(item).to.have.property('Id').that.is.not.empty\r","        pm.expect(item).to.have.property('Url').that.is.not.empty\r","        pm.expect(item).to.have.property('Torrent').that.is.not.empty\r","        pm.expect(item).to.have.property('Size').that.is.not.empty\r","        pm.expect(item).to.have.property('Download_Count').that.is.not.empty\r","        pm.expect(item).to.have.property('Checked').that.is.not.empty\r","        pm.expect(item).to.have.property('Category').that.is.not.empty\r","        pm.expect(item).to.have.property('Seeds').that.is.not.empty\r","        pm.expect(item).to.have.property('Peers').that.is.not.empty\r","        pm.expect(item).to.have.property('Date').that.is.not.empty\r","    })\r","})\r","\r","pm.test(\"Response has the required property for Kinozal\", function () {\r","    const responseData = pm.response.json()\r","    pm.expect(responseData).to.be.an('Object')\r","    pm.expect(responseData.Kinozal).to.be.an('array')\r","    responseData.Kinozal.forEach(function (item) {\r","        pm.expect(item).to.have.property('Name').that.is.not.empty\r","        pm.expect(item).to.have.property('Title').that.is.not.empty\r","        pm.expect(item).to.have.property('Id').that.is.not.empty\r","        pm.expect(item).to.have.property('Original_Name').that.is.not.empty\r","        pm.expect(item).to.have.property('Year').that.is.not.empty\r","        pm.expect(item).to.have.property('Language').that.is.not.empty\r","        pm.expect(item).to.have.property('Format').that.is.not.empty\r","        pm.expect(item).to.have.property('Url').that.is.not.empty\r","        pm.expect(item).to.have.property('Torrent').that.is.not.empty\r","        pm.expect(item).to.have.property('Size').that.is.not.empty\r","        pm.expect(item).to.have.property('Comments').that.is.not.empty\r","        pm.expect(item).to.have.property('Category').that.is.not.empty\r","        pm.expect(item).to.have.property('Seeds').that.is.not.empty\r","        pm.expect(item).to.have.property('Peers').that.is.not.empty\r","        pm.expect(item).to.have.property('Time').that.is.not.empty\r","        pm.expect(item).to.have.property('Date').that.is.not.empty\r","    })\r","})\r","\r","pm.test(\"Response has the required property for RuTor\", function () {\r","    const responseData = pm.response.json()\r","    pm.expect(responseData).to.be.an('Object')\r","    pm.expect(responseData.RuTor).to.be.an('array')\r","    responseData.RuTor.forEach((item) => {\r","        pm.expect(item).to.have.property('Name').that.is.not.empty\r","        pm.expect(item).to.have.property('Id').that.is.not.empty\r","        pm.expect(item).to.have.property('Url').that.is.not.empty\r","        pm.expect(item).to.have.property('Torrent').that.is.not.empty\r","        pm.expect(item).to.have.property('Hash').that.is.not.empty\r","        pm.expect(item).to.have.property('Size').that.is.not.empty\r","        pm.expect(item).to.have.property('Comments').that.is.not.empty\r","        pm.expect(item).to.have.property('Seeds').that.is.not.empty\r","        pm.expect(item).to.have.property('Peers').that.is.not.empty\r","        pm.expect(item).to.have.property('Date').that.is.not.empty\r","    })\r","})\r","\r","pm.test(\"Response has the required property for NoNameClub\", function () {\r","    const responseData = pm.response.json()\r","    pm.expect(responseData).to.be.an('Object')\r","    pm.expect(responseData.NoNameClub).to.be.an('array').that.is.not.empty\r","    responseData.NoNameClub.forEach((item) => {\r","        pm.expect(item).to.have.property('Name').that.is.not.empty\r","        pm.expect(item).to.have.property('Id').that.is.not.empty\r","        pm.expect(item).to.have.property('Url').that.is.not.empty\r","        pm.expect(item).to.have.property('Torrent').that.is.not.empty\r","        pm.expect(item).to.have.property('Size').that.is.not.empty\r","        pm.expect(item).to.have.property('Comments').that.is.not.empty\r","        pm.expect(item).to.have.property('Category').that.is.not.empty\r","        pm.expect(item).to.have.property('Seeds').that.is.not.empty\r","        pm.expect(item).to.have.property('Peers').that.is.not.empty\r","        pm.expect(item).to.have.property('Time').that.is.not.empty\r","        pm.expect(item).to.have.property('Date').that.is.not.empty\r","    })\r","})"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"1ce21c76-3e71-4599-8d57-b4845b8f6ec0","exec":[""],"type":"text/javascript","packages":{}}}],"id":"97e3d754-c38a-48d8-9d65-368ca17f9fa9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/search/title/all?query=The Rookie&page=0&year=0&format=0","description":"<p>Search for a movie or TV series in all torrent trackers</p>\n","urlObject":{"path":["api","search","title","all"],"host":["http://127.0.0.1:8443"],"query":[{"description":{"content":"<p>Query parameter</p>\n","type":"text/plain"},"key":"query","value":"The Rookie"},{"description":{"content":"<p>Page number or All</p>\n","type":"text/plain"},"key":"page","value":"0"},{"description":{"content":"<p>Release year for filtering</p>\n","type":"text/plain"},"key":"year","value":"0"},{"description":{"content":"<p>Quality resolution format for filtering</p>\n","type":"text/plain"},"key":"format","value":"0"}],"variable":[]}},"response":[{"id":"5c61a20d-ed68-4e6a-a92c-1481aa594d32","name":"Successful response","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"http://127.0.0.1:8443/api/search/title/all?query=<string>&page=0&year=0","protocol":"http","host":["127","0","0","1"],"port":"8443","path":["api","search","title","all"],"query":[{"key":"query","value":"<string>","description":"(Required) Query parameter"},{"key":"page","value":"0","description":"Page number"},{"key":"year","value":"0","description":"Year release"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"RuTracker\": [\n    {\n      \"Name\": \"string\",\n      \"Id\": \"string\",\n      \"Url\": \"string\",\n      \"Torrent\": \"string\",\n      \"Size\": \"string\",\n      \"Download_Count\": \"string\",\n      \"Checked\": \"string\",\n      \"Category\": \"string\",\n      \"Seeds\": \"string\",\n      \"Peers\": \"string\",\n      \"Date\": \"string\"\n    }\n  ],\n  \"Kinozal\": [\n    {\n      \"Name\": \"string\",\n      \"Title\": \"string\",\n      \"Id\": \"string\",\n      \"Original_Name\": \"string\",\n      \"Year\": \"string\",\n      \"Language\": \"string\",\n      \"Format\": \"string\",\n      \"Url\": \"string\",\n      \"Torrent\": \"string\",\n      \"Size\": \"string\",\n      \"Comments\": \"string\",\n      \"Category\": \"string\",\n      \"Seeds\": \"string\",\n      \"Peers\": \"string\",\n      \"Date\": \"string\"\n    }\n  ],\n  \"RuTor\": [\n    {\n      \"Name\": \"string\",\n      \"Id\": \"string\",\n      \"Url\": \"string\",\n      \"Torrent\": \"string\",\n      \"Hash\": \"string\",\n      \"Size\": \"string\",\n      \"Comments\": \"string\",\n      \"Seeds\": \"string\",\n      \"Peers\": \"string\",\n      \"Date\": \"string\"\n    }\n  ],\n  \"NoNameClub\": [\n    {\n      \"Name\": \"string\",\n      \"Id\": \"string\",\n      \"Url\": \"string\",\n      \"Torrent\": \"string\",\n      \"Size\": \"string\",\n      \"Comments\": \"string\",\n      \"Category\": \"string\",\n      \"Seeds\": \"string\",\n      \"Peers\": \"string\",\n      \"Date\": \"string\"\n    }\n  ]\n}"}],"_postman_id":"97e3d754-c38a-48d8-9d65-368ca17f9fa9"}],"id":"f3d60242-f033-4aa3-850e-39016db251d3","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"eb3738ff-72d2-481a-a26b-a638c2676b47","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"1288738b-650e-4256-9e11-bd3aed11edb4","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"f3d60242-f033-4aa3-850e-39016db251d3","description":""},{"name":"Search All Page","item":[{"name":"Search > Title > RuTracker > All Page","event":[{"listen":"test","script":{"id":"d101c724-fd9c-4b38-a574-819fab917d44","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 10 seconds\", function () {\r","    if (pm.response.responseTime > 10000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(10000, \"Response time is less than 10 seconds\")\r","    }\r","})\r","\r","pm.test(\"Name is in not null\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Name).to.not.be.null\r","        pm.expect(item.Name).to.not.be.undefined\r","        pm.expect(item.Name).to.not.equal('')\r","    })\r","})\r","\r","pm.test(\"Number of results > or = 450\", function () {\r","    const responseData = pm.response.json()\r","    const numberResults = responseData.length\r","    console.log(`Number of results: ${numberResults}`)\r","    pm.expect(numberResults).to.be.at.least(450)\r","})"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"dfe03e33-80f4-4805-8d8a-81b372e0fbf1","exec":[""],"type":"text/javascript","packages":{}}}],"id":"b8458b44-65aa-4353-85d0-8c2415833fce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/search/title/rutracker?query=test&category=0&page=all","description":"<p>Search for a movie or TV series in torrent tracker RuTracker</p>\n","urlObject":{"path":["api","search","title","rutracker"],"host":["http://127.0.0.1:8443"],"query":[{"description":{"content":"<p>Query parameter</p>\n","type":"text/plain"},"key":"query","value":"test"},{"key":"category","value":"0"},{"description":{"content":"<p>All pages</p>\n","type":"text/plain"},"key":"page","value":"all"}],"variable":[]}},"response":[],"_postman_id":"b8458b44-65aa-4353-85d0-8c2415833fce"},{"name":"Search > Title > Kinozal > All Page","event":[{"listen":"test","script":{"id":"21c91c19-89f5-4e68-8baf-baa5cf611e8b","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 10 seconds\", function () {\r","    if (pm.response.responseTime > 10000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(10000, \"Response time is less than 10 seconds\")\r","    }\r","})\r","\r","pm.test(\"Name is in not null\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Name).to.not.be.null\r","        pm.expect(item.Name).to.not.be.undefined\r","        pm.expect(item.Name).to.not.equal('')\r","    })\r","})\r","\r","pm.test(\"Number of results > or = 51\", function () {\r","    const responseData = pm.response.json()\r","    const numberResults = responseData.length\r","    console.log(`Number of results: ${numberResults}`)\r","    pm.expect(numberResults).to.be.at.least(51)\r","})"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"1644bd49-a67f-49ee-96ea-11ddc3ffd6a4","exec":[""],"type":"text/javascript","packages":{}}}],"id":"e8000156-7de0-4656-8336-61e87af2ad44","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/search/title/kinozal?query=test&category=0&page=all&year=0&format=0","description":"<p>Search for a movie or TV series in torrent tracker Kinozal</p>\n","urlObject":{"path":["api","search","title","kinozal"],"host":["http://127.0.0.1:8443"],"query":[{"description":{"content":"<p>Query parameter</p>\n","type":"text/plain"},"key":"query","value":"test"},{"key":"category","value":"0"},{"description":{"content":"<p>All pages</p>\n","type":"text/plain"},"key":"page","value":"all"},{"description":{"content":"<p>Release year for filtering</p>\n","type":"text/plain"},"key":"year","value":"0"},{"description":{"content":"<p>Quality resolution format for filtering</p>\n","type":"text/plain"},"key":"format","value":"0"}],"variable":[]}},"response":[],"_postman_id":"e8000156-7de0-4656-8336-61e87af2ad44"},{"name":"Search > Title > RuTor > All Page","event":[{"listen":"test","script":{"id":"dbf0055d-9a54-4477-b9f5-82ef93a2e7a5","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 10 seconds\", function () {\r","    if (pm.response.responseTime > 10000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(10000, \"Response time is less than 10 seconds\")\r","    }\r","})\r","\r","pm.test(\"Name is in not null\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Name).to.not.be.null\r","        pm.expect(item.Name).to.not.be.undefined\r","        pm.expect(item.Name).to.not.equal('')\r","    })\r","})\r","\r","pm.test(\"Number of results > or = 101\", function () {\r","    const responseData = pm.response.json()\r","    const numberResults = responseData.length\r","    console.log(`Number of results: ${numberResults}`)\r","    pm.expect(numberResults).to.be.at.least(101)\r","})"],"type":"text/javascript","packages":{}}}],"id":"27e4e650-3f13-4924-83f9-51a1f858e9e4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/search/title/rutor?query=test&category=0&page=all","description":"<p>Search for a movie or TV series in torrent tracker RuTor</p>\n","urlObject":{"path":["api","search","title","rutor"],"host":["http://127.0.0.1:8443"],"query":[{"description":{"content":"<p>Query parameter</p>\n","type":"text/plain"},"key":"query","value":"test"},{"key":"category","value":"0"},{"description":{"content":"<p>All pages</p>\n","type":"text/plain"},"key":"page","value":"all"}],"variable":[]}},"response":[],"_postman_id":"27e4e650-3f13-4924-83f9-51a1f858e9e4"},{"name":"Search > Title > NoNameClub > All Page","event":[{"listen":"test","script":{"id":"518cf679-ff3d-4a22-8210-4f0ae5b9dd11","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 5 seconds\", function () {\r","    if (pm.response.responseTime > 5000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(5000, \"Response time is less than 5 seconds\")\r","    }\r","})\r","\r","pm.test(\"Name is in not null\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Name).to.not.be.null\r","        pm.expect(item.Name).to.not.be.undefined\r","        pm.expect(item.Name).to.not.equal('')\r","    })\r","})\r","\r","pm.test(\"Number of results > or = 200\", function () {\r","    const responseData = pm.response.json()\r","    const numberResults = responseData.length\r","    console.log(`Number of results: ${numberResults}`)\r","    pm.expect(numberResults).to.be.at.least(200)\r","})"],"type":"text/javascript","packages":{}}}],"id":"699f490a-91aa-42cc-93c9-11b4c747fb5c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/search/title/nonameclub?query=test&category=0&page=all","description":"<p>Search for a movie or TV series in torrent tracker NoNameClub</p>\n","urlObject":{"path":["api","search","title","nonameclub"],"host":["http://127.0.0.1:8443"],"query":[{"description":{"content":"<p>Query parameter</p>\n","type":"text/plain"},"key":"query","value":"test"},{"key":"category","value":"0"},{"description":{"content":"<p>All pages</p>\n","type":"text/plain"},"key":"page","value":"all"}],"variable":[]}},"response":[],"_postman_id":"699f490a-91aa-42cc-93c9-11b4c747fb5c"},{"name":"Search > Title > ALL > All Page","event":[{"listen":"test","script":{"id":"518cf679-ff3d-4a22-8210-4f0ae5b9dd11","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 20 seconds\", function () {\r","    if (pm.response.responseTime > 20000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(20000, \"Response time is less than 20 seconds\")\r","    }\r","})\r","\r","pm.test(\"Data is not null in RuTracker\", function () {\r","    const responseData = pm.response.json()\r","    responseData.RuTracker.forEach(item => {\r","        pm.expect(item.Name).to.not.be.null\r","        pm.expect(item.Name).to.not.be.undefined\r","        pm.expect(item.Name).to.not.equal('')\r","    })\r","})\r","\r","pm.test(\"Data is not null in Kinozal\", function () {\r","    const responseData = pm.response.json()\r","    responseData.Kinozal.forEach(item => {\r","        pm.expect(item.Name).to.not.be.null\r","        pm.expect(item.Name).to.not.be.undefined\r","        pm.expect(item.Name).to.not.equal('')\r","    })\r","})\r","\r","pm.test(\"Data is not null in RuTor\", function () {\r","    const responseData = pm.response.json()\r","    responseData.RuTor.forEach(item => {\r","        pm.expect(item.Name).to.not.be.null\r","        pm.expect(item.Name).to.not.be.undefined\r","        pm.expect(item.Name).to.not.equal('')\r","    })\r","})\r","\r","pm.test(\"Data is not null in NoNameClub\", function () {\r","    const responseData = pm.response.json()\r","    responseData.NoNameClub.forEach(item => {\r","        pm.expect(item.Name).to.not.be.null\r","        pm.expect(item.Name).to.not.be.undefined\r","        pm.expect(item.Name).to.not.equal('')\r","    })\r","})\r","\r",""],"type":"text/javascript","packages":{}}}],"id":"8f4800e5-56bf-429a-806c-2cd020d9707e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/search/title/all?query=test&year=0&format=0&page=all","description":"<p>Search for a movie or TV series in torrent tracker NoNameClub</p>\n","urlObject":{"path":["api","search","title","all"],"host":["http://127.0.0.1:8443"],"query":[{"description":{"content":"<p>(Required) Query parameter</p>\n","type":"text/plain"},"key":"query","value":"test"},{"description":{"content":"<p>Release year for filtering</p>\n","type":"text/plain"},"key":"year","value":"0"},{"description":{"content":"<p>Quality resolution format for filtering</p>\n","type":"text/plain"},"key":"format","value":"0"},{"description":{"content":"<p>Page number</p>\n","type":"text/plain"},"key":"page","value":"all"}],"variable":[]}},"response":[],"_postman_id":"8f4800e5-56bf-429a-806c-2cd020d9707e"}],"id":"6b9c0299-13e3-45ed-89dc-09475b70b2ae","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"8e7581a7-165e-4b63-9923-4b3db3223859","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"6b5d889a-0e87-493c-9eb9-88720607aec6","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"6b9c0299-13e3-45ed-89dc-09475b70b2ae","description":""},{"name":"Filter by Category and not Title","item":[{"name":"Search > Title > RuTracker + Category","event":[{"listen":"test","script":{"id":"d101c724-fd9c-4b38-a574-819fab917d44","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 2 seconds\", function () {\r","    if (pm.response.responseTime > 2000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(2000, \"Response time is less than 2 seconds\")\r","    }\r","})\r","\r","const categoryNameRuTracker = pm.collectionVariables.get(\"categoryNameRuTracker\")\r","console.log(`Category Name: ${categoryNameRuTracker}`)\r","\r","pm.test(`Category = ${categoryNameRuTracker}`, function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Category).to.eq(categoryNameRuTracker)\r","    })\r","})"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"dfe03e33-80f4-4805-8d8a-81b372e0fbf1","exec":["const baseUrl = pm.variables.get(\"baseUrl\")\r","const categoryRuTracker = pm.variables.get(\"categoryRuTracker\")\r","\r","pm.sendRequest({\r","    url: `${baseUrl}/api/get/category/rutracker`,\r","    method: \"GET\"\r","}, function (err, response) {\r","    if (err) {\r","        console.error(err)\r","        return\r","    }\r","    const categoryNameRuTracker = response.json()[0][categoryRuTracker]\r","    if (categoryNameRuTracker) {\r","        pm.collectionVariables.set('categoryNameRuTracker', categoryNameRuTracker)\r","    } else {\r","        console.log('Key not found')\r","    }\r","})"],"type":"text/javascript","packages":{}}}],"id":"aed3a692-502f-4ac5-a0c2-9988e09e0dc1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/search/title/rutracker?query=&category=1605&page=0","description":"<p>Search for a movie or TV series in torrent tracker RuTracker</p>\n","urlObject":{"path":["api","search","title","rutracker"],"host":["http://127.0.0.1:8443"],"query":[{"description":{"content":"<p>Query parameter</p>\n","type":"text/plain"},"key":"query","value":""},{"description":{"content":"<p>Parameter to filter by category</p>\n","type":"text/plain"},"key":"category","value":"1605"},{"description":{"content":"<p>Page number or All</p>\n","type":"text/plain"},"key":"page","value":"0"}],"variable":[]}},"response":[],"_postman_id":"aed3a692-502f-4ac5-a0c2-9988e09e0dc1"},{"name":"Search > Title > Kinozal + Category","event":[{"listen":"test","script":{"id":"d101c724-fd9c-4b38-a574-819fab917d44","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 2 seconds\", function () {\r","    if (pm.response.responseTime > 2000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(2000, \"Response time is less than 2 seconds\")\r","    }\r","})\r","\r","const categoryNameKinozal = pm.collectionVariables.get(\"categoryNameKinozal\")\r","console.log(`Category Name: ${categoryNameKinozal}`)\r","\r","pm.test(`Category = ${categoryNameKinozal}`, function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Category).to.eq(categoryNameKinozal)\r","    })\r","})"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"dfe03e33-80f4-4805-8d8a-81b372e0fbf1","exec":["const baseUrl = pm.variables.get(\"baseUrl\")\r","const categoryKinozal = pm.variables.get(\"categoryKinozal\")\r","\r","pm.sendRequest({\r","    url: `${baseUrl}/api/get/category/kinozal`,\r","    method: \"GET\"\r","}, function (err, response) {\r","    if (err) {\r","        console.error(err)\r","        return\r","    }\r","    const categoryNameKinozal = response.json()[0][categoryKinozal]\r","    if (categoryNameKinozal) {\r","        pm.collectionVariables.set('categoryNameKinozal', categoryNameKinozal)\r","    } else {\r","        console.log('Key not found')\r","    }\r","})"],"type":"text/javascript","packages":{}}}],"id":"e90545ef-5fd4-47ac-917e-80ef60d4f5bb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/search/title/kinozal?query=&category=20&page=0&year=0&format=0","description":"<p>Search for a movie or TV series in torrent tracker RuTracker</p>\n","urlObject":{"path":["api","search","title","kinozal"],"host":["http://127.0.0.1:8443"],"query":[{"description":{"content":"<p>Query parameter</p>\n","type":"text/plain"},"key":"query","value":""},{"description":{"content":"<p>Parameter to filter by category</p>\n","type":"text/plain"},"key":"category","value":"20"},{"description":{"content":"<p>Page number or All</p>\n","type":"text/plain"},"key":"page","value":"0"},{"key":"year","value":"0"},{"key":"format","value":"0"}],"variable":[]}},"response":[],"_postman_id":"e90545ef-5fd4-47ac-917e-80ef60d4f5bb"},{"name":"Search > Title > Kinozal + Filter","event":[{"listen":"test","script":{"id":"21c91c19-89f5-4e68-8baf-baa5cf611e8b","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 2 seconds\", function () {\r","    if (pm.response.responseTime > 2000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(2000, \"Response time is less than 2 seconds\")\r","    }\r","})\r","\r","// pm.test(`Check format FullHD (1080)`, function () {\r","//     const responseData = pm.response.json()\r","//     pm.expect(responseData[0].Format).to.include(1080)\r","// })\r","\r","// pm.test(`Check year 2024`, function () {\r","//     const responseData = pm.response.json()\r","//     pm.expect(responseData[0].Year).to.equal('2024')\r","// })\r","\r","pm.test(`Check format FullHD (1080)`, function () {\r","    const responseData = pm.response.json()\r","    pm.expect(responseData[0].Name).to.include('1080')\r","})\r","\r","pm.test(`Check year 2024`, function () {\r","    const responseData = pm.response.json()\r","    pm.expect(responseData[0].Name).to.include('2024')\r","})"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"1644bd49-a67f-49ee-96ea-11ddc3ffd6a4","exec":[""],"type":"text/javascript","packages":{}}}],"id":"12c155ab-1208-49db-9791-f646cf1d0313","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/search/title/kinozal?query=&category=0&page=0&year=2024&format=1080","description":"<p>Search for a movie or TV series in torrent tracker Kinozal</p>\n","urlObject":{"path":["api","search","title","kinozal"],"host":["http://127.0.0.1:8443"],"query":[{"description":{"content":"<p>Query parameter</p>\n","type":"text/plain"},"key":"query","value":""},{"description":{"content":"<p>Parameter to filter by category</p>\n","type":"text/plain"},"key":"category","value":"0"},{"description":{"content":"<p>Page number or All</p>\n","type":"text/plain"},"key":"page","value":"0"},{"description":{"content":"<p>Release year for filtering</p>\n","type":"text/plain"},"key":"year","value":"2024"},{"description":{"content":"<p>Quality resolution format for filtering</p>\n","type":"text/plain"},"key":"format","value":"1080"}],"variable":[]}},"response":[],"_postman_id":"12c155ab-1208-49db-9791-f646cf1d0313"},{"name":"Search > Title > RuTor + Category","event":[{"listen":"test","script":{"id":"d101c724-fd9c-4b38-a574-819fab917d44","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 2 seconds\", function () {\r","    if (pm.response.responseTime > 2000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(2000, \"Response time is less than 2 seconds\")\r","    }\r","})\r","\r","pm.test(\"Name is in not null\", function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Name).to.not.be.null\r","        pm.expect(item.Name).to.not.be.undefined\r","        pm.expect(item.Name).to.not.equal('')\r","    })\r","})"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"dfe03e33-80f4-4805-8d8a-81b372e0fbf1","exec":[""],"type":"text/javascript","packages":{}}}],"id":"58cd90bf-cbde-476d-9876-a057ad3ed803","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/search/title/rutor?query=&category=10&page=0","description":"<p>Search for a movie or TV series in torrent tracker RuTracker</p>\n","urlObject":{"path":["api","search","title","rutor"],"host":["http://127.0.0.1:8443"],"query":[{"key":"query","value":""},{"description":{"content":"<p>Parameter to filter by category</p>\n","type":"text/plain"},"key":"category","value":"10"},{"description":{"content":"<p>Page number or All</p>\n","type":"text/plain"},"key":"page","value":"0"}],"variable":[]}},"response":[],"_postman_id":"58cd90bf-cbde-476d-9876-a057ad3ed803"},{"name":"Search > Title > NoNameClub + Category","event":[{"listen":"test","script":{"id":"d101c724-fd9c-4b38-a574-819fab917d44","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 2 seconds\", function () {\r","    if (pm.response.responseTime > 2000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(2000, \"Response time is less than 2 seconds\")\r","    }\r","})\r","\r","const categoryNameNoNameClub = pm.collectionVariables.get(\"categoryNameNoNameClub\")\r","console.log(`Category Name: ${categoryNameNoNameClub}`)\r","\r","pm.test(`Category = ${categoryNameNoNameClub}`, function () {\r","    const responseData = pm.response.json()\r","    responseData.forEach(item => {\r","        pm.expect(item.Category).to.eq(categoryNameNoNameClub)\r","    })\r","})"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"dfe03e33-80f4-4805-8d8a-81b372e0fbf1","exec":["const baseUrl = pm.variables.get(\"baseUrl\")\r","const categoryNoNameClub = pm.variables.get(\"categoryNoNameClub\")\r","\r","pm.sendRequest({\r","    url: `${baseUrl}/api/get/category/nonameclub`,\r","    method: \"GET\"\r","}, function (err, response) {\r","    if (err) {\r","        console.error(err)\r","        return\r","    }\r","    const categoryNameNoNameClub = response.json()[0][categoryNoNameClub]\r","    if (categoryNameNoNameClub) {\r","        pm.collectionVariables.set('categoryNameNoNameClub', categoryNameNoNameClub)\r","    } else {\r","        console.log('Key not found')\r","    }\r","})"],"type":"text/javascript","packages":{}}}],"id":"0f617968-0976-46f3-828d-d58fb3d5baad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/search/title/nonameclub?query=&category=1318&page=0","description":"<p>Search for a movie or TV series in torrent tracker RuTracker</p>\n","urlObject":{"path":["api","search","title","nonameclub"],"host":["http://127.0.0.1:8443"],"query":[{"description":{"content":"<p>Query parameter</p>\n","type":"text/plain"},"key":"query","value":""},{"description":{"content":"<p>Parameter to filter by category</p>\n","type":"text/plain"},"key":"category","value":"1318"},{"description":{"content":"<p>Page number or All</p>\n","type":"text/plain"},"key":"page","value":"0"}],"variable":[]}},"response":[],"_postman_id":"0f617968-0976-46f3-828d-d58fb3d5baad"}],"id":"bebbfdf6-5b57-4846-b7b5-661b3c7cf695","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"f6269f33-4c8a-4df0-aab3-e6aa044702bb","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"09867c9d-2039-4bfc-84f1-a02a099974c4","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"bebbfdf6-5b57-4846-b7b5-661b3c7cf695","description":""},{"name":"Search by ID","item":[{"name":"Search > ID > RuTracker","event":[{"listen":"prerequest","script":{"id":"3c910f07-fb75-427f-b577-708a685db7f6","exec":["const baseUrl = pm.variables.get(\"baseUrl\")\r","const query = pm.variables.get(\"query\")\r","\r","pm.sendRequest({\r","    url: `${baseUrl}/api/search/title/rutracker?query=${query}&page=0`,\r","    method: \"GET\"\r","}, function (err, response) {\r","    if (err) {\r","        console.error(err)\r","        return\r","    }\r","    const responseData = response.json()\r","    if (Array.isArray(responseData) && responseData.length > 0) {\r","        console.log(responseData[0].Id)\r","        const id = responseData[0].Id\r","        pm.collectionVariables.set(\"RuTrackerTestId\", id)\r","    } else {\r","        console.error(\"Unexpected response structure or empty array.\")\r","    }\r","})"],"type":"text/javascript","packages":{}}},{"listen":"test","script":{"id":"b23016dd-11bc-41f4-9963-9b85ad06620c","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 3 seconds\", function () {\r","    if (pm.response.responseTime > 3000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(3000, \"Response time is less than 3 seconds\")\r","    }\r","})\r","\r","pm.test(\"Response has the required property\", function () {\r","    const responseData = pm.response.json()\r","    pm.expect(responseData).to.be.an('array')\r","    responseData.forEach((item) => {\r","        pm.expect(item).to.have.property('Name').that.is.not.empty\r","        pm.expect(item).to.have.property('Url').that.is.not.empty\r","        pm.expect(item).to.have.property('Hash').that.is.not.empty\r","        pm.expect(item).to.have.property('Magnet').that.is.not.empty\r","        pm.expect(item).to.have.property('Torrent').that.is.not.empty\r","        pm.expect(item).to.have.property('IMDb_link').that.is.not.empty\r","        pm.expect(item).to.have.property('Kinopoisk_link').that.is.not.empty\r","        pm.expect(item).to.have.property('Kinopoisk_id').that.is.not.empty\r","        pm.expect(item).to.have.property('Year').that.is.not.empty\r","        pm.expect(item).to.have.property('Release').that.is.not.empty\r","        pm.expect(item).to.have.property('Type').that.is.not.empty\r","        pm.expect(item).to.have.property('Duration').that.is.not.empty\r","        pm.expect(item).to.have.property('Audio').that.is.not.empty\r","        pm.expect(item).to.have.property('Directer').that.is.not.empty\r","        pm.expect(item).to.have.property('Description').that.is.not.empty\r","        pm.expect(item).to.have.property('Quality').that.is.not.empty\r","        pm.expect(item).to.have.property('Video').that.is.not.empty\r","        pm.expect(item).to.have.property('Poster').that.is.not.empty\r","        pm.expect(item).to.have.property('Files').that.is.an('array').that.is.not.empty\r","    })\r","})\r","\r","pm.test(\"Test Files property\", function () {\r","    const responseData = pm.response.json()\r","    pm.expect(responseData).to.be.an('array')\r","    responseData.forEach((item) => {\r","        item.Files.forEach(file => {\r","            pm.expect(file).to.have.property('Name').that.is.not.empty\r","            pm.expect(file).to.have.property('Size').that.is.not.empty\r","        })\r","    })\r","})"],"type":"text/javascript","packages":{}}}],"id":"db005e07-f26d-49e6-965b-47fa34514943","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/search/id/rutracker?query=","description":"<p>Search by id in the torrent tracker RuTracker</p>\n","urlObject":{"path":["api","search","id","rutracker"],"host":["http://127.0.0.1:8443"],"query":[{"description":{"content":"<p>Only id</p>\n","type":"text/plain"},"key":"query","value":""}],"variable":[]}},"response":[{"id":"d15d584d-4771-49bd-98fd-c8af040245bc","name":"Successful response","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"http://127.0.0.1:8443/api/search/id/rutracker?query=<integer>","host":["http://127.0.0.1:8443"],"path":["api","search","id","rutracker"],"query":[{"key":"query","value":"<integer>","description":"(Required) ID parameter"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"Name\": \"string\",\n    \"Url\": \"string\",\n    \"Hash\": \"string\",\n    \"Magnet\": \"string\",\n    \"Torrent\": \"string\",\n    \"IMDb_link\": \"string\",\n    \"Kinopoisk_link\": \"string\",\n    \"IMDb_id\": \"string\",\n    \"Kinopoisk_id\": \"string\",\n    \"Year\": \"string\",\n    \"Release\": \"string\",\n    \"Type\": \"string\",\n    \"Duration\": \"string\",\n    \"Audio\": \"string\",\n    \"Directer\": \"string\",\n    \"Actors\": \"string\",\n    \"Description\": \"string\",\n    \"Quality\": \"string\",\n    \"Video\": \"string\",\n    \"Poster\": \"string\",\n    \"Files\": [\n      {\n        \"Name\": \"string\",\n        \"Size\": \"string\"\n      }\n    ]\n  }\n]"}],"_postman_id":"db005e07-f26d-49e6-965b-47fa34514943"},{"name":"Search > ID > Kinozal","event":[{"listen":"prerequest","script":{"id":"72183184-906f-4ef8-b285-74052f39e53a","exec":["const baseUrl = pm.variables.get(\"baseUrl\")\r","const query = pm.variables.get(\"query\")\r","\r","pm.sendRequest({\r","    url: `${baseUrl}/api/search/title/kinozal?query=${query}&page=0`,\r","    method: \"GET\"\r","}, function (err, response) {\r","    if (err) {\r","        console.error(err)\r","        return\r","    }\r","    const responseData = response.json()\r","    if (Array.isArray(responseData) && responseData.length > 0) {\r","        console.log(responseData[0].Id)\r","        const id = responseData[0].Id\r","        pm.collectionVariables.set(\"KinozalTestId\", id)\r","    } else {\r","        console.error(\"Unexpected response structure or empty array.\")\r","    }\r","})"],"type":"text/javascript","packages":{}}},{"listen":"test","script":{"id":"490c2be3-1dbf-475d-af62-d5ab7371d167","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 3 seconds\", function () {\r","    if (pm.response.responseTime > 3000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(3000, \"Response time is less than 3 seconds\")\r","    }\r","})\r","\r","pm.test(\"Response has the required property\", function () {\r","    const responseData = pm.response.json()\r","    pm.expect(responseData).to.be.an('array')\r","    responseData.forEach((item) => {\r","        pm.expect(item).to.have.property('Name').that.is.not.empty\r","        pm.expect(item).to.have.property('Url').that.is.not.empty\r","        pm.expect(item).to.have.property('Hash').that.is.not.empty\r","        pm.expect(item).to.have.property('Magnet').that.is.not.empty\r","        pm.expect(item).to.have.property('Torrent').that.is.not.empty\r","        pm.expect(item).to.have.property('Files').that.is.an('array').that.is.not.empty\r","    })\r","})\r","\r","pm.test(\"Test Files property\", function () {\r","    const responseData = pm.response.json()\r","    pm.expect(responseData).to.be.an('array')\r","    responseData.forEach((item) => {\r","        item.Files.forEach((file) => {\r","            pm.expect(file).to.have.property('Name').that.is.not.empty\r","            pm.expect(file).to.have.property('Size').that.is.not.empty\r","        })\r","    })\r","})"],"type":"text/javascript","packages":{}}}],"id":"c48716d7-7df8-4c61-8b9d-8a4b0fe4ae86","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/search/id/kinozal?query=","description":"<p>Search by id in the torrent tracker Kinozal</p>\n","urlObject":{"path":["api","search","id","kinozal"],"host":["http://127.0.0.1:8443"],"query":[{"description":{"content":"<p>Only id</p>\n","type":"text/plain"},"key":"query","value":""}],"variable":[]}},"response":[{"id":"59f582a7-a1f0-4e33-aea2-d75b3c95d238","name":"Successful response","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"http://127.0.0.1:8443/api/search/id/kinozal?query=<integer>","host":["http://127.0.0.1:8443"],"path":["api","search","id","kinozal"],"query":[{"key":"query","value":"<integer>","description":"(Required) ID parameter"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"Name\": \"string\",\n    \"Original_Name\": \"string\",\n    \"Url\": \"string\",\n    \"Hash\": \"string\",\n    \"Magnet\": \"string\",\n    \"Torrent\": \"string\",\n    \"IMDb_link\": \"string\",\n    \"Kinopoisk_link\": \"string\",\n    \"IMDb_id\": \"string\",\n    \"Kinopoisk_id\": \"string\",\n    \"Year\": \"string\",\n    \"Type\": \"string\",\n    \"Release\": \"string\",\n    \"Directer\": \"string\",\n    \"Actors\": \"string\",\n    \"Description\": \"string\",\n    \"Quality\": \"string\",\n    \"Video\": \"string\",\n    \"Audio\": \"string\",\n    \"Size\": \"string\",\n    \"Duration\": \"string\",\n    \"Transcript\": \"string\",\n    \"Seeds\": \"string\",\n    \"Peers\": \"string\",\n    \"Download_Count\": \"string\",\n    \"Files_Count\": \"string\",\n    \"Comments\": \"string\",\n    \"IMDb_Rating\": \"string\",\n    \"Kinopoisk_Rating\": \"string\",\n    \"Kinozal_Rating\": \"string\",\n    \"Votes\": \"string\",\n    \"Added_Date\": \"string\",\n    \"Update_Date\": \"string\",\n    \"Poster\": \"string\",\n    \"Posters\": [\n      \"string\"\n    ],\n    \"Files\": [\n      {\n        \"Name\": \"string\",\n        \"Size\": \"string\"\n      }\n    ]\n  }\n]"}],"_postman_id":"c48716d7-7df8-4c61-8b9d-8a4b0fe4ae86"},{"name":"Search > ID > RuTor","event":[{"listen":"test","script":{"id":"9ee31b83-e2eb-493e-a1e6-91d1afea8341","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 3 seconds\", function () {\r","    if (pm.response.responseTime > 3000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(3000, \"Response time is less than 3 seconds\")\r","    }\r","})\r","\r","pm.test(\"Response has the required property\", function () {\r","    const responseData = pm.response.json()\r","    pm.expect(responseData).to.be.an('array')\r","    responseData.forEach((item) => {\r","        pm.expect(item).to.have.property('Name').that.is.not.empty\r","        pm.expect(item).to.have.property('Url').that.is.not.empty\r","        pm.expect(item).to.have.property('Hash').that.is.not.empty\r","        pm.expect(item).to.have.property('Magnet').that.is.not.empty\r","        pm.expect(item).to.have.property('Torrent').that.is.not.empty\r","        pm.expect(item).to.have.property('Files').that.is.an('array').that.is.not.empty\r","    })\r","})\r","\r","pm.test(\"Test Files property\", function () {\r","    const responseData = pm.response.json()\r","    pm.expect(responseData).to.be.an('array')\r","    responseData.forEach((item) => {\r","        item.Files.forEach((file) => {\r","            pm.expect(file).to.have.property('Name').that.is.not.empty\r","            pm.expect(file).to.have.property('Size').that.is.not.empty\r","        })\r","    })\r","})"],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"e1118405-fb6d-4072-ba90-0248af45eb48","exec":["const baseUrl = pm.variables.get(\"baseUrl\")\r","const query = pm.variables.get(\"query\")\r","\r","pm.sendRequest({\r","    url: `${baseUrl}/api/search/title/rutor?query=${query}&page=0`,\r","    method: \"GET\"\r","}, function (err, response) {\r","    if (err) {\r","        console.error(err)\r","        return\r","    }\r","    const responseData = response.json()\r","    if (Array.isArray(responseData) && responseData.length > 0) {\r","        console.log(responseData[0].Id)\r","        const id = responseData[0].Id\r","        pm.collectionVariables.set(\"RuTorTestId\", id)\r","    } else {\r","        console.error(\"Unexpected response structure or empty array.\")\r","    }\r","})"],"type":"text/javascript","packages":{}}}],"id":"bdb134a1-0d8e-43e4-92a9-a6f15db80df3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/search/id/rutor?query=","description":"<p>Search by id in the torrent tracker RuTor</p>\n","urlObject":{"path":["api","search","id","rutor"],"host":["http://127.0.0.1:8443"],"query":[{"description":{"content":"<p>Only id</p>\n","type":"text/plain"},"key":"query","value":""}],"variable":[]}},"response":[{"id":"a1fd8ec8-d9fc-43b6-b2eb-898a81d79bfc","name":"Successful response","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"http://127.0.0.1:8443/api/search/id/rutor?query=<integer>","host":["http://127.0.0.1:8443"],"path":["api","search","id","rutor"],"query":[{"key":"query","value":"<integer>","description":"(Required) ID parameter"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"Name\": \"string\",\n    \"Url\": \"string\",\n    \"Hash\": \"string\",\n    \"Magnet\": \"string\",\n    \"Torrent\": \"string\",\n    \"IMDb_link\": \"string\",\n    \"Kinopoisk_link\": \"string\",\n    \"IMDb_id\": \"string\",\n    \"Kinopoisk_id\": \"string\",\n    \"Rating\": \"string\",\n    \"Category\": \"string\",\n    \"Seeds\": \"string\",\n    \"Peers\": \"string\",\n    \"Seed_Date\": \"string\",\n    \"Add_Date\": \"string\",\n    \"Size\": \"string\",\n    \"Poster\": \"string\",\n    \"Files\": [\n      {\n        \"Name\": \"string\",\n        \"Size\": \"string\"\n      }\n    ]\n  }\n]"}],"_postman_id":"bdb134a1-0d8e-43e4-92a9-a6f15db80df3"},{"name":"Search > ID > NoNameClub","event":[{"listen":"prerequest","script":{"id":"0b6cf0eb-54e5-409f-ab15-7386b3063efa","exec":["const baseUrl = pm.variables.get(\"baseUrl\")\r","const query = pm.variables.get(\"query\")\r","\r","pm.sendRequest({\r","    url: `${baseUrl}/api/search/title/nonameclub?query=${query}&page=0`,\r","    method: \"GET\"\r","}, function (err, response) {\r","    if (err) {\r","        console.error(err)\r","        return\r","    }\r","    const responseData = response.json()\r","    if (Array.isArray(responseData) && responseData.length > 0) {\r","        console.log(responseData[0].Id)\r","        const id = responseData[0].Id\r","        pm.collectionVariables.set(\"NoNameClubTestId\", id)\r","    } else {\r","        console.error(\"Unexpected response structure or empty array.\")\r","    }\r","})"],"type":"text/javascript","packages":{}}},{"listen":"test","script":{"id":"5f4e9a1e-7874-45d1-8df2-c6ccb00384c5","exec":["pm.test(\"Status code is 200\", function () {\r","    pm.response.to.have.status(200)\r","})\r","\r","pm.test(\"Response time is less than 3 seconds\", function () {\r","    if (pm.response.responseTime > 3000) {\r","        pm.test.skip(\"Response time test skipped due to long response time\")\r","    } else {\r","        pm.expect(pm.response.responseTime).to.be.below(3000, \"Response time is less than 3 seconds\")\r","    }\r","})\r","\r","pm.test(\"Response has the required property\", function () {\r","    const responseData = pm.response.json()\r","    pm.expect(responseData).to.be.an('array')\r","    responseData.forEach((item) => {\r","        pm.expect(item).to.have.property('Name').that.is.not.empty\r","        pm.expect(item).to.have.property('Url').that.is.not.empty\r","        pm.expect(item).to.have.property('Hash').that.is.not.empty\r","        pm.expect(item).to.have.property('Magnet').that.is.not.empty\r","        pm.expect(item).to.have.property('Torrent').that.is.not.empty\r","        pm.expect(item).to.have.property('Files').that.is.an('array').that.is.not.empty\r","    })\r","})\r","\r","pm.test(\"Test Files property\", function () {\r","    const responseData = pm.response.json()\r","    pm.expect(responseData).to.be.an('array')\r","    responseData.forEach((item) => {\r","        item.Files.forEach((file) => {\r","            pm.expect(file).to.have.property('Name').that.is.not.empty\r","            pm.expect(file).to.have.property('Size').that.is.not.empty\r","        })\r","    })\r","})"],"type":"text/javascript","packages":{}}}],"id":"1f3c7e0b-8258-4f10-8e1d-bed645570326","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"http://127.0.0.1:8443/api/search/id/nonameclub?query=","description":"<p>Search by id in the torrent tracker NoNameClub</p>\n","urlObject":{"path":["api","search","id","nonameclub"],"host":["http://127.0.0.1:8443"],"query":[{"description":{"content":"<p>Only id</p>\n","type":"text/plain"},"key":"query","value":""}],"variable":[]}},"response":[{"id":"07912129-b3e0-46d2-83b5-20e2055d4565","name":"Successful response","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"http://127.0.0.1:8443/api/search/id/nonameclub?query=<integer>","host":["http://127.0.0.1:8443"],"path":["api","search","id","nonameclub"],"query":[{"key":"query","value":"<integer>","description":"(Required) ID parameter"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"Name\": \"string\",\n    \"Url\": \"string\",\n    \"Hash\": \"string\",\n    \"Magnet\": \"string\",\n    \"Torrent\": \"string\",\n    \"IMDb_link\": \"string\",\n    \"Kinopoisk_link\": \"string\",\n    \"IMDb_id\": \"string\",\n    \"Kinopoisk_id\": \"string\",\n    \"Release\": \"string\",\n    \"Type\": \"string\",\n    \"Directer\": \"string\",\n    \"Actors\": \"string\",\n    \"Description\": \"string\",\n    \"Duration\": \"string\",\n    \"Quality\": \"string\",\n    \"Video\": \"string\",\n    \"Audio\": \"string\",\n    \"Registration\": \"string\",\n    \"Rating\": \"string\",\n    \"Votes\": \"string\",\n    \"Size\": \"string\",\n    \"Poster\": \"string\",\n    \"Files\": [\n      {\n        \"Name\": \"string\",\n        \"Size\": \"string\"\n      }\n    ]\n  }\n]"}],"_postman_id":"1f3c7e0b-8258-4f10-8e1d-bed645570326"}],"id":"b7b50d34-e26b-4294-adc3-d9aa34463b94","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"642e76bc-f809-440b-b0ea-f7ded41cf632","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"8ca494db-e7da-49e7-848f-399297ffec3c","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"b7b50d34-e26b-4294-adc3-d9aa34463b94","description":""}],"id":"15f2ba53-4d29-4e82-ab13-b84f6952684a","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"2e49b7f6-d98d-4b34-93e4-fc4401a3ee6a","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"79f183e2-52c8-4835-bf4c-93867836fe37","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"15f2ba53-4d29-4e82-ab13-b84f6952684a","description":""}],"id":"95da383b-175f-40bf-88e4-5957ea1836fb","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"c7b5304b-69f7-43d6-827b-36b5ae260ca5","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"45997a52-8511-4879-aefc-e13485bfad32","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"95da383b-175f-40bf-88e4-5957ea1836fb","description":""}],"event":[{"listen":"prerequest","script":{"id":"03a35c2f-d3d9-4181-a8d6-683f15cadd8c","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"89c36e01-0f8a-4eeb-9ad2-54ab01724dc7","type":"text/javascript","packages":{},"exec":[""]}}],"variable":[{"key":"baseUrl","value":"http://127.0.0.1:8443"},{"key":"localUrl","value":"http://127.0.0.1:8443","type":"string"},{"key":"publicUrl","value":"https://torapi.vercel.app","type":"string"},{"key":"query","value":"The Rookie"},{"key":"queryAllPage","value":"test","type":"string"},{"key":"categoryRuTracker","value":"1605","type":"string"},{"key":"categoryKinozal","value":"20","type":"string"},{"key":"categoryRuTor","value":"10","type":"string"},{"key":"categoryNoNameClub","value":"1318","type":"string"},{"key":"categoryNameRuTracker","value":"","type":"string"},{"key":"categoryNameKinozal","value":""},{"key":"categoryNameNoNameClub","value":""},{"key":"RuTrackerTestId","value":""},{"key":"KinozalTestId","value":""},{"key":"RuTorTestId","value":""},{"key":"NoNameClubTestId","value":""},{"key":"categoryNameRuTor","value":""}]}