From 876f18a95e7ad3d3ad12fbf1e515861d6a2b6609 Mon Sep 17 00:00:00 2001 From: Polina Spiridonova Date: Sat, 14 Mar 2026 23:00:05 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=BF=D0=BE=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D1=8E=202=20=D0=B4=D0=B8?= =?UTF-8?q?=D0=BF=D0=BB=D0=BE=D0=BC=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D0=B5=D0=BA=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 + ...a541-4b9e-af61-bb249ec5e2af-container.json | 1 + ...094b-463d-b726-e2a262ae7442-container.json | 1 + ...c4-2a9c-4f41-a926-3d2b6b2eca94-result.json | 1 + ...e926-4c52-aa48-3f441fa99c27-container.json | 1 + ...8710-4507-b2ea-120607fbecff-container.json | 1 + ...08-eb29-41c5-a1e3-616da13f192a-result.json | 1 + ...6844-4cb7-9d87-cf9e764a316c-container.json | 1 + ...14e0-4c10-9288-775e4c7d031e-container.json | 1 + ...dae4-4e3c-b813-e59c86584a9b-container.json | 1 + ...d9d5-420f-a6c5-cd5595434e32-container.json | 1 + ...d2-f180-4668-98c0-ed5926322a33-result.json | 1 + ...58e6-4ddc-9268-4cfe30a0c198-container.json | 1 + ...8658-4325-a2e9-42dfdffeb63c-container.json | 1 + ...0823-4485-a771-0782a9be0b12-container.json | 1 + ...4e1d-44c2-8d9d-d46dddfff5bd-container.json | 1 + ...5b-41a1-46d1-a165-20394d3d1bf5-result.json | 1 + ...aecb-45d0-86b5-b0178bc3ec07-container.json | 1 + ...ff8b-4f0b-8252-2b3f9e139532-container.json | 1 + ...ab1c-416e-bcd6-7a16286660f0-container.json | 1 + ...c3-8a4d-4351-a50d-403638ef789d-result.json | 1 + ...4c27-4618-a078-7ae2f7180d0a-container.json | 1 + ...ccec-4b4c-b247-dae236804941-container.json | 1 + ...e3c6-4f33-9296-c7a226e889a9-container.json | 1 + ...5c-cc68-44dd-bcac-fb75baad51d2-result.json | 1 + ...86-5882-4ab1-b28f-3527ab8017a8-result.json | 1 + ...8b-bd5f-42c6-95f5-e4b19a434d33-result.json | 1 + ...42-fc90-4050-9d35-cd74896d9f99-result.json | 1 + ...dc-043a-4b58-af5b-3a0ed494be54-result.json | 1 + ...fa-30bc-4306-87b1-c7d14c641749-result.json | 1 + ...ee-d207-493f-ae63-82737701d0b6-result.json | 1 + ...c9-0a06-4f59-bb98-702a26bd6dd9-result.json | 1 + ...f5-bcec-4d06-b795-f70182ab236c-result.json | 1 + ...fe5b-4a38-b00f-ed2ad7340156-container.json | 1 + ...1fe4-486b-b30f-7efac43c835d-container.json | 1 + ...4084-49ac-a997-0ea346f1cb6f-container.json | 1 + ...bd21-4903-a059-9803e588d4cd-container.json | 1 + ...1d-344e-49cc-b4b6-fe2122f9addb-result.json | 1 + ...b3fa-4cd6-920b-060427dc5292-container.json | 1 + ...4eec-48d0-950a-274809741976-container.json | 1 + ...7a59-44f8-9514-028025973c1c-container.json | 1 + ...10-a811-4cab-a979-1130a9800c67-result.json | 1 + ...953b-4b21-b182-2944641297b8-container.json | 1 + ...b4-aa70-4d71-85e7-5ae6f0130a3a-result.json | 1 + ...e6-953a-4ea2-88ab-fc96effcf81d-result.json | 1 + ...ed-6e2e-4008-b34f-cc36abc542cc-result.json | 1 + ...809f-452f-9fc6-c54ed8c0aa09-container.json | 1 + conftest.py | 111 +++++++++++++++ data.py | 79 +++++++++++ helpers.py | 15 ++ methods/__init__.py | 0 methods/order/__init__.py | 0 methods/order/order_methods.py | 39 ++++++ methods/user/__init__.py | 0 methods/user/user_create_methods.py | 65 +++++++++ methods/user/user_edit_methods.py | 23 ++++ methods/user/user_login_methods.py | 31 +++++ requirements.txt | 27 ++++ tests/__init__.py | 0 tests/tests_order/__init__.py | 0 tests/tests_order/test_get_orders_list.py | 0 tests/tests_order/test_order_create.py | 129 ++++++++++++++++++ tests/tests_user/__init__.py | 0 tests/tests_user/test_user_create.py | 82 +++++++++++ tests/tests_user/test_user_edit.py | 78 +++++++++++ tests/tests_user/test_user_login.py | 41 ++++++ urls.py | 10 ++ 67 files changed, 780 insertions(+) create mode 100644 .gitignore create mode 100644 allure_results/06a468a6-a541-4b9e-af61-bb249ec5e2af-container.json create mode 100644 allure_results/1914ad96-094b-463d-b726-e2a262ae7442-container.json create mode 100644 allure_results/1b66fdc4-2a9c-4f41-a926-3d2b6b2eca94-result.json create mode 100644 allure_results/1d1b8b73-e926-4c52-aa48-3f441fa99c27-container.json create mode 100644 allure_results/27a8f6ec-8710-4507-b2ea-120607fbecff-container.json create mode 100644 allure_results/2924f208-eb29-41c5-a1e3-616da13f192a-result.json create mode 100644 allure_results/2c51a194-6844-4cb7-9d87-cf9e764a316c-container.json create mode 100644 allure_results/2ce72747-14e0-4c10-9288-775e4c7d031e-container.json create mode 100644 allure_results/353b2eb4-dae4-4e3c-b813-e59c86584a9b-container.json create mode 100644 allure_results/36a0fe35-d9d5-420f-a6c5-cd5595434e32-container.json create mode 100644 allure_results/3c8664d2-f180-4668-98c0-ed5926322a33-result.json create mode 100644 allure_results/408e38e2-58e6-4ddc-9268-4cfe30a0c198-container.json create mode 100644 allure_results/471b8674-8658-4325-a2e9-42dfdffeb63c-container.json create mode 100644 allure_results/4ac404fa-0823-4485-a771-0782a9be0b12-container.json create mode 100644 allure_results/5809f72e-4e1d-44c2-8d9d-d46dddfff5bd-container.json create mode 100644 allure_results/5b63d15b-41a1-46d1-a165-20394d3d1bf5-result.json create mode 100644 allure_results/5d946100-aecb-45d0-86b5-b0178bc3ec07-container.json create mode 100644 allure_results/62e8b90a-ff8b-4f0b-8252-2b3f9e139532-container.json create mode 100644 allure_results/66f3dd1a-ab1c-416e-bcd6-7a16286660f0-container.json create mode 100644 allure_results/7029c1c3-8a4d-4351-a50d-403638ef789d-result.json create mode 100644 allure_results/726ab1c2-4c27-4618-a078-7ae2f7180d0a-container.json create mode 100644 allure_results/7b57977d-ccec-4b4c-b247-dae236804941-container.json create mode 100644 allure_results/82e1b986-e3c6-4f33-9296-c7a226e889a9-container.json create mode 100644 allure_results/8dfc415c-cc68-44dd-bcac-fb75baad51d2-result.json create mode 100644 allure_results/93151b86-5882-4ab1-b28f-3527ab8017a8-result.json create mode 100644 allure_results/96c0968b-bd5f-42c6-95f5-e4b19a434d33-result.json create mode 100644 allure_results/96f2b542-fc90-4050-9d35-cd74896d9f99-result.json create mode 100644 allure_results/9acd83dc-043a-4b58-af5b-3a0ed494be54-result.json create mode 100644 allure_results/9f8f61fa-30bc-4306-87b1-c7d14c641749-result.json create mode 100644 allure_results/9f9bcbee-d207-493f-ae63-82737701d0b6-result.json create mode 100644 allure_results/a6a895c9-0a06-4f59-bb98-702a26bd6dd9-result.json create mode 100644 allure_results/b7853ff5-bcec-4d06-b795-f70182ab236c-result.json create mode 100644 allure_results/b88ad371-fe5b-4a38-b00f-ed2ad7340156-container.json create mode 100644 allure_results/bb809bb6-1fe4-486b-b30f-7efac43c835d-container.json create mode 100644 allure_results/bc76294f-4084-49ac-a997-0ea346f1cb6f-container.json create mode 100644 allure_results/bede04df-bd21-4903-a059-9803e588d4cd-container.json create mode 100644 allure_results/c18bbb1d-344e-49cc-b4b6-fe2122f9addb-result.json create mode 100644 allure_results/d9863e15-b3fa-4cd6-920b-060427dc5292-container.json create mode 100644 allure_results/e40f844d-4eec-48d0-950a-274809741976-container.json create mode 100644 allure_results/e4b1a6c5-7a59-44f8-9514-028025973c1c-container.json create mode 100644 allure_results/e707e210-a811-4cab-a979-1130a9800c67-result.json create mode 100644 allure_results/e7debf48-953b-4b21-b182-2944641297b8-container.json create mode 100644 allure_results/e90890b4-aa70-4d71-85e7-5ae6f0130a3a-result.json create mode 100644 allure_results/e94994e6-953a-4ea2-88ab-fc96effcf81d-result.json create mode 100644 allure_results/ec50b9ed-6e2e-4008-b34f-cc36abc542cc-result.json create mode 100644 allure_results/fd3cb2ba-809f-452f-9fc6-c54ed8c0aa09-container.json create mode 100644 conftest.py create mode 100644 data.py create mode 100644 helpers.py create mode 100644 methods/__init__.py create mode 100644 methods/order/__init__.py create mode 100644 methods/order/order_methods.py create mode 100644 methods/user/__init__.py create mode 100644 methods/user/user_create_methods.py create mode 100644 methods/user/user_edit_methods.py create mode 100644 methods/user/user_login_methods.py create mode 100644 requirements.txt create mode 100644 tests/__init__.py create mode 100644 tests/tests_order/__init__.py create mode 100644 tests/tests_order/test_get_orders_list.py create mode 100644 tests/tests_order/test_order_create.py create mode 100644 tests/tests_user/__init__.py create mode 100644 tests/tests_user/test_user_create.py create mode 100644 tests/tests_user/test_user_edit.py create mode 100644 tests/tests_user/test_user_login.py create mode 100644 urls.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..da526f7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.DS_Store +__pycache__/ +.pytest_cache/ +venv/ \ No newline at end of file diff --git a/allure_results/06a468a6-a541-4b9e-af61-bb249ec5e2af-container.json b/allure_results/06a468a6-a541-4b9e-af61-bb249ec5e2af-container.json new file mode 100644 index 0000000..98abfd9 --- /dev/null +++ b/allure_results/06a468a6-a541-4b9e-af61-bb249ec5e2af-container.json @@ -0,0 +1 @@ +{"uuid": "4637b556-9c1d-493b-90d9-f55688043765", "children": ["42aa469d-30c5-4bf6-b163-f8d67bf28430"], "befores": [{"name": "create_delete_user", "status": "passed", "start": 1772829396507, "stop": 1772829397119}], "afters": [{"name": "create_delete_user::0", "status": "passed", "start": 1772829402415, "stop": 1772829403636}], "start": 1772829396506, "stop": 1772829403636} \ No newline at end of file diff --git a/allure_results/1914ad96-094b-463d-b726-e2a262ae7442-container.json b/allure_results/1914ad96-094b-463d-b726-e2a262ae7442-container.json new file mode 100644 index 0000000..cc163c1 --- /dev/null +++ b/allure_results/1914ad96-094b-463d-b726-e2a262ae7442-container.json @@ -0,0 +1 @@ +{"uuid": "76498da0-4b04-4895-8054-2a4ce7d22fab", "befores": [{"name": "edited_data", "status": "passed", "start": 1772829429935, "stop": 1772829429935}], "start": 1772829429935, "stop": 1772829430391} \ No newline at end of file diff --git a/allure_results/1b66fdc4-2a9c-4f41-a926-3d2b6b2eca94-result.json b/allure_results/1b66fdc4-2a9c-4f41-a926-3d2b6b2eca94-result.json new file mode 100644 index 0000000..bc0eff1 --- /dev/null +++ b/allure_results/1b66fdc4-2a9c-4f41-a926-3d2b6b2eca94-result.json @@ -0,0 +1 @@ +{"name": "Проверка успешной авторизации", "status": "passed", "start": 1772829431986, "stop": 1772829431987, "uuid": "91a9ba82-4af3-4646-858e-d5a84eb067bd", "historyId": "113306f9f212d509e810b33a387eb638", "testCaseId": "113306f9f212d509e810b33a387eb638", "fullName": "tests.tests_user.test_user_login.TestUserLogin#test_successful_login", "labels": [{"name": "suite", "value": "Проверки авторизации пользователя"}, {"name": "parentSuite", "value": "tests.tests_user"}, {"name": "subSuite", "value": "TestUserLogin"}, {"name": "host", "value": "N-DIR058"}, {"name": "thread", "value": "32908-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.tests_user.test_user_login"}], "titlePath": ["tests", "tests_user", "test_user_login.py", "TestUserLogin"]} \ No newline at end of file diff --git a/allure_results/1d1b8b73-e926-4c52-aa48-3f441fa99c27-container.json b/allure_results/1d1b8b73-e926-4c52-aa48-3f441fa99c27-container.json new file mode 100644 index 0000000..83f35ac --- /dev/null +++ b/allure_results/1d1b8b73-e926-4c52-aa48-3f441fa99c27-container.json @@ -0,0 +1 @@ +{"uuid": "2a64eac8-cca0-4ce3-a6b8-c7e474a014a6", "children": ["fa2a3665-977b-409e-9090-ba5708c21597"], "befores": [{"name": "create_delete_user", "status": "passed", "start": 1772829412526, "stop": 1772829413129}], "afters": [{"name": "create_delete_user::0", "status": "passed", "start": 1772829413135, "stop": 1772829414219}], "start": 1772829412526, "stop": 1772829414219} \ No newline at end of file diff --git a/allure_results/27a8f6ec-8710-4507-b2ea-120607fbecff-container.json b/allure_results/27a8f6ec-8710-4507-b2ea-120607fbecff-container.json new file mode 100644 index 0000000..50c3fe6 --- /dev/null +++ b/allure_results/27a8f6ec-8710-4507-b2ea-120607fbecff-container.json @@ -0,0 +1 @@ +{"uuid": "be8eb4f9-c1be-4f49-9b00-a06c9a2e5e7f", "children": ["ccf71586-bfbd-4b07-82af-1c430402aaf3"], "befores": [{"name": "create_delete_user", "status": "passed", "start": 1772829408153, "stop": 1772829408715}], "afters": [{"name": "create_delete_user::0", "status": "passed", "start": 1772829410942, "stop": 1772829412044}], "start": 1772829408153, "stop": 1772829412045} \ No newline at end of file diff --git a/allure_results/2924f208-eb29-41c5-a1e3-616da13f192a-result.json b/allure_results/2924f208-eb29-41c5-a1e3-616da13f192a-result.json new file mode 100644 index 0000000..40c79e2 --- /dev/null +++ b/allure_results/2924f208-eb29-41c5-a1e3-616da13f192a-result.json @@ -0,0 +1 @@ +{"name": "Проверка невозможности авторизоваться с неверным паролем/логином ", "status": "passed", "steps": [{"name": "Авторизация", "status": "passed", "parameters": [{"name": "params", "value": "{'email': 'eruty123@ya.ru', 'password': 'qazwsx321'}"}], "start": 1772829434744, "stop": 1772829435244}], "parameters": [{"name": "user_data", "value": "{'email': 'eruty123@ya.ru', 'password': 'qazwsx321'}"}], "start": 1772829434743, "stop": 1772829435244, "uuid": "98d6037f-81ca-4a87-b8c1-a90825fba180", "historyId": "75878e6453121b384e38fff99b7d148f", "testCaseId": "e497527fce4c6daf8bd53c8568635911", "fullName": "tests.tests_user.test_user_login.TestUserLogin#test_login_with_rong_creds", "labels": [{"name": "suite", "value": "Проверки авторизации пользователя"}, {"name": "parentSuite", "value": "tests.tests_user"}, {"name": "subSuite", "value": "TestUserLogin"}, {"name": "host", "value": "N-DIR058"}, {"name": "thread", "value": "32908-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.tests_user.test_user_login"}], "titlePath": ["tests", "tests_user", "test_user_login.py", "TestUserLogin"]} \ No newline at end of file diff --git a/allure_results/2c51a194-6844-4cb7-9d87-cf9e764a316c-container.json b/allure_results/2c51a194-6844-4cb7-9d87-cf9e764a316c-container.json new file mode 100644 index 0000000..d737be1 --- /dev/null +++ b/allure_results/2c51a194-6844-4cb7-9d87-cf9e764a316c-container.json @@ -0,0 +1 @@ +{"uuid": "197ea765-97dc-4128-b74d-8ff5d774ba16", "befores": [{"name": "user_data", "status": "passed", "start": 1772829417424, "stop": 1772829417424}], "start": 1772829417424, "stop": 1772829417888} \ No newline at end of file diff --git a/allure_results/2ce72747-14e0-4c10-9288-775e4c7d031e-container.json b/allure_results/2ce72747-14e0-4c10-9288-775e4c7d031e-container.json new file mode 100644 index 0000000..d0d67d0 --- /dev/null +++ b/allure_results/2ce72747-14e0-4c10-9288-775e4c7d031e-container.json @@ -0,0 +1 @@ +{"uuid": "e8646e85-2168-4793-8c36-c5491c22a156", "children": ["451a0497-61b1-42e2-8433-3ff6667ea022"], "befores": [{"name": "create_delete_user", "status": "passed", "start": 1772829414225, "stop": 1772829414834}], "afters": [{"name": "create_delete_user::0", "status": "passed", "start": 1772829415387, "stop": 1772829416434}], "start": 1772829414225, "stop": 1772829416434} \ No newline at end of file diff --git a/allure_results/353b2eb4-dae4-4e3c-b813-e59c86584a9b-container.json b/allure_results/353b2eb4-dae4-4e3c-b813-e59c86584a9b-container.json new file mode 100644 index 0000000..3d666d2 --- /dev/null +++ b/allure_results/353b2eb4-dae4-4e3c-b813-e59c86584a9b-container.json @@ -0,0 +1 @@ +{"uuid": "fd425c15-7020-4bd9-a9e2-9152d3adabc5", "children": ["42aa469d-30c5-4bf6-b163-f8d67bf28430"], "befores": [{"name": "login_user", "status": "passed", "steps": [{"name": "Авторизация", "status": "passed", "parameters": [{"name": "params", "value": "{'email': 'test_bwfjlhi@ya.ru', 'password': 'ainwfvnatfsi'}"}], "start": 1772829397120, "stop": 1772829397689}], "start": 1772829397119, "stop": 1772829397689}], "afters": [{"name": "login_user::0", "status": "passed", "steps": [{"name": "Выход", "status": "passed", "parameters": [{"name": "refresh_token", "value": "{'token': '49de75a1ee5ff020ea7a7adf7d41359db814b6dd9d9787f64e3cf9631bc9de0fa9ef33e9f3ee948d'}"}], "start": 1772829401284, "stop": 1772829402386}], "start": 1772829401283, "stop": 1772829402386}], "start": 1772829397119, "stop": 1772829402386} \ No newline at end of file diff --git a/allure_results/36a0fe35-d9d5-420f-a6c5-cd5595434e32-container.json b/allure_results/36a0fe35-d9d5-420f-a6c5-cd5595434e32-container.json new file mode 100644 index 0000000..73a32e3 --- /dev/null +++ b/allure_results/36a0fe35-d9d5-420f-a6c5-cd5595434e32-container.json @@ -0,0 +1 @@ +{"uuid": "f7c4e42e-bfad-422d-95f0-e26f56cf303e", "children": ["91a9ba82-4af3-4646-858e-d5a84eb067bd"], "befores": [{"name": "create_delete_user", "status": "passed", "start": 1772829430874, "stop": 1772829431385}], "afters": [{"name": "create_delete_user::0", "status": "passed", "start": 1772829433131, "stop": 1772829434217}], "start": 1772829430874, "stop": 1772829434217} \ No newline at end of file diff --git a/allure_results/3c8664d2-f180-4668-98c0-ed5926322a33-result.json b/allure_results/3c8664d2-f180-4668-98c0-ed5926322a33-result.json new file mode 100644 index 0000000..e1f7a09 --- /dev/null +++ b/allure_results/3c8664d2-f180-4668-98c0-ed5926322a33-result.json @@ -0,0 +1 @@ +{"name": "Проверка создания пользователя без обязательного поля", "status": "passed", "steps": [{"name": "Создаем нового пользователя c генерированными данными и возвращаем его данные", "status": "passed", "parameters": [{"name": "user_data", "value": "{'email': 'fgijh3475y @ya.ru', 'password': 'qazwsx123'}"}], "start": 1772829416976, "stop": 1772829417417}], "parameters": [{"name": "user_data", "value": "{'email': 'fgijh3475y @ya.ru', 'password': 'qazwsx123'}"}], "start": 1772829416976, "stop": 1772829417417, "uuid": "0441a0cf-66df-4d8a-b722-40a88057d084", "historyId": "31281959a19550981010cb917b00f497", "testCaseId": "b90c196767cfb330cd4014d57ed3ebb9", "fullName": "tests.tests_user.test_user_create.TestUserCreate#test_cant_create_user_without_required_fields", "labels": [{"name": "suite", "value": "Проверки на создание пользователя"}, {"name": "parentSuite", "value": "tests.tests_user"}, {"name": "subSuite", "value": "TestUserCreate"}, {"name": "host", "value": "N-DIR058"}, {"name": "thread", "value": "32908-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.tests_user.test_user_create"}], "titlePath": ["tests", "tests_user", "test_user_create.py", "TestUserCreate"]} \ No newline at end of file diff --git a/allure_results/408e38e2-58e6-4ddc-9268-4cfe30a0c198-container.json b/allure_results/408e38e2-58e6-4ddc-9268-4cfe30a0c198-container.json new file mode 100644 index 0000000..3b55b94 --- /dev/null +++ b/allure_results/408e38e2-58e6-4ddc-9268-4cfe30a0c198-container.json @@ -0,0 +1 @@ +{"uuid": "b530b151-9a4f-442a-9143-20b3d86cc5be", "befores": [{"name": "edited_data", "status": "passed", "start": 1772829426683, "stop": 1772829426684}], "start": 1772829426683, "stop": 1772829427202} \ No newline at end of file diff --git a/allure_results/471b8674-8658-4325-a2e9-42dfdffeb63c-container.json b/allure_results/471b8674-8658-4325-a2e9-42dfdffeb63c-container.json new file mode 100644 index 0000000..dd4cae1 --- /dev/null +++ b/allure_results/471b8674-8658-4325-a2e9-42dfdffeb63c-container.json @@ -0,0 +1 @@ +{"uuid": "a27e8a8f-4631-4d7c-bb71-7100c3dee789", "children": ["875fbec1-0939-4483-b395-615751543f02"], "befores": [{"name": "create_delete_user", "status": "passed", "start": 1772829417897, "stop": 1772829418445}], "afters": [{"name": "create_delete_user::0", "status": "passed", "start": 1772829420618, "stop": 1772829421763}], "start": 1772829417897, "stop": 1772829421763} \ No newline at end of file diff --git a/allure_results/4ac404fa-0823-4485-a771-0782a9be0b12-container.json b/allure_results/4ac404fa-0823-4485-a771-0782a9be0b12-container.json new file mode 100644 index 0000000..d484059 --- /dev/null +++ b/allure_results/4ac404fa-0823-4485-a771-0782a9be0b12-container.json @@ -0,0 +1 @@ +{"uuid": "f83dc270-1051-4c98-9a0e-7d04b8778345", "befores": [{"name": "user_data", "status": "passed", "start": 1772829416976, "stop": 1772829416976}], "start": 1772829416976, "stop": 1772829417419} \ No newline at end of file diff --git a/allure_results/5809f72e-4e1d-44c2-8d9d-d46dddfff5bd-container.json b/allure_results/5809f72e-4e1d-44c2-8d9d-d46dddfff5bd-container.json new file mode 100644 index 0000000..5067b27 --- /dev/null +++ b/allure_results/5809f72e-4e1d-44c2-8d9d-d46dddfff5bd-container.json @@ -0,0 +1 @@ +{"uuid": "b30d45cf-268e-4e41-b7d0-2d460e324160", "children": ["1f179fa0-0ba1-4692-9636-be2dd72d73d1"], "befores": [{"name": "login_user", "status": "passed", "steps": [{"name": "Авторизация", "status": "passed", "parameters": [{"name": "params", "value": "{'email': 'test_ppxayel@ya.ru', 'password': 'xkxmnjcslaxl'}"}], "start": 1772829422349, "stop": 1772829422826}], "start": 1772829422349, "stop": 1772829422826}], "afters": [{"name": "login_user::0", "status": "passed", "steps": [{"name": "Выход", "status": "passed", "parameters": [{"name": "refresh_token", "value": "{'token': '35c470f7c2ec8e08b3c42cc4812bec7c6f398dd768d768d0ca77b0d6961a9bf30d1894ce492f22ea'}"}], "start": 1772829423327, "stop": 1772829424424}], "start": 1772829423326, "stop": 1772829424424}], "start": 1772829422349, "stop": 1772829424424} \ No newline at end of file diff --git a/allure_results/5b63d15b-41a1-46d1-a165-20394d3d1bf5-result.json b/allure_results/5b63d15b-41a1-46d1-a165-20394d3d1bf5-result.json new file mode 100644 index 0000000..db52821 --- /dev/null +++ b/allure_results/5b63d15b-41a1-46d1-a165-20394d3d1bf5-result.json @@ -0,0 +1 @@ +{"name": "Проверка невозможности зарегистрировать уже существующего пользователя", "status": "passed", "steps": [{"name": "Создаем нового пользователя c генерированными данными и возвращаем его данные", "status": "passed", "parameters": [{"name": "user_data", "value": "{'email': 'eruty123@ya.ru', 'password': 'qazwsx123', 'name': 'Eruty'}"}], "start": 1772829414896, "stop": 1772829415385}], "parameters": [{"name": "create_delete_user", "value": "{'email': 'eruty123@ya.ru', 'password': 'qazwsx123', 'name': 'Eruty'}"}], "start": 1772829414896, "stop": 1772829415385, "uuid": "451a0497-61b1-42e2-8433-3ff6667ea022", "historyId": "f60b54d351465b69cc0ecbb5e7d17571", "testCaseId": "ca4b0c5bacb7346012102514003edc7a", "fullName": "tests.tests_user.test_user_create.TestUserCreate#test_cant_create_duplicate_user", "labels": [{"name": "suite", "value": "Проверки на создание пользователя"}, {"name": "parentSuite", "value": "tests.tests_user"}, {"name": "subSuite", "value": "TestUserCreate"}, {"name": "host", "value": "N-DIR058"}, {"name": "thread", "value": "32908-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.tests_user.test_user_create"}], "titlePath": ["tests", "tests_user", "test_user_create.py", "TestUserCreate"]} \ No newline at end of file diff --git a/allure_results/5d946100-aecb-45d0-86b5-b0178bc3ec07-container.json b/allure_results/5d946100-aecb-45d0-86b5-b0178bc3ec07-container.json new file mode 100644 index 0000000..ce4ac67 --- /dev/null +++ b/allure_results/5d946100-aecb-45d0-86b5-b0178bc3ec07-container.json @@ -0,0 +1 @@ +{"uuid": "5d5921e0-a52a-4b01-8d9e-1e83904c3494", "befores": [{"name": "edited_data", "status": "passed", "start": 1772829419023, "stop": 1772829419023}], "start": 1772829419023, "stop": 1772829419491} \ No newline at end of file diff --git a/allure_results/62e8b90a-ff8b-4f0b-8252-2b3f9e139532-container.json b/allure_results/62e8b90a-ff8b-4f0b-8252-2b3f9e139532-container.json new file mode 100644 index 0000000..4564d83 --- /dev/null +++ b/allure_results/62e8b90a-ff8b-4f0b-8252-2b3f9e139532-container.json @@ -0,0 +1 @@ +{"uuid": "27f06473-3a22-43bc-9580-970a7bb1290b", "children": ["1f179fa0-0ba1-4692-9636-be2dd72d73d1"], "befores": [{"name": "create_delete_user", "status": "passed", "start": 1772829421775, "stop": 1772829422348}], "afters": [{"name": "create_delete_user::0", "status": "passed", "start": 1772829424427, "stop": 1772829425549}], "start": 1772829421774, "stop": 1772829425549} \ No newline at end of file diff --git a/allure_results/66f3dd1a-ab1c-416e-bcd6-7a16286660f0-container.json b/allure_results/66f3dd1a-ab1c-416e-bcd6-7a16286660f0-container.json new file mode 100644 index 0000000..c931a60 --- /dev/null +++ b/allure_results/66f3dd1a-ab1c-416e-bcd6-7a16286660f0-container.json @@ -0,0 +1 @@ +{"uuid": "0c279171-dca5-4936-b5f5-f6bb235a9512", "children": ["ccf71586-bfbd-4b07-82af-1c430402aaf3"], "befores": [{"name": "login_user", "status": "passed", "steps": [{"name": "Авторизация", "status": "passed", "parameters": [{"name": "params", "value": "{'email': 'test_dsxjzov@ya.ru', 'password': 'avfbmiwqttbi'}"}], "start": 1772829408716, "stop": 1772829409294}], "start": 1772829408715, "stop": 1772829409294}], "afters": [{"name": "login_user::0", "status": "passed", "steps": [{"name": "Выход", "status": "passed", "parameters": [{"name": "refresh_token", "value": "{'token': '47daa4811e0047c9f2647fe4f42ca2b223792e90bee7baa0f9584751cfa64b76902c731309be2061'}"}], "start": 1772829409841, "stop": 1772829410938}], "start": 1772829409841, "stop": 1772829410938}], "start": 1772829408715, "stop": 1772829410938} \ No newline at end of file diff --git a/allure_results/7029c1c3-8a4d-4351-a50d-403638ef789d-result.json b/allure_results/7029c1c3-8a4d-4351-a50d-403638ef789d-result.json new file mode 100644 index 0000000..0ae7a55 --- /dev/null +++ b/allure_results/7029c1c3-8a4d-4351-a50d-403638ef789d-result.json @@ -0,0 +1 @@ +{"name": "Проверка получения списка заказов авторизованным пользователем", "status": "passed", "steps": [{"name": "Получение списка заказов", "status": "passed", "parameters": [{"name": "access_token", "value": "None"}], "start": 1772829412053, "stop": 1772829412518}], "start": 1772829412052, "stop": 1772829412518, "uuid": "b4e26ff3-54d8-4502-8d6e-ee024b85cfa4", "historyId": "4e12b6e3dd1ed4c6fb6a4f4682b28747", "testCaseId": "4e12b6e3dd1ed4c6fb6a4f4682b28747", "fullName": "tests.tests_order.test_order_create.TestOrder#test_get_orders_list_authorized", "labels": [{"name": "suite", "value": "Проверки на создание заказа"}, {"name": "parentSuite", "value": "tests.tests_order"}, {"name": "subSuite", "value": "TestOrder"}, {"name": "host", "value": "N-DIR058"}, {"name": "thread", "value": "32908-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.tests_order.test_order_create"}], "titlePath": ["tests", "tests_order", "test_order_create.py", "TestOrder"]} \ No newline at end of file diff --git a/allure_results/726ab1c2-4c27-4618-a078-7ae2f7180d0a-container.json b/allure_results/726ab1c2-4c27-4618-a078-7ae2f7180d0a-container.json new file mode 100644 index 0000000..b91db2c --- /dev/null +++ b/allure_results/726ab1c2-4c27-4618-a078-7ae2f7180d0a-container.json @@ -0,0 +1 @@ +{"uuid": "08917a96-7435-4368-9453-bf8cda661059", "children": ["875fbec1-0939-4483-b395-615751543f02"], "befores": [{"name": "login_user", "status": "passed", "steps": [{"name": "Авторизация", "status": "passed", "parameters": [{"name": "params", "value": "{'email': 'test_tqxsccb@ya.ru', 'password': 'izfuhlbzorxq'}"}], "start": 1772829418445, "stop": 1772829419022}], "start": 1772829418445, "stop": 1772829419022}], "afters": [{"name": "login_user::0", "status": "passed", "steps": [{"name": "Выход", "status": "passed", "parameters": [{"name": "refresh_token", "value": "{'token': 'b48a7a900f2bef82733da20066058a1e5c4fdeb9a72d5b9746a6231f2236e5aba919557b9049a964'}"}], "start": 1772829419493, "stop": 1772829420588}], "start": 1772829419493, "stop": 1772829420588}], "start": 1772829418445, "stop": 1772829420588} \ No newline at end of file diff --git a/allure_results/7b57977d-ccec-4b4c-b247-dae236804941-container.json b/allure_results/7b57977d-ccec-4b4c-b247-dae236804941-container.json new file mode 100644 index 0000000..a1dee99 --- /dev/null +++ b/allure_results/7b57977d-ccec-4b4c-b247-dae236804941-container.json @@ -0,0 +1 @@ +{"uuid": "df9d5c03-833a-4fbf-bee2-2408837ddfff", "befores": [{"name": "user_data", "status": "passed", "start": 1772829434227, "stop": 1772829434227}], "start": 1772829434227, "stop": 1772829434736} \ No newline at end of file diff --git a/allure_results/82e1b986-e3c6-4f33-9296-c7a226e889a9-container.json b/allure_results/82e1b986-e3c6-4f33-9296-c7a226e889a9-container.json new file mode 100644 index 0000000..e3bc700 --- /dev/null +++ b/allure_results/82e1b986-e3c6-4f33-9296-c7a226e889a9-container.json @@ -0,0 +1 @@ +{"uuid": "acfe906f-e873-4885-afec-4c5de5d71636", "children": ["caf19f1d-9e1b-40e0-a0f6-e95b9c58d5f2"], "befores": [{"name": "login_user", "status": "passed", "steps": [{"name": "Авторизация", "status": "passed", "parameters": [{"name": "params", "value": "{'email': 'test_evywuxu@ya.ru', 'password': 'cbhbaryrfben'}"}], "start": 1772829426125, "stop": 1772829426683}], "start": 1772829426124, "stop": 1772829426683}], "afters": [{"name": "login_user::0", "status": "passed", "steps": [{"name": "Выход", "status": "passed", "parameters": [{"name": "refresh_token", "value": "{'token': 'f2e31a18344852ae0e0fbe1f5759c04e69ead75bfa338b18385e39165c8c31c962bd5ff99e518c85'}"}], "start": 1772829427206, "stop": 1772829428317}], "start": 1772829427205, "stop": 1772829428317}], "start": 1772829426124, "stop": 1772829428317} \ No newline at end of file diff --git a/allure_results/8dfc415c-cc68-44dd-bcac-fb75baad51d2-result.json b/allure_results/8dfc415c-cc68-44dd-bcac-fb75baad51d2-result.json new file mode 100644 index 0000000..4d83817 --- /dev/null +++ b/allure_results/8dfc415c-cc68-44dd-bcac-fb75baad51d2-result.json @@ -0,0 +1 @@ +{"name": "Проверка регистрации пользователя", "status": "passed", "start": 1772829413131, "stop": 1772829413132, "uuid": "fa2a3665-977b-409e-9090-ba5708c21597", "historyId": "fe522754bcc7137100b446ca272c7a41", "testCaseId": "fe522754bcc7137100b446ca272c7a41", "fullName": "tests.tests_user.test_user_create.TestUserCreate#test_create_user", "labels": [{"name": "suite", "value": "Проверки на создание пользователя"}, {"name": "parentSuite", "value": "tests.tests_user"}, {"name": "subSuite", "value": "TestUserCreate"}, {"name": "host", "value": "N-DIR058"}, {"name": "thread", "value": "32908-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.tests_user.test_user_create"}], "titlePath": ["tests", "tests_user", "test_user_create.py", "TestUserCreate"]} \ No newline at end of file diff --git a/allure_results/93151b86-5882-4ab1-b28f-3527ab8017a8-result.json b/allure_results/93151b86-5882-4ab1-b28f-3527ab8017a8-result.json new file mode 100644 index 0000000..df998e6 --- /dev/null +++ b/allure_results/93151b86-5882-4ab1-b28f-3527ab8017a8-result.json @@ -0,0 +1 @@ +{"name": "Проверка создания пользователя без обязательного поля", "status": "passed", "steps": [{"name": "Создаем нового пользователя c генерированными данными и возвращаем его данные", "status": "passed", "parameters": [{"name": "user_data", "value": "{'password': 'qazwsx123', 'name': 'Ukjerd'}"}], "start": 1772829417425, "stop": 1772829417887}], "parameters": [{"name": "user_data", "value": "{'password': 'qazwsx123', 'name': 'Ukjerd'}"}], "start": 1772829417425, "stop": 1772829417887, "uuid": "f01854c7-2ed4-406d-bbce-e5b731b1371f", "historyId": "12c02457bfad1434013acd180f946c74", "testCaseId": "b90c196767cfb330cd4014d57ed3ebb9", "fullName": "tests.tests_user.test_user_create.TestUserCreate#test_cant_create_user_without_required_fields", "labels": [{"name": "suite", "value": "Проверки на создание пользователя"}, {"name": "parentSuite", "value": "tests.tests_user"}, {"name": "subSuite", "value": "TestUserCreate"}, {"name": "host", "value": "N-DIR058"}, {"name": "thread", "value": "32908-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.tests_user.test_user_create"}], "titlePath": ["tests", "tests_user", "test_user_create.py", "TestUserCreate"]} \ No newline at end of file diff --git a/allure_results/96c0968b-bd5f-42c6-95f5-e4b19a434d33-result.json b/allure_results/96c0968b-bd5f-42c6-95f5-e4b19a434d33-result.json new file mode 100644 index 0000000..833b960 --- /dev/null +++ b/allure_results/96c0968b-bd5f-42c6-95f5-e4b19a434d33-result.json @@ -0,0 +1 @@ +{"name": "Проверка невозможности авторизоваться с неверным паролем/логином ", "status": "passed", "steps": [{"name": "Авторизация", "status": "passed", "parameters": [{"name": "params", "value": "{'email': 'dfgdrg11@ya.ru', 'password': 'qazwsx123'}"}], "start": 1772829434228, "stop": 1772829434734}], "parameters": [{"name": "user_data", "value": "{'email': 'dfgdrg11@ya.ru', 'password': 'qazwsx123'}"}], "start": 1772829434228, "stop": 1772829434734, "uuid": "910f7296-e3b3-4da8-b6ca-41a7a4bd9145", "historyId": "d3c5387a2df6652cd6d8f9721049e39c", "testCaseId": "e497527fce4c6daf8bd53c8568635911", "fullName": "tests.tests_user.test_user_login.TestUserLogin#test_login_with_rong_creds", "labels": [{"name": "suite", "value": "Проверки авторизации пользователя"}, {"name": "parentSuite", "value": "tests.tests_user"}, {"name": "subSuite", "value": "TestUserLogin"}, {"name": "host", "value": "N-DIR058"}, {"name": "thread", "value": "32908-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.tests_user.test_user_login"}], "titlePath": ["tests", "tests_user", "test_user_login.py", "TestUserLogin"]} \ No newline at end of file diff --git a/allure_results/96f2b542-fc90-4050-9d35-cd74896d9f99-result.json b/allure_results/96f2b542-fc90-4050-9d35-cd74896d9f99-result.json new file mode 100644 index 0000000..a32ef6b --- /dev/null +++ b/allure_results/96f2b542-fc90-4050-9d35-cd74896d9f99-result.json @@ -0,0 +1 @@ +{"name": "Проверка создания заказа без ингредиентов", "status": "passed", "steps": [{"name": "Создание заказа", "status": "passed", "parameters": [{"name": "ingredients", "value": "{'ingredients': []}"}, {"name": "access_token", "value": "'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY5YWIzYWRlOTg0MjcwMDAxYmU1Y2VmYSIsImlhdCI6MTc3MjgyOTQwNiwiZXhwIjoxNzcyODMwNjA2fQ.NM4SaRzCmfGU-_8A-2m7mVHcaDRveynKjH6DrehWi1A'"}], "start": 1772829405383, "stop": 1772829405872}], "start": 1772829405383, "stop": 1772829405872, "uuid": "a1d6ec63-c223-4c4d-8b0c-7fdee0145a58", "historyId": "b8cc06554afe4344cc5a79d9ea70ec10", "testCaseId": "b8cc06554afe4344cc5a79d9ea70ec10", "fullName": "tests.tests_order.test_order_create.TestOrder#test_create_order_without_ingredients", "labels": [{"name": "suite", "value": "Проверки на создание заказа"}, {"name": "parentSuite", "value": "tests.tests_order"}, {"name": "subSuite", "value": "TestOrder"}, {"name": "host", "value": "N-DIR058"}, {"name": "thread", "value": "32908-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.tests_order.test_order_create"}], "titlePath": ["tests", "tests_order", "test_order_create.py", "TestOrder"]} \ No newline at end of file diff --git a/allure_results/9acd83dc-043a-4b58-af5b-3a0ed494be54-result.json b/allure_results/9acd83dc-043a-4b58-af5b-3a0ed494be54-result.json new file mode 100644 index 0000000..edd331e --- /dev/null +++ b/allure_results/9acd83dc-043a-4b58-af5b-3a0ed494be54-result.json @@ -0,0 +1 @@ +{"name": "Проверка создания заказа с неверным хешем ингредиентов", "status": "passed", "steps": [{"name": "Создание заказа", "status": "passed", "parameters": [{"name": "ingredients", "value": "{'ingredients': ['857dfg345876gjjk23h4gd2', '34857ryhfey23424sdfhbs23', '61c0c5a71d1f37456dfjhjhh']}"}, {"name": "access_token", "value": "'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY5YWIzYWUyOTg0MjcwMDAxYmU1Y2VmZCIsImlhdCI6MTc3MjgyOTQxMCwiZXhwIjoxNzcyODMwNjEwfQ.jZqAtvGA_dRKfqjg9vO7PmBgVW_CMnBCJRhM5u03hZ8'"}], "start": 1772829409297, "stop": 1772829409838}], "start": 1772829409296, "stop": 1772829409839, "uuid": "ccf71586-bfbd-4b07-82af-1c430402aaf3", "historyId": "800c0163441a8bd11f5bae01ca7be051", "testCaseId": "800c0163441a8bd11f5bae01ca7be051", "fullName": "tests.tests_order.test_order_create.TestOrder#test_create_order_incorrect_ingredients_hash", "labels": [{"name": "suite", "value": "Проверки на создание заказа"}, {"name": "parentSuite", "value": "tests.tests_order"}, {"name": "subSuite", "value": "TestOrder"}, {"name": "host", "value": "N-DIR058"}, {"name": "thread", "value": "32908-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.tests_order.test_order_create"}], "titlePath": ["tests", "tests_order", "test_order_create.py", "TestOrder"]} \ No newline at end of file diff --git a/allure_results/9f8f61fa-30bc-4306-87b1-c7d14c641749-result.json b/allure_results/9f8f61fa-30bc-4306-87b1-c7d14c641749-result.json new file mode 100644 index 0000000..3c8cb62 --- /dev/null +++ b/allure_results/9f8f61fa-30bc-4306-87b1-c7d14c641749-result.json @@ -0,0 +1 @@ +{"name": "Редактирование данных авторизованным пользователем", "status": "passed", "steps": [{"name": "Изменение данных", "status": "passed", "parameters": [{"name": "params", "value": "{'email': 'editedg@ya.ru'}"}, {"name": "access_token", "value": "'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY5YWIzYWVmOTg0MjcwMDAxYmU1Y2YwYSIsImlhdCI6MTc3MjgyOTQyNCwiZXhwIjoxNzcyODMwNjI0fQ.ha2N4NFa6ENviG6yMvriZVD-bmddmIl7RHfXnGLTDeQ'"}], "start": 1772829422828, "stop": 1772829423323}], "parameters": [{"name": "edited_data", "value": "{'email': 'editedg@ya.ru'}"}], "start": 1772829422828, "stop": 1772829423323, "uuid": "1f179fa0-0ba1-4692-9636-be2dd72d73d1", "historyId": "aade51f1a758d5eb3d252bab1a4b08e3", "testCaseId": "b6c78bab4a85ef0ade30520021ce2b41", "fullName": "tests.tests_user.test_user_edit.TestUserEdit#test_authorized_user_data_edit", "labels": [{"name": "suite", "value": "Проверки на редактирование данных пользователя"}, {"name": "parentSuite", "value": "tests.tests_user"}, {"name": "subSuite", "value": "TestUserEdit"}, {"name": "host", "value": "N-DIR058"}, {"name": "thread", "value": "32908-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.tests_user.test_user_edit"}], "titlePath": ["tests", "tests_user", "test_user_edit.py", "TestUserEdit"]} \ No newline at end of file diff --git a/allure_results/9f9bcbee-d207-493f-ae63-82737701d0b6-result.json b/allure_results/9f9bcbee-d207-493f-ae63-82737701d0b6-result.json new file mode 100644 index 0000000..682e1c0 --- /dev/null +++ b/allure_results/9f9bcbee-d207-493f-ae63-82737701d0b6-result.json @@ -0,0 +1 @@ +{"name": "Редактирование данных неавторизованным пользователем", "status": "passed", "steps": [{"name": "Изменение данных", "status": "passed", "parameters": [{"name": "params", "value": "{'name': 'Ytserwu'}"}, {"name": "access_token", "value": "None"}], "start": 1772829429383, "stop": 1772829429927}], "parameters": [{"name": "edited_data", "value": "{'name': 'Ytserwu'}"}], "start": 1772829429382, "stop": 1772829429927, "uuid": "0c6e6373-7c35-4c72-88e2-83f2d7299753", "historyId": "3653c0b4d2d3d314d933d4e0f0f1962f", "testCaseId": "f9d3b10a7b1ec21076c4896062f4915f", "fullName": "tests.tests_user.test_user_edit.TestUserEdit#test_unauthorized_user_data_edit", "labels": [{"name": "suite", "value": "Проверки на редактирование данных пользователя"}, {"name": "parentSuite", "value": "tests.tests_user"}, {"name": "subSuite", "value": "TestUserEdit"}, {"name": "host", "value": "N-DIR058"}, {"name": "thread", "value": "32908-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.tests_user.test_user_edit"}], "titlePath": ["tests", "tests_user", "test_user_edit.py", "TestUserEdit"]} \ No newline at end of file diff --git a/allure_results/a6a895c9-0a06-4f59-bb98-702a26bd6dd9-result.json b/allure_results/a6a895c9-0a06-4f59-bb98-702a26bd6dd9-result.json new file mode 100644 index 0000000..d75f0d6 --- /dev/null +++ b/allure_results/a6a895c9-0a06-4f59-bb98-702a26bd6dd9-result.json @@ -0,0 +1 @@ +{"name": "Проверка создания заказа неавторизованным пользователем", "status": "passed", "steps": [{"name": "Создание заказа", "status": "passed", "parameters": [{"name": "ingredients", "value": "{'ingredients': ['61c0c5a71d1f82001bdaaa6d', '61c0c5a71d1f82001bdaaa6d', '61c0c5a71d1f82001bdaaa6f', '61c0c5a71d1f82001bdaaa73']}"}, {"name": "access_token", "value": "None"}], "start": 1772829403654, "stop": 1772829404197}], "start": 1772829403653, "stop": 1772829404197, "uuid": "1c0af214-5ac3-410b-9b71-96d90b3b3a57", "historyId": "0e1c8113a7998c0c82b17a586757549a", "testCaseId": "0e1c8113a7998c0c82b17a586757549a", "fullName": "tests.tests_order.test_order_create.TestOrder#test_create_order_unauthorized", "labels": [{"name": "suite", "value": "Проверки на создание заказа"}, {"name": "parentSuite", "value": "tests.tests_order"}, {"name": "subSuite", "value": "TestOrder"}, {"name": "host", "value": "N-DIR058"}, {"name": "thread", "value": "32908-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.tests_order.test_order_create"}], "titlePath": ["tests", "tests_order", "test_order_create.py", "TestOrder"]} \ No newline at end of file diff --git a/allure_results/b7853ff5-bcec-4d06-b795-f70182ab236c-result.json b/allure_results/b7853ff5-bcec-4d06-b795-f70182ab236c-result.json new file mode 100644 index 0000000..8b12e8e --- /dev/null +++ b/allure_results/b7853ff5-bcec-4d06-b795-f70182ab236c-result.json @@ -0,0 +1 @@ +{"name": "Проверка создания заказа авторизованным пользователем, с ингредиентами", "status": "passed", "steps": [{"name": "Создание заказа", "status": "passed", "parameters": [{"name": "ingredients", "value": "{'ingredients': ['61c0c5a71d1f82001bdaaa6d', '61c0c5a71d1f82001bdaaa6d', '61c0c5a71d1f82001bdaaa6f', '61c0c5a71d1f82001bdaaa73']}"}, {"name": "access_token", "value": "'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY5YWIzYWQ2OTg0MjcwMDAxYmU1Y2VmNiIsImlhdCI6MTc3MjgyOTM5OSwiZXhwIjoxNzcyODMwNTk5fQ.N4LGGnwF-j8UrylPI8OlHUp1Y1GRLW9vmWoaERGEPyw'"}], "start": 1772829397692, "stop": 1772829401279}], "start": 1772829397692, "stop": 1772829401280, "uuid": "42aa469d-30c5-4bf6-b163-f8d67bf28430", "historyId": "4c55bac8cb27937dd75cddc5f9d66db1", "testCaseId": "4c55bac8cb27937dd75cddc5f9d66db1", "fullName": "tests.tests_order.test_order_create.TestOrder#test_create_order_authorized", "labels": [{"name": "suite", "value": "Проверки на создание заказа"}, {"name": "parentSuite", "value": "tests.tests_order"}, {"name": "subSuite", "value": "TestOrder"}, {"name": "host", "value": "N-DIR058"}, {"name": "thread", "value": "32908-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.tests_order.test_order_create"}], "titlePath": ["tests", "tests_order", "test_order_create.py", "TestOrder"]} \ No newline at end of file diff --git a/allure_results/b88ad371-fe5b-4a38-b00f-ed2ad7340156-container.json b/allure_results/b88ad371-fe5b-4a38-b00f-ed2ad7340156-container.json new file mode 100644 index 0000000..751088f --- /dev/null +++ b/allure_results/b88ad371-fe5b-4a38-b00f-ed2ad7340156-container.json @@ -0,0 +1 @@ +{"uuid": "bbfd8de9-3e7e-42b9-bfb2-c5a69ddbce78", "children": ["a1d6ec63-c223-4c4d-8b0c-7fdee0145a58"], "befores": [{"name": "create_delete_user", "status": "passed", "start": 1772829404205, "stop": 1772829404756}], "afters": [{"name": "create_delete_user::0", "status": "passed", "start": 1772829407046, "stop": 1772829408143}], "start": 1772829404205, "stop": 1772829408143} \ No newline at end of file diff --git a/allure_results/bb809bb6-1fe4-486b-b30f-7efac43c835d-container.json b/allure_results/bb809bb6-1fe4-486b-b30f-7efac43c835d-container.json new file mode 100644 index 0000000..5a3fed1 --- /dev/null +++ b/allure_results/bb809bb6-1fe4-486b-b30f-7efac43c835d-container.json @@ -0,0 +1 @@ +{"uuid": "907d22c6-74ba-471b-adb3-f146542bcb4e", "befores": [{"name": "edited_data", "status": "passed", "start": 1772829422827, "stop": 1772829422827}], "start": 1772829422827, "stop": 1772829423324} \ No newline at end of file diff --git a/allure_results/bc76294f-4084-49ac-a997-0ea346f1cb6f-container.json b/allure_results/bc76294f-4084-49ac-a997-0ea346f1cb6f-container.json new file mode 100644 index 0000000..2c927bd --- /dev/null +++ b/allure_results/bc76294f-4084-49ac-a997-0ea346f1cb6f-container.json @@ -0,0 +1 @@ +{"uuid": "e7555215-aa80-4848-812c-c6f7cd319070", "befores": [{"name": "edited_data", "status": "passed", "start": 1772829429381, "stop": 1772829429381}], "start": 1772829429381, "stop": 1772829429929} \ No newline at end of file diff --git a/allure_results/bede04df-bd21-4903-a059-9803e588d4cd-container.json b/allure_results/bede04df-bd21-4903-a059-9803e588d4cd-container.json new file mode 100644 index 0000000..6cbf470 --- /dev/null +++ b/allure_results/bede04df-bd21-4903-a059-9803e588d4cd-container.json @@ -0,0 +1 @@ +{"uuid": "f2aab00a-16a3-47f8-8d05-72c01fa4150e", "children": ["91a9ba82-4af3-4646-858e-d5a84eb067bd"], "befores": [{"name": "login_user", "status": "passed", "steps": [{"name": "Авторизация", "status": "passed", "parameters": [{"name": "params", "value": "{'email': 'test_dlugjje@ya.ru', 'password': 'sbowbhptwwwe'}"}], "start": 1772829431386, "stop": 1772829431985}], "start": 1772829431385, "stop": 1772829431985}], "afters": [{"name": "login_user::0", "status": "passed", "steps": [{"name": "Выход", "status": "passed", "parameters": [{"name": "refresh_token", "value": "{'token': 'd7847f179f44989ca2398680c363ec8808da0f7d0923b8b978c09f4ab98c8764abde12fcfaee9a27'}"}], "start": 1772829431991, "stop": 1772829433126}], "start": 1772829431991, "stop": 1772829433127}], "start": 1772829431385, "stop": 1772829433127} \ No newline at end of file diff --git a/allure_results/c18bbb1d-344e-49cc-b4b6-fe2122f9addb-result.json b/allure_results/c18bbb1d-344e-49cc-b4b6-fe2122f9addb-result.json new file mode 100644 index 0000000..bc09ba5 --- /dev/null +++ b/allure_results/c18bbb1d-344e-49cc-b4b6-fe2122f9addb-result.json @@ -0,0 +1 @@ +{"name": "Редактирование данных неавторизованным пользователем", "status": "passed", "steps": [{"name": "Изменение данных", "status": "passed", "parameters": [{"name": "params", "value": "{'password': 'eryg38ryfe'}"}, {"name": "access_token", "value": "None"}], "start": 1772829430397, "stop": 1772829430866}], "parameters": [{"name": "edited_data", "value": "{'password': 'eryg38ryfe'}"}], "start": 1772829430396, "stop": 1772829430866, "uuid": "0ae8ed5e-1259-4f2f-9d27-5ba5b1975186", "historyId": "bf50832daa794e4aa84ba7a8801bf0b4", "testCaseId": "f9d3b10a7b1ec21076c4896062f4915f", "fullName": "tests.tests_user.test_user_edit.TestUserEdit#test_unauthorized_user_data_edit", "labels": [{"name": "suite", "value": "Проверки на редактирование данных пользователя"}, {"name": "parentSuite", "value": "tests.tests_user"}, {"name": "subSuite", "value": "TestUserEdit"}, {"name": "host", "value": "N-DIR058"}, {"name": "thread", "value": "32908-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.tests_user.test_user_edit"}], "titlePath": ["tests", "tests_user", "test_user_edit.py", "TestUserEdit"]} \ No newline at end of file diff --git a/allure_results/d9863e15-b3fa-4cd6-920b-060427dc5292-container.json b/allure_results/d9863e15-b3fa-4cd6-920b-060427dc5292-container.json new file mode 100644 index 0000000..477f8b3 --- /dev/null +++ b/allure_results/d9863e15-b3fa-4cd6-920b-060427dc5292-container.json @@ -0,0 +1 @@ +{"uuid": "06580e57-c3eb-4226-9f89-0f77f8558b05", "befores": [{"name": "user_data", "status": "passed", "start": 1772829434742, "stop": 1772829434743}], "start": 1772829434742, "stop": 1772829435246} \ No newline at end of file diff --git a/allure_results/e40f844d-4eec-48d0-950a-274809741976-container.json b/allure_results/e40f844d-4eec-48d0-950a-274809741976-container.json new file mode 100644 index 0000000..0003a1c --- /dev/null +++ b/allure_results/e40f844d-4eec-48d0-950a-274809741976-container.json @@ -0,0 +1 @@ +{"uuid": "c13db1c4-bd40-4972-8233-1fcfeb860ca8", "befores": [{"name": "user_data", "status": "passed", "start": 1772829416467, "stop": 1772829416468}], "start": 1772829416467, "stop": 1772829416970} \ No newline at end of file diff --git a/allure_results/e4b1a6c5-7a59-44f8-9514-028025973c1c-container.json b/allure_results/e4b1a6c5-7a59-44f8-9514-028025973c1c-container.json new file mode 100644 index 0000000..edc5de4 --- /dev/null +++ b/allure_results/e4b1a6c5-7a59-44f8-9514-028025973c1c-container.json @@ -0,0 +1 @@ +{"uuid": "f5af0132-c53b-482e-8a83-3678a5f3f827", "children": ["caf19f1d-9e1b-40e0-a0f6-e95b9c58d5f2"], "befores": [{"name": "create_delete_user", "status": "passed", "start": 1772829425556, "stop": 1772829426124}], "afters": [{"name": "create_delete_user::0", "status": "passed", "start": 1772829428322, "stop": 1772829429349}], "start": 1772829425556, "stop": 1772829429349} \ No newline at end of file diff --git a/allure_results/e707e210-a811-4cab-a979-1130a9800c67-result.json b/allure_results/e707e210-a811-4cab-a979-1130a9800c67-result.json new file mode 100644 index 0000000..9685c02 --- /dev/null +++ b/allure_results/e707e210-a811-4cab-a979-1130a9800c67-result.json @@ -0,0 +1 @@ +{"name": "Редактирование данных авторизованным пользователем", "status": "passed", "steps": [{"name": "Изменение данных", "status": "passed", "parameters": [{"name": "params", "value": "{'name': 'Ytserwu'}"}, {"name": "access_token", "value": "'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY5YWIzYWViOTg0MjcwMDAxYmU1Y2YwNyIsImlhdCI6MTc3MjgyOTQyMCwiZXhwIjoxNzcyODMwNjIwfQ.xwTsLCMLXP_dvV9W07wQpzVLLaLJbwcjsSH4UArPVVA'"}], "start": 1772829419025, "stop": 1772829419489}], "parameters": [{"name": "edited_data", "value": "{'name': 'Ytserwu'}"}], "start": 1772829419024, "stop": 1772829419490, "uuid": "875fbec1-0939-4483-b395-615751543f02", "historyId": "a394ae111bec9fab78497c2e21ecee17", "testCaseId": "b6c78bab4a85ef0ade30520021ce2b41", "fullName": "tests.tests_user.test_user_edit.TestUserEdit#test_authorized_user_data_edit", "labels": [{"name": "suite", "value": "Проверки на редактирование данных пользователя"}, {"name": "parentSuite", "value": "tests.tests_user"}, {"name": "subSuite", "value": "TestUserEdit"}, {"name": "host", "value": "N-DIR058"}, {"name": "thread", "value": "32908-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.tests_user.test_user_edit"}], "titlePath": ["tests", "tests_user", "test_user_edit.py", "TestUserEdit"]} \ No newline at end of file diff --git a/allure_results/e7debf48-953b-4b21-b182-2944641297b8-container.json b/allure_results/e7debf48-953b-4b21-b182-2944641297b8-container.json new file mode 100644 index 0000000..3638736 --- /dev/null +++ b/allure_results/e7debf48-953b-4b21-b182-2944641297b8-container.json @@ -0,0 +1 @@ +{"uuid": "1485dbd4-3108-49fe-84ad-241ce46cbd39", "children": ["a1d6ec63-c223-4c4d-8b0c-7fdee0145a58"], "befores": [{"name": "login_user", "status": "passed", "steps": [{"name": "Авторизация", "status": "passed", "parameters": [{"name": "params", "value": "{'email': 'test_wsewtag@ya.ru', 'password': 'hndbdzlndmbx'}"}], "start": 1772829404756, "stop": 1772829405382}], "start": 1772829404756, "stop": 1772829405382}], "afters": [{"name": "login_user::0", "status": "passed", "steps": [{"name": "Выход", "status": "passed", "parameters": [{"name": "refresh_token", "value": "{'token': 'c9fe378589840b9121b52936c90c6db0f95a005f9b57fdaa0bd4ee89d573062c5664e0bad8ddce22'}"}], "start": 1772829405874, "stop": 1772829407043}], "start": 1772829405874, "stop": 1772829407043}], "start": 1772829404756, "stop": 1772829407044} \ No newline at end of file diff --git a/allure_results/e90890b4-aa70-4d71-85e7-5ae6f0130a3a-result.json b/allure_results/e90890b4-aa70-4d71-85e7-5ae6f0130a3a-result.json new file mode 100644 index 0000000..78e7af8 --- /dev/null +++ b/allure_results/e90890b4-aa70-4d71-85e7-5ae6f0130a3a-result.json @@ -0,0 +1 @@ +{"name": "Проверка создания пользователя без обязательного поля", "status": "passed", "steps": [{"name": "Создаем нового пользователя c генерированными данными и возвращаем его данные", "status": "passed", "parameters": [{"name": "user_data", "value": "{'email': 'uyrterdgvd433@ya.ru', 'name': 'Jeruihv'}"}], "start": 1772829416469, "stop": 1772829416969}], "parameters": [{"name": "user_data", "value": "{'email': 'uyrterdgvd433@ya.ru', 'name': 'Jeruihv'}"}], "start": 1772829416469, "stop": 1772829416969, "uuid": "269f7158-0055-4d27-8928-6323533e9df3", "historyId": "0acf6200b16a604e197ea74ad6a0946b", "testCaseId": "b90c196767cfb330cd4014d57ed3ebb9", "fullName": "tests.tests_user.test_user_create.TestUserCreate#test_cant_create_user_without_required_fields", "labels": [{"name": "suite", "value": "Проверки на создание пользователя"}, {"name": "parentSuite", "value": "tests.tests_user"}, {"name": "subSuite", "value": "TestUserCreate"}, {"name": "host", "value": "N-DIR058"}, {"name": "thread", "value": "32908-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.tests_user.test_user_create"}], "titlePath": ["tests", "tests_user", "test_user_create.py", "TestUserCreate"]} \ No newline at end of file diff --git a/allure_results/e94994e6-953a-4ea2-88ab-fc96effcf81d-result.json b/allure_results/e94994e6-953a-4ea2-88ab-fc96effcf81d-result.json new file mode 100644 index 0000000..2d8f9fc --- /dev/null +++ b/allure_results/e94994e6-953a-4ea2-88ab-fc96effcf81d-result.json @@ -0,0 +1 @@ +{"name": "Редактирование данных авторизованным пользователем", "status": "passed", "steps": [{"name": "Изменение данных", "status": "passed", "parameters": [{"name": "params", "value": "{'password': 'eryg38ryfe'}"}, {"name": "access_token", "value": "'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY5YWIzYWYzOTg0MjcwMDAxYmU1Y2YwZCIsImlhdCI6MTc3MjgyOTQyOCwiZXhwIjoxNzcyODMwNjI4fQ.OZ1V70oiHLFSZ_jNnNQqaJXHVPT31IGm3eyVp2BnP5A'"}], "start": 1772829426685, "stop": 1772829427199}], "parameters": [{"name": "edited_data", "value": "{'password': 'eryg38ryfe'}"}], "start": 1772829426685, "stop": 1772829427199, "uuid": "caf19f1d-9e1b-40e0-a0f6-e95b9c58d5f2", "historyId": "7b3924c501d6c7faf4c8db7a45fd5f76", "testCaseId": "b6c78bab4a85ef0ade30520021ce2b41", "fullName": "tests.tests_user.test_user_edit.TestUserEdit#test_authorized_user_data_edit", "labels": [{"name": "suite", "value": "Проверки на редактирование данных пользователя"}, {"name": "parentSuite", "value": "tests.tests_user"}, {"name": "subSuite", "value": "TestUserEdit"}, {"name": "host", "value": "N-DIR058"}, {"name": "thread", "value": "32908-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.tests_user.test_user_edit"}], "titlePath": ["tests", "tests_user", "test_user_edit.py", "TestUserEdit"]} \ No newline at end of file diff --git a/allure_results/ec50b9ed-6e2e-4008-b34f-cc36abc542cc-result.json b/allure_results/ec50b9ed-6e2e-4008-b34f-cc36abc542cc-result.json new file mode 100644 index 0000000..5a7f43d --- /dev/null +++ b/allure_results/ec50b9ed-6e2e-4008-b34f-cc36abc542cc-result.json @@ -0,0 +1 @@ +{"name": "Редактирование данных неавторизованным пользователем", "status": "passed", "steps": [{"name": "Изменение данных", "status": "passed", "parameters": [{"name": "params", "value": "{'email': 'editedg@ya.ru'}"}, {"name": "access_token", "value": "None"}], "start": 1772829429936, "stop": 1772829430389}], "parameters": [{"name": "edited_data", "value": "{'email': 'editedg@ya.ru'}"}], "start": 1772829429936, "stop": 1772829430390, "uuid": "e3e5ac8f-0e6f-441c-8ce7-137497c1382c", "historyId": "9b4b83ff8b22b45b337e80dc06170aba", "testCaseId": "f9d3b10a7b1ec21076c4896062f4915f", "fullName": "tests.tests_user.test_user_edit.TestUserEdit#test_unauthorized_user_data_edit", "labels": [{"name": "suite", "value": "Проверки на редактирование данных пользователя"}, {"name": "parentSuite", "value": "tests.tests_user"}, {"name": "subSuite", "value": "TestUserEdit"}, {"name": "host", "value": "N-DIR058"}, {"name": "thread", "value": "32908-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.tests_user.test_user_edit"}], "titlePath": ["tests", "tests_user", "test_user_edit.py", "TestUserEdit"]} \ No newline at end of file diff --git a/allure_results/fd3cb2ba-809f-452f-9fc6-c54ed8c0aa09-container.json b/allure_results/fd3cb2ba-809f-452f-9fc6-c54ed8c0aa09-container.json new file mode 100644 index 0000000..12b29d2 --- /dev/null +++ b/allure_results/fd3cb2ba-809f-452f-9fc6-c54ed8c0aa09-container.json @@ -0,0 +1 @@ +{"uuid": "9e4ca617-a03d-440d-8c88-81dba855eb61", "befores": [{"name": "edited_data", "status": "passed", "start": 1772829430395, "stop": 1772829430396}], "start": 1772829430395, "stop": 1772829430867} \ No newline at end of file diff --git a/conftest.py b/conftest.py new file mode 100644 index 0000000..253db3a --- /dev/null +++ b/conftest.py @@ -0,0 +1,111 @@ +import pytest +import json +import requests +from helpers import generate_random_string, random_email +from urls import REGISTER_URL, USER_URL +from data import HEADERS +from methods.user.user_login_methods import UserLoginMethods + +# Фикстура для создания и удаления пользователя +@pytest.fixture(scope='function') +def create_delete_user(request): + + # передаем данные из теста в фикстуру, если они есть + user_data = getattr(request, 'param', None) + + if user_data is None: + # Генерируем случайные данные, если данные не переданы + email = random_email() + password = generate_random_string(12) + name = generate_random_string(7) + + payload = { + "email": email, + "password": password, + "name": name + } + else: + payload = user_data + email = user_data['email'] + password = user_data['password'] + name = user_data['name'] + # отправляем запрос на создание пользователя + response = requests.post(f'{REGISTER_URL}', json=payload, headers=HEADERS) + response_data = response.json() + + # создем словарь + result_data = {} + + result_data['success'] = response_data.get('success') + result_data['user'] = response_data.get('user') + result_data['accessToken'] = response_data.get('accessToken') + result_data['refreshToken'] = response_data.get('refreshToken') + result_data['password'] = password + result_data['email'] = email + result_data['name'] = name + + yield result_data + + if 'accessToken' in response_data and response_data['accessToken']: + url = USER_URL + headers = HEADERS.copy() + # добавляем токен в хедерс для удаления нужного пользователя + headers['authorization'] = response_data['accessToken'] + + requests.delete(url, headers=headers) + + + +# Фикстура для логина, содержащая вызов фикстуры с созданием/удалением пользователя +@pytest.fixture(scope='function') +def login_user(create_delete_user): + + user_data = create_delete_user + email = user_data['user']['email'] + password = user_data['password'] + + login_params = { + "email": email, + "password": password + } + + response_data, status_code = UserLoginMethods().user_login(login_params) + + response_data['status_code'] = status_code + + yield response_data + + if 'refreshToken' in response_data: + payload = { + "token": response_data['refreshToken'] + } + UserLoginMethods().user_logout(payload) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data.py b/data.py new file mode 100644 index 0000000..04a0b17 --- /dev/null +++ b/data.py @@ -0,0 +1,79 @@ +HEADERS = { + 'Content-Type': 'application/json' +} + +# данные для создания пользователя и последующего создания пользователя с этими же данными +existing_user_data = { + "email": "eruty123@ya.ru", + "password": "qazwsx123", + "name": "Eruty" + } + + +# данные для проверки регистрации без обязательного поля +user_data_no_password = { + "email": "uyrterdgvd433@ya.ru", + "name": "Jeruihv" +} + +user_data_no_name = { + "email": "fgijh3475y @ya.ru", + "password": "qazwsx123", +} + +user_data_no_email = { + "password": "qazwsx123", + "name": "Ukjerd" +} + +# существующий пользователь для проверки логина с некорректными кредами +random_user_data = { + "email": "dfgdrg@ya.ru", + "password": "qazwsx123", + "name": "Fdfgr" + } + +user_login_data_wrong_login = { + "email": "dfgdrg11@ya.ru", + "password": "qazwsx123" +} + +user_login_data_wrong_password = { + "email": "eruty123@ya.ru", + "password": "qazwsx321" +} + +user_edited_email = {"email": "editedg@ya.ru"} + +user_edited_name = {"name": "Ytserwu"} + +user_edited_password = {"password": "eryg38ryfe"} + + +order_data = { + "ingredients": + ["61c0c5a71d1f82001bdaaa6d", + "61c0c5a71d1f82001bdaaa6d", + "61c0c5a71d1f82001bdaaa6f", + "61c0c5a71d1f82001bdaaa73"] +} + +order_data_without_ingredients = { + "ingredients": [] +} + +order_data_incorrect_ingredints_hash = { + "ingredients": + ["857dfg345876gjjk23h4gd2", + "34857ryhfey23424sdfhbs23", + "61c0c5a71d1f37456dfjhjhh"] +} + + + + + + + + + diff --git a/helpers.py b/helpers.py new file mode 100644 index 0000000..c0102aa --- /dev/null +++ b/helpers.py @@ -0,0 +1,15 @@ +import string +import random + +def generate_random_string(length): + + letters = string.ascii_lowercase + random_string = ''.join(random.choice(letters) for i in range(length)) + return random_string + + + +def random_email(): + random_part = ''.join(random.choices(string.ascii_lowercase, k=7)) + email = f"test_{random_part}@ya.ru" + return email \ No newline at end of file diff --git a/methods/__init__.py b/methods/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/methods/order/__init__.py b/methods/order/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/methods/order/order_methods.py b/methods/order/order_methods.py new file mode 100644 index 0000000..c870ab4 --- /dev/null +++ b/methods/order/order_methods.py @@ -0,0 +1,39 @@ +import requests +import json +from urls import ORDERS_URL, USER_URL +from data import HEADERS +import allure + + + +class OrderMethods: + + @allure.step("Создание заказа") + def create_order(self, ingredients, access_token): + + url = ORDERS_URL + headers = HEADERS.copy() + headers['authorization'] = access_token + + response = requests.post(url, json=ingredients, headers=headers) + + try: + return response.json(), response.status_code + except json.JSONDecodeError: + return response.text, response.status_code + + + @allure.step("Получение списка заказов") + def get_orders_list(self, access_token): + + url = ORDERS_URL + headers = HEADERS.copy() + headers['authorization'] = access_token + + response = requests.get(url, json=None, headers=headers) + + + try: + return response.json(), response.status_code + except json.JSONDecodeError: + return response.text, response.status_code diff --git a/methods/user/__init__.py b/methods/user/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/methods/user/user_create_methods.py b/methods/user/user_create_methods.py new file mode 100644 index 0000000..31afc9a --- /dev/null +++ b/methods/user/user_create_methods.py @@ -0,0 +1,65 @@ +import requests +import json +from helpers import generate_random_string, random_email +from urls import REGISTER_URL, USER_URL +from data import HEADERS +import allure + + +class UserCreateMethods: + + @allure.step("Создаем нового пользователя c генерированными данными и возвращаем его данные") + def create_new_user_and_return_data(self, user_data=None): + + result_data = {} + + if user_data is None: + # генерируем случайные данные + email = random_email() + password = generate_random_string(12) + name = generate_random_string(7) + + payload = { + "email": email, + "password": password, + "name": name + } + else: + payload = user_data + + # отправляем запрос на регистрацию пользователя + response = requests.post(f'{REGISTER_URL}', json=payload, headers=HEADERS) + + response_data = response.json() + + # при успешном создании: + if response.status_code == 200: + result_data['email'] = email + result_data['password'] = password + result_data['name'] = name + result_data['accessToken'] = response_data['accessToken'] + result_data['refreshToken'] = response_data['refreshToken'] + result_data['user'] = response_data['user'] + # в случае ошибки: + else: + result_data['success'] = response_data.get('success') + result_data['message'] = response_data.get('message') + #возвращаем данные + return result_data + + + @allure.step('Удаляем пользователя') + def delete_user(self, access_token): + + url = USER_URL + headers = HEADERS.copy() + headers['authorization'] = access_token + # добавляем токен в хедерс для удаления нужного пользователя + response = requests.delete(url, headers=headers) + + try: + return response.json(), response.status_code + except json.JSONDecodeError: + return response.text, response.status_code + + diff --git a/methods/user/user_edit_methods.py b/methods/user/user_edit_methods.py new file mode 100644 index 0000000..1c023ab --- /dev/null +++ b/methods/user/user_edit_methods.py @@ -0,0 +1,23 @@ +import requests +import json +from urls import USER_URL +from data import HEADERS +import allure + + + +class UserEditMethods: + + @allure.step("Изменение данных") + def user_edit(self, params, access_token): + + url = USER_URL + headers = HEADERS.copy() + headers['authorization'] = access_token + + response = requests.patch(url, json=params, headers = headers) + + try: + return response.json(), response.status_code + except json.JSONDecodeError: + return {"error": response.text}, response.status_code diff --git a/methods/user/user_login_methods.py b/methods/user/user_login_methods.py new file mode 100644 index 0000000..7e6d167 --- /dev/null +++ b/methods/user/user_login_methods.py @@ -0,0 +1,31 @@ +import requests +import json +from urls import LOGIN_URL, LOGOUT_URL +from data import HEADERS +import allure + +class UserLoginMethods: + + @allure.step("Авторизация") + def user_login(self, params): + + url = LOGIN_URL + response = requests.post(url, json=params, headers=HEADERS) + + try: + return response.json(), response.status_code + except json.JSONDecodeError: + return response.text, response.status_code + + + @allure.step("Выход") + def user_logout(self, refresh_token): + + url = LOGOUT_URL + + response = requests.post(url, json=refresh_token, headers=HEADERS) + + try: + return response.json(), response.status_code + except json.JSONDecodeError: + return response.text, response.status_code diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..a5e5a5d --- /dev/null +++ b/requirements.txt @@ -0,0 +1,27 @@ +allure-pytest==2.15.3 +allure-python-commons==2.15.3 +attrs==25.4.0 +certifi==2025.11.12 +cffi==2.0.0 +charset-normalizer==3.4.4 +colorama==0.4.6 +h11==0.16.0 +idna==3.11 +iniconfig==2.3.0 +outcome==1.3.0.post0 +packaging==25.0 +pluggy==1.6.0 +pycparser==2.23 +Pygments==2.19.2 +PySocks==1.7.1 +pytest==9.0.2 +requests==2.32.5 +selenium==4.39.0 +sniffio==1.3.1 +sortedcontainers==2.4.0 +trio==0.32.0 +trio-websocket==0.12.2 +typing_extensions==4.15.0 +urllib3==2.6.2 +websocket-client==1.9.0 +wsproto==1.3.2 \ No newline at end of file diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/tests_order/__init__.py b/tests/tests_order/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/tests_order/test_get_orders_list.py b/tests/tests_order/test_get_orders_list.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/tests_order/test_order_create.py b/tests/tests_order/test_order_create.py new file mode 100644 index 0000000..778ebef --- /dev/null +++ b/tests/tests_order/test_order_create.py @@ -0,0 +1,129 @@ +import pytest +import allure +from methods.order.order_methods import OrderMethods +from data import order_data, order_data_without_ingredients, order_data_incorrect_ingredints_hash + + +@allure.suite('Проверки на создание заказа') +class TestOrder: + + @allure.title('Проверка создания заказа авторизованным пользователем, с ингредиентами') + def test_create_order_authorized(self, login_user): + + user_data = login_user + + response_data, status_code = OrderMethods().create_order(order_data, user_data['accessToken']) + + # проверяем код статуса + assert status_code == 200 + # проверяем состав тела ответа + actual_success = response_data.get("success") + assert response_data.get("success") is True, f"Ожидали success: True, а получили: '{actual_success}'" + assert "name" in response_data and response_data["name"] == "Флюоресцентный бессмертный space бургер", "Ожидали 'Флюоресцентный бессмертный space бургер', а получили другое" + assert "order" in response_data, "Отсутствуют данные заказа" + # проверяем, что номер заказа пришел и является числом + + response_ingredients_ids = [ingredient["_id"] for ingredient in response_data["order"]["ingredients"]] + + # проверяем, что хешт ингридиентов соответствуют отправленным в запросе + assert response_ingredients_ids == order_data["ingredients"], \ + f"Ингредиенты в ответе не соответствуют отправленным. Ожидали: {order_data['ingredients']}, получили: {response_ingredients_ids}" + + + + @allure.title('Проверка создания заказа неавторизованным пользователем') + def test_create_order_unauthorized(self): + + access_token = None + response_data, status_code = OrderMethods().create_order(order_data, access_token) + + # проверяем код статуса + assert status_code == 200 + # проверяем состав тела ответа + actual_success = response_data.get("success") + assert response_data.get("success") is True, f"Ожидали success: True, а получили: '{actual_success}'" + assert "name" in response_data and response_data["name"] == "Флюоресцентный бессмертный space бургер", "Ожидали 'Флюоресцентный бессмертный space бургер', а получили другое" + assert "order" in response_data, "Не вернулись данные заказа" + # проверяем, что номер заказа пришел и является числом + assert isinstance(response_data["order"]["number"], int) + + + @allure.title('Проверка создания заказа без ингредиентов') + def test_create_order_without_ingredients(self, login_user): + + # используем фикстуру для авторизации + user_data = login_user + + response_data, status_code = OrderMethods().create_order(order_data_without_ingredients, user_data['accessToken']) + + # проверяем код статуса + assert status_code == 400 + actual_success = response_data.get("success") + # проверяем, что success: false + assert response_data.get("success") is False, f"Ожидали success: False, а получили: '{actual_success}'" + # проверяем корректность сообщения об ошибке + expected_message = "Ingredient ids must be provided" + actual_message = response_data.get("message") + assert actual_message == expected_message, f"Ожидали сообщение: '{expected_message}', а получили: '{actual_message}'" + + + @allure.title('Проверка создания заказа с неверным хешем ингредиентов') + def test_create_order_incorrect_ingredients_hash(self, login_user): + + user_data = login_user + + response_data, status_code = OrderMethods().create_order(order_data_incorrect_ingredints_hash, user_data['accessToken']) + + assert status_code == 500 + + + @allure.title('Проверка получения списка заказов авторизованным пользователем') + def test_get_orders_list_authorized(self, login_user): + + user_data = login_user + + response_data, status_code = OrderMethods().get_orders_list(user_data['accessToken']) + + assert status_code == 200 + actual_success = response_data.get("success") + assert response_data.get("success") is True, f"Ожидали success: False, а получили: '{actual_success}'" + assert "orders" in response_data, "Отсутствует список заказов" + assert "total" in response_data, "Отсутствует общее количество заказов" + assert "totalToday" in response_data, "Отсутствует количество заказов за сегодня" + + + @allure.title('Проверка получения списка заказов авторизованным пользователем') + def test_get_orders_list_authorized(self): + + access_token = None + + response_data, status_code = OrderMethods().get_orders_list(access_token) + + assert status_code == 401 + actual_success = response_data.get("success") + # проверяем, что success: false + assert response_data.get("success") is False, f"Ожидали success: False, а получили: '{actual_success}'" + # проверяем корректность сообщения об ошибке + expected_message = "You should be authorised" + actual_message = response_data.get("message") + assert actual_message == expected_message, f"Ожидали сообщение: '{expected_message}', а получили: '{actual_message}'" + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/tests_user/__init__.py b/tests/tests_user/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/tests_user/test_user_create.py b/tests/tests_user/test_user_create.py new file mode 100644 index 0000000..d169eb7 --- /dev/null +++ b/tests/tests_user/test_user_create.py @@ -0,0 +1,82 @@ +import pytest +import allure +from methods.user.user_create_methods import UserCreateMethods +from data import existing_user_data, user_data_no_password, user_data_no_name, user_data_no_email + +@allure.suite('Проверки на создание пользователя') +class TestUserCreate: + + @allure.title('Проверка регистрации пользователя') + def test_create_user(self, create_delete_user): + + user_data = create_delete_user + + status = user_data.get('status_code', 200) + assert status == 200, f"Ожидался код статуса 200, а получили {status}" + # проверяем, что в ответе пришел словарь + assert isinstance(user_data, dict), f"В ответе должен прийти словарь, а получили {type(user_data)}" + assert 'accessToken' in user_data, "В ответе отсутствует accessToken" + assert 'refreshToken' in user_data, "В ответе отсутствует refreshToken" + assert 'user' in user_data, "В ответе отсутствуют данные пользователя" + assert 'name' in user_data['user'], "В ответе отсутствует name" + assert 'email' in user_data['user'], "В ответе отсутствует email" + + + @allure.title('Проверка невозможности зарегистрировать уже существующего пользователя') + # передаем данные существующего пользователя в фикстуру + @pytest.mark.parametrize('create_delete_user', [existing_user_data], indirect=True) + + def test_cant_create_duplicate_user(self, create_delete_user): + + # создаем первого пользователя + create_delete_user + + # пытаемся создать пользователя с теми же данными + second_user = UserCreateMethods().create_new_user_and_return_data(existing_user_data) + + status = second_user.get('status_code', 403) + # проверяем код статуса + assert status == 403, f"Ожидался код статуса 403, а получили {status}" + # проверяем корректность сообщения об ошибке + expected_message = "User already exists" + actual_message = second_user.get("message") + assert actual_message == expected_message, f"Ожидали сообщение: '{expected_message}', а получили: '{actual_message}'" + # проверяем что success: false + actual_success = second_user.get("success") + assert second_user.get("success") is False, f"Ожидали success: False, а получили: '{actual_success}'" + + + @allure.title('Проверка создания пользователя без обязательного поля') + # параметризация с данными без каждого обязательного поля + @pytest.mark.parametrize("user_data", [ + user_data_no_password, + user_data_no_name, + user_data_no_email + ]) + def test_cant_create_user_without_required_fields(self, user_data): + + # создаем пользователей, не указывая обязательное поле + response = UserCreateMethods().create_new_user_and_return_data(user_data) + + try: + status = response.get('status_code', 403) + # проверяем код статуса + assert status == 403, f"Ожидался код статуса 403, а получили {status}" + # проверяем корректность сообщения об ошибке + expected_message = "Email, password and name are required fields" + actual_message = response.get("message") + assert actual_message == expected_message, f"Ожидали сообщение: '{expected_message}', а получили: '{actual_message}'" + # проверяем что success: false + actual_success = response.get("success") + assert response.get("success") is False, f"Ожидали success: False, а получили: '{actual_success}'" + + # подчистка: если произошла ошибка и пользователь создался, удаляем пользователя + finally: + if status != 403 and 'accessToken' in response and response['accessToken']: + UserCreateMethods().delete_user(response['accessToken']) + + + + + + diff --git a/tests/tests_user/test_user_edit.py b/tests/tests_user/test_user_edit.py new file mode 100644 index 0000000..66fff1e --- /dev/null +++ b/tests/tests_user/test_user_edit.py @@ -0,0 +1,78 @@ +import pytest +import allure +from methods.user.user_edit_methods import UserEditMethods +from data import user_edited_name, user_edited_email, user_edited_password + +@allure.suite('Проверки на редактирование данных пользователя') +class TestUserEdit: + + @allure.title('Редактирование данных авторизованным пользователем') + + # параметризация для проверки изменения всех трех полей + @pytest.mark.parametrize("edited_data", [ + user_edited_name, + user_edited_email, + user_edited_password + ]) + + def test_authorized_user_data_edit(self, login_user, edited_data): + + # используем фикстуру для авторизации + user_data = login_user + + response_data, status_code = UserEditMethods().user_edit(edited_data, user_data['accessToken']) + + # проверки при изменении пароля: + if "password" in edited_data: + + assert response_data['user']['email'] == user_data['user']['email'], "Значение в поле почты должно было остаться без изменений" + assert response_data['user']['name'] == user_data['user']['name'], "Значение в поле имени должно было остаться без изменений" + status = response_data.get('status_code', 200) + assert status == 200, f"Ожидали статус 200, а получили '{status}'" + assert response_data['success'] is True + + # проверки при изменении имейла: + elif "email" in edited_data: + assert response_data['user']['email'] == edited_data['email'], "Значение в поле почты должно было измениться" + assert response_data['user']['name'] == user_data['user']['name'], "Значение в поле имени должно было остаться без изменений" + status = response_data.get('status_code', 200) + assert status == 200, f"Ожидали статус 200, а получили '{status}'" + assert response_data['success'] is True + + # проверки при изменении имени: + elif "name" in edited_data: + assert response_data['user']['name'] == edited_data['name'], "Значение в поле имени должно было измениться" + assert response_data['user']['email'] == user_data['user']['email'], "Значение в поле имени должно было остаться без изменений" + status = response_data.get('status_code', 200) + assert status == 200, f"Ожидали статус 200, а получили '{status}'" + assert response_data['success'] is True + + + + @allure.title('Редактирование данных неавторизованным пользователем') + + # параметризация для проверки изменения всех трех полей + @pytest.mark.parametrize("edited_data", [ + user_edited_name, + user_edited_email, + user_edited_password + ]) + + def test_unauthorized_user_data_edit(self, edited_data): + + # авторизуемся, не передав токен + response_data, status_code = UserEditMethods().user_edit(edited_data, access_token=None) + + # проверяем код статуса + status = response_data.get('status_code', 200) + assert status == 200, f"Ожидали статус 200, а получили '{status}'" + + # проверяем сообщение об ошибке + expected_message = "You should be authorised" + actual_message = response_data.get("message") + assert actual_message == expected_message, f"Ожидали сообщение: '{expected_message}', а получили: '{actual_message}'" + # проверяем, что success: false + actual_success = response_data.get("success") + assert response_data.get("success") is False, f"Ожидали success: False, а получили: '{actual_success}'" + + diff --git a/tests/tests_user/test_user_login.py b/tests/tests_user/test_user_login.py new file mode 100644 index 0000000..5c6ab22 --- /dev/null +++ b/tests/tests_user/test_user_login.py @@ -0,0 +1,41 @@ +import pytest +import allure +from methods.user.user_login_methods import UserLoginMethods +from data import user_login_data_wrong_login, user_login_data_wrong_password + + + +@allure.suite('Проверки авторизации пользователя') +class TestUserLogin: + + @allure.title("Проверка успешной авторизации") + def test_successful_login(self, login_user): + + # используем фикстуру для логина + login_data = login_user + + assert login_data['status_code'] == 200, f"Ожидался код статуса 200" + assert login_data['success'] is True + assert 'accessToken' in login_data + assert 'refreshToken' in login_data + assert 'user' in login_data + + + @allure.title("Проверка невозможности авторизоваться с неверным паролем/логином ") + @pytest.mark.parametrize("user_data", [ + user_login_data_wrong_login, + user_login_data_wrong_password + ]) + def test_login_with_rong_creds(self, user_data): + + response_data, status_code = UserLoginMethods().user_login(user_data) + + assert status_code == 401, f"Ожидался код статуса 401, а получили {status_code}" + assert response_data.get('success') is False, "Ожидали success: False" + + expected_message = "email or password are incorrect" + actual_message = response_data.get("message") + assert actual_message == expected_message, f"Ожидали сообщение: '{expected_message}', а получили: '{actual_message}'" + + + \ No newline at end of file diff --git a/urls.py b/urls.py new file mode 100644 index 0000000..8595492 --- /dev/null +++ b/urls.py @@ -0,0 +1,10 @@ +REGISTER_URL = "https://stellarburgers.education-services.ru/api/auth/register" + +USER_URL = "https://stellarburgers.education-services.ru/api/auth/user" + +LOGIN_URL = "https://stellarburgers.education-services.ru/api/auth/login" + +LOGOUT_URL = "https://stellarburgers.education-services.ru/api/auth/logout" + +ORDERS_URL = "https://stellarburgers.education-services.ru/api/orders" + From f5a2b1c609716060230b925b1fc5a8a2762b1c1d Mon Sep 17 00:00:00 2001 From: Polina Spiridonova Date: Sun, 15 Mar 2026 22:44:52 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=20?= =?UTF-8?q?=D0=BF=D1=83=D1=81=D1=82=D0=BE=D0=B9=20=D0=BB=D0=B8=D1=88=D0=BD?= =?UTF-8?q?=D0=B8=D0=B9=20=D1=84=D0=B0=D0=B9=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/tests_order/test_get_orders_list.py | 0 tests/tests_order/{test_order_create.py => test_order.py} | 0 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 tests/tests_order/test_get_orders_list.py rename tests/tests_order/{test_order_create.py => test_order.py} (100%) diff --git a/tests/tests_order/test_get_orders_list.py b/tests/tests_order/test_get_orders_list.py deleted file mode 100644 index e69de29..0000000 diff --git a/tests/tests_order/test_order_create.py b/tests/tests_order/test_order.py similarity index 100% rename from tests/tests_order/test_order_create.py rename to tests/tests_order/test_order.py