{"uid":"f4b180f5b22b1112","name":"Pass request rejection prevents activation even with second confirmation","fullName":"Pass requests: Pass request rejection prevents activation even with second confirmation","historyId":"d5214a811b3d7cd98d122456dbf59131","time":{"start":1777975278503,"stop":1777975278719,"duration":216},"status":"broken","statusMessage":"RuntimeError: Auth HTTP 401: {\"type\":\"Client Error\",\"status\":401,\"message\":\"Unauthorized\",\"description\":\"Bad credentials\",\"data\":{},\"stack\":\"Error: Unauthorized\\n at /usr/src/app/dist/infrastructure/keycloak/keycloak.service.js:105:19\\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\"}\n","statusTrace":" File \"C:\\Users\\Степаан\\AppData\\Local\\Python\\pythoncore-3.14-64\\Lib\\site-packages\\behave\\model.py\", line 1991, in run\n match.run(runner.context)\n ~~~~~~~~~^^^^^^^^^^^^^^^^\n File \"C:\\Users\\Степаан\\AppData\\Local\\Python\\pythoncore-3.14-64\\Lib\\site-packages\\behave\\matchers.py\", line 105, in run\n self.func(context, *args, **kwargs)\n ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"Pass_request\\features\\steps\\pass_request_approval_steps.py\", line 13, in step_prepare_nested_places_and_employees\n td.prepare_pass_request_approval_flow()\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^\n File \"C:\\Users\\Степаан\\PycharmProjects\\work\\Pass_request\\testdata\\pass_request_test_data.py\", line 727, in prepare_pass_request_approval_flow\n new_token, new_emp = self.create_new_employee_with_pass_requests_permissions()\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^\n File \"C:\\Users\\Степаан\\PycharmProjects\\work\\Pass_request\\testdata\\pass_request_test_data.py\", line 674, in create_new_employee_with_pass_requests_permissions\n new_token = get_access_token(username=username, password=password, grant_type=\"password\")\n File \"C:\\Users\\Степаан\\PycharmProjects\\work\\worklib\\auth_as_employer.py\", line 73, in get_access_token\n raise RuntimeError(f\"Auth HTTP {e.code}: {body}\") from e\n","flaky":false,"newFailed":false,"newBroken":false,"newPassed":false,"retriesCount":0,"retriesStatusChange":false,"beforeStages":[],"testStage":{"status":"broken","statusMessage":"RuntimeError: Auth HTTP 401: {\"type\":\"Client Error\",\"status\":401,\"message\":\"Unauthorized\",\"description\":\"Bad credentials\",\"data\":{},\"stack\":\"Error: Unauthorized\\n at /usr/src/app/dist/infrastructure/keycloak/keycloak.service.js:105:19\\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\"}\n","statusTrace":" File \"C:\\Users\\Степаан\\AppData\\Local\\Python\\pythoncore-3.14-64\\Lib\\site-packages\\behave\\model.py\", line 1991, in run\n match.run(runner.context)\n ~~~~~~~~~^^^^^^^^^^^^^^^^\n File \"C:\\Users\\Степаан\\AppData\\Local\\Python\\pythoncore-3.14-64\\Lib\\site-packages\\behave\\matchers.py\", line 105, in run\n self.func(context, *args, **kwargs)\n ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"Pass_request\\features\\steps\\pass_request_approval_steps.py\", line 13, in step_prepare_nested_places_and_employees\n td.prepare_pass_request_approval_flow()\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^\n File \"C:\\Users\\Степаан\\PycharmProjects\\work\\Pass_request\\testdata\\pass_request_test_data.py\", line 727, in prepare_pass_request_approval_flow\n new_token, new_emp = self.create_new_employee_with_pass_requests_permissions()\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^\n File \"C:\\Users\\Степаан\\PycharmProjects\\work\\Pass_request\\testdata\\pass_request_test_data.py\", line 674, in create_new_employee_with_pass_requests_permissions\n new_token = get_access_token(username=username, password=password, grant_type=\"password\")\n File \"C:\\Users\\Степаан\\PycharmProjects\\work\\worklib\\auth_as_employer.py\", line 73, in get_access_token\n raise RuntimeError(f\"Auth HTTP {e.code}: {body}\") from e\n","steps":[{"name":"When get access token","time":{"start":1777975278505,"stop":1777975278657,"duration":152},"status":"passed","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"And prepare nested places and employees for pass request approval flow","time":{"start":1777975278657,"stop":1777975278715,"duration":58},"status":"broken","statusMessage":"RuntimeError: Auth HTTP 401: {\"type\":\"Client Error\",\"status\":401,\"message\":\"Unauthorized\",\"description\":\"Bad credentials\",\"data\":{},\"stack\":\"Error: Unauthorized\\n at /usr/src/app/dist/infrastructure/keycloak/keycloak.service.js:105:19\\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\"}\n","statusTrace":" File \"C:\\Users\\Степаан\\AppData\\Local\\Python\\pythoncore-3.14-64\\Lib\\site-packages\\behave\\model.py\", line 1991, in run\n match.run(runner.context)\n ~~~~~~~~~^^^^^^^^^^^^^^^^\n File \"C:\\Users\\Степаан\\AppData\\Local\\Python\\pythoncore-3.14-64\\Lib\\site-packages\\behave\\matchers.py\", line 105, in run\n self.func(context, *args, **kwargs)\n ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"Pass_request\\features\\steps\\pass_request_approval_steps.py\", line 13, in step_prepare_nested_places_and_employees\n td.prepare_pass_request_approval_flow()\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^\n File \"C:\\Users\\Степаан\\PycharmProjects\\work\\Pass_request\\testdata\\pass_request_test_data.py\", line 727, in prepare_pass_request_approval_flow\n new_token, new_emp = self.create_new_employee_with_pass_requests_permissions()\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^\n File \"C:\\Users\\Степаан\\PycharmProjects\\work\\Pass_request\\testdata\\pass_request_test_data.py\", line 674, in create_new_employee_with_pass_requests_permissions\n new_token = get_access_token(username=username, password=password, grant_type=\"password\")\n File \"C:\\Users\\Степаан\\PycharmProjects\\work\\worklib\\auth_as_employer.py\", line 73, in get_access_token\n raise RuntimeError(f\"Auth HTTP {e.code}: {body}\") from e\n","steps":[{"name":"GraphQL: createPlaceMultiple (passreq-place-1, place_type=flat)","time":{"start":1777975278658,"stop":1777975278659,"duration":1},"status":"passed","steps":[],"attachments":[{"uid":"fe545309963d94e3","name":"createPlaceMultiple response","source":"fe545309963d94e3.json","type":"application/json","size":136}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true},{"name":"GraphQL: createPlaceMultiple (passreq-place-2, place_type=flat)","time":{"start":1777975278660,"stop":1777975278661,"duration":1},"status":"passed","steps":[],"attachments":[{"uid":"d26be39ac82b2210","name":"createPlaceMultiple response","source":"d26be39ac82b2210.json","type":"application/json","size":136}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true},{"name":"GraphQL: createPlaceMultiple (passreq-place-3, place_type=flat)","time":{"start":1777975278661,"stop":1777975278662,"duration":1},"status":"passed","steps":[],"attachments":[{"uid":"f32e6fbba396126d","name":"createPlaceMultiple response","source":"f32e6fbba396126d.json","type":"application/json","size":136}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true},{"name":"GraphQL: createEntrance(RegisterEntranceDTO)","time":{"start":1777975278662,"stop":1777975278663,"duration":1},"status":"passed","steps":[],"attachments":[{"uid":"acbbc1d1a95f2dba","name":"createEntrance response","source":"acbbc1d1a95f2dba.json","type":"application/json","size":16}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true},{"name":"GraphQL: createUser (place member)","time":{"start":1777975278663,"stop":1777975278664,"duration":1},"status":"passed","steps":[],"attachments":[{"uid":"6829474164c1f8ca","name":"createUser(generic) response","source":"6829474164c1f8ca.json","type":"application/json","size":57}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true},{"name":"GraphQL: addUserToPlace (AddUserToPlaceDTO/dto-input, place_id=place_de1169e84701)","time":{"start":1777975278664,"stop":1777975278664,"duration":0},"status":"passed","steps":[],"attachments":[{"uid":"d6da92f05c7085d3","name":"addUserToPlace(generic) response","source":"d6da92f05c7085d3.json","type":"application/json","size":130}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true},{"name":"GraphQL: createUser (place member)","time":{"start":1777975278665,"stop":1777975278666,"duration":1},"status":"passed","steps":[],"attachments":[{"uid":"45b6409c9ab4dc4","name":"createUser(generic) response","source":"45b6409c9ab4dc4.json","type":"application/json","size":57}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true},{"name":"GraphQL: addUserToPlace (AddUserToPlaceDTO/dto-input, place_id=place_cc406a1b3640)","time":{"start":1777975278666,"stop":1777975278667,"duration":1},"status":"passed","steps":[],"attachments":[{"uid":"e86b72d52ce1dbf7","name":"addUserToPlace(generic) response","source":"e86b72d52ce1dbf7.json","type":"application/json","size":130}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true},{"name":"GraphQL: createUser (place member)","time":{"start":1777975278667,"stop":1777975278667,"duration":0},"status":"passed","steps":[],"attachments":[{"uid":"4a3624287376af5f","name":"createUser(generic) response","source":"4a3624287376af5f.json","type":"application/json","size":57}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true},{"name":"GraphQL: addUserToPlace (AddUserToPlaceDTO/dto-input, place_id=place_457c24327b0b)","time":{"start":1777975278667,"stop":1777975278668,"duration":1},"status":"passed","steps":[],"attachments":[{"uid":"f18929841849ece8","name":"addUserToPlace(generic) response","source":"f18929841849ece8.json","type":"application/json","size":130}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true},{"name":"GraphQL: createUser (new approver)","time":{"start":1777975278668,"stop":1777975278669,"duration":1},"status":"passed","steps":[],"attachments":[{"uid":"9ef2bf47e1693ea6","name":"createUser(new approver) response","source":"9ef2bf47e1693ea6.json","type":"application/json","size":57}],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":1,"attachmentStep":false,"stepsCount":0,"hasContent":true},{"name":"Auth: get access_token for new approver","time":{"start":1777975278669,"stop":1777975278706,"duration":37},"status":"broken","statusMessage":"RuntimeError: Auth HTTP 401: {\"type\":\"Client Error\",\"status\":401,\"message\":\"Unauthorized\",\"description\":\"Bad credentials\",\"data\":{},\"stack\":\"Error: Unauthorized\\n at /usr/src/app/dist/infrastructure/keycloak/keycloak.service.js:105:19\\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\"}\n","statusTrace":" File \"C:\\Users\\Степаан\\PycharmProjects\\work\\Pass_request\\testdata\\pass_request_test_data.py\", line 674, in create_new_employee_with_pass_requests_permissions\n new_token = get_access_token(username=username, password=password, grant_type=\"password\")\n File \"C:\\Users\\Степаан\\PycharmProjects\\work\\worklib\\auth_as_employer.py\", line 73, in get_access_token\n raise RuntimeError(f\"Auth HTTP {e.code}: {body}\") from e\n","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":true,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":true}],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":11,"attachmentStep":false,"stepsCount":12,"hasContent":true},{"name":"Cleanup: _cleanup_delete_user","time":{"start":1777975278715,"stop":1777975278715,"duration":0},"status":"passed","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"Cleanup: _cleanup_delete_user","time":{"start":1777975278715,"stop":1777975278715,"duration":0},"status":"passed","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"Cleanup: _cleanup_delete_user","time":{"start":1777975278715,"stop":1777975278716,"duration":1},"status":"passed","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"Cleanup: _cleanup_delete_user","time":{"start":1777975278716,"stop":1777975278716,"duration":0},"status":"passed","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"Cleanup: _cleanup_delete_place","time":{"start":1777975278716,"stop":1777975278716,"duration":0},"status":"passed","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"Cleanup: _cleanup_delete_place","time":{"start":1777975278716,"stop":1777975278716,"duration":0},"status":"passed","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"Cleanup: _cleanup_delete_place","time":{"start":1777975278716,"stop":1777975278716,"duration":0},"status":"passed","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"And create pass in place #3 for approval flow","time":{"start":1777975278719,"stop":1777975278719,"duration":0},"status":"skipped","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"When query passRequests by created pass_id with my token","time":{"start":1777975278719,"stop":1777975278719,"duration":0},"status":"skipped","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"Then pass request status is pending","time":{"start":1777975278719,"stop":1777975278719,"duration":0},"status":"skipped","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"When reject pass request with my token","time":{"start":1777975278719,"stop":1777975278719,"duration":0},"status":"skipped","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"And re-query passRequests by created pass_id with my token","time":{"start":1777975278719,"stop":1777975278719,"duration":0},"status":"skipped","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"Then pass request status is not active","time":{"start":1777975278719,"stop":1777975278719,"duration":0},"status":"skipped","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"When approve pass request with new employee token","time":{"start":1777975278719,"stop":1777975278719,"duration":0},"status":"skipped","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"And query passRequests by created pass_id with new employee token","time":{"start":1777975278719,"stop":1777975278719,"duration":0},"status":"skipped","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false},{"name":"Then pass request status is not active","time":{"start":1777975278719,"stop":1777975278719,"duration":0},"status":"skipped","steps":[],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":0,"attachmentStep":false,"stepsCount":0,"hasContent":false}],"attachments":[],"parameters":[],"shouldDisplayMessage":false,"attachmentsCount":11,"attachmentStep":false,"stepsCount":30,"hasContent":true},"afterStages":[],"labels":[{"name":"severity","value":"normal"},{"name":"feature","value":"Pass requests"},{"name":"framework","value":"behave"},{"name":"language","value":"cpython3"},{"name":"resultFormat","value":"allure2"}],"parameters":[],"links":[],"hidden":true,"retry":true,"extra":{"categories":[],"tags":[]},"source":"f4b180f5b22b1112.json","parameterValues":[]}