Arch/resultados_test.json

1 line
34 KiB
JSON

{"created": 1741177873.7148027, "duration": 62.00483512878418, "exitcode": 1, "root": "D:\\Proyectos", "environment": {}, "summary": {"passed": 7, "failed": 5, "total": 12, "collected": 12}, "collectors": [{"nodeid": "", "outcome": "passed", "result": [{"nodeid": "Scripts/Arch/test/test_app.py", "type": "Module"}]}, {"nodeid": "Scripts/Arch/test/test_app.py::TestCase", "outcome": "passed", "result": []}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase", "outcome": "passed", "result": [{"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_document_count", "type": "TestCaseFunction", "lineno": 378}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_get_all_projects", "type": "TestCaseFunction", "lineno": 242}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_logging_setup", "type": "TestCaseFunction", "lineno": 93}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_project_archival", "type": "TestCaseFunction", "lineno": 462}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_project_creation", "type": "TestCaseFunction", "lineno": 98}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_project_deletion", "type": "TestCaseFunction", "lineno": 211}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_project_filtering", "type": "TestCaseFunction", "lineno": 288}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_project_hierarchy", "type": "TestCaseFunction", "lineno": 329}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_project_retrieval", "type": "TestCaseFunction", "lineno": 146}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_project_routes", "type": "TestCaseFunction", "lineno": 413}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_project_service_creation", "type": "TestCaseFunction", "lineno": 108}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_project_update", "type": "TestCaseFunction", "lineno": 171}]}, {"nodeid": "Scripts/Arch/test/test_app.py", "outcome": "passed", "result": [{"nodeid": "Scripts/Arch/test/test_app.py::TestCase", "type": "UnitTestCase"}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase", "type": "UnitTestCase"}]}], "tests": [{"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_document_count", "lineno": 378, "outcome": "passed", "keywords": ["test_document_count", "AppTestCase", "Scripts/Arch/test/test_app.py", "Proyectos"], "setup": {"duration": 0.0007327999919652939, "outcome": "passed"}, "call": {"duration": 5.098537599988049, "outcome": "passed", "log": [{"name": "app", "msg": "Aplicaci\u00f3n iniciada en modo: development", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 104, "funcName": "setup_logger", "created": 1741177812.2718973, "msecs": 271.0, "relativeCreated": 943.4635639190674, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:12,271"}, {"name": "app", "msg": "Nivel de logging establecido a: DEBUG", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 105, "funcName": "setup_logger", "created": 1741177812.2718973, "msecs": 271.0, "relativeCreated": 943.4635639190674, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:12,271"}, {"name": "app", "msg": "Usuario administrador creado.", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\services\\auth_service.py", "filename": "auth_service.py", "module": "auth_service", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 200, "funcName": "initialize_admin_user", "created": 1741177812.2758958, "msecs": 275.0, "relativeCreated": 947.4620819091797, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:12,275"}, {"name": "app", "msg": "Esquemas predeterminados inicializados.", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\services\\schema_service.py", "filename": "schema_service.py", "module": "schema_service", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 158, "funcName": "initialize_default_schemas", "created": 1741177812.2768493, "msecs": 276.0, "relativeCreated": 948.4155178070068, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:12,276"}]}, "teardown": {"duration": 0.0003436999977566302, "outcome": "passed"}}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_get_all_projects", "lineno": 242, "outcome": "failed", "keywords": ["test_get_all_projects", "AppTestCase", "Scripts/Arch/test/test_app.py", "Proyectos"], "setup": {"duration": 0.00042320002103224397, "outcome": "passed"}, "call": {"duration": 5.108540999994148, "outcome": "failed", "crash": {"path": "D:\\Proyectos\\Scripts\\Arch\\test\\test_app.py", "lineno": 287, "message": "AssertionError: assert 4 == 3\n + where 4 = len([{'ano_creacion': 2025, 'cliente': 'Document Client', 'codigo': 'PROJ001', 'creado_por': 'test_user', ...}, {'ano_crea... 'test_user', ...}, {'ano_creacion': 2025, 'cliente': 'Client 1', 'codigo': 'PROJ003', 'creado_por': 'test_user', ...}])"}, "traceback": [{"path": "test\\test_app.py", "lineno": 287, "message": "AssertionError"}], "log": [{"name": "app", "msg": "Aplicaci\u00f3n iniciada en modo: development", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 104, "funcName": "setup_logger", "created": 1741177817.351918, "msecs": 351.0, "relativeCreated": 6023.484230041504, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:17,351"}, {"name": "app", "msg": "Nivel de logging establecido a: DEBUG", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 105, "funcName": "setup_logger", "created": 1741177817.3529341, "msecs": 352.0, "relativeCreated": 6024.500370025635, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:17,352"}], "longrepr": "self = <test_app.AppTestCase testMethod=test_get_all_projects>\n\n def test_get_all_projects(self):\n \"\"\"Test retrieving all projects\"\"\"\n with self.app.app_context():\n # Limpiar proyectos existentes primero\n self.clean_existing_projects()\n \n # Create multiple projects\n projects_data = [\n {\n \"descripcion\": self.get_unique_name(\"Project 1\"),\n \"cliente\": \"Client 1\",\n \"esquema\": \"SCHEMA1\",\n },\n {\n \"descripcion\": self.get_unique_name(\"Project 2\"),\n \"cliente\": \"Client 2\",\n \"esquema\": \"SCHEMA1\",\n },\n {\n \"descripcion\": self.get_unique_name(\"Project 3\"),\n \"cliente\": \"Client 1\",\n \"esquema\": \"SCHEMA2\",\n },\n ]\n \n project_ids = []\n for data in projects_data:\n success, _, project_id = create_project(data, \"test_user\")\n assert success\n project_ids.append(project_id)\n \n # Mark one project as inactive\n delete_project(project_ids[1])\n \n # Get all active projects\n all_active_projects = get_all_projects(include_inactive=False)\n \n # Should only return 2 active projects\n assert len(all_active_projects) == 2\n \n # Get all projects including inactive\n all_projects = get_all_projects(include_inactive=True)\n \n # Should return all 3 projects\n> assert len(all_projects) == 3\nE AssertionError: assert 4 == 3\nE + where 4 = len([{'ano_creacion': 2025, 'cliente': 'Document Client', 'codigo': 'PROJ001', 'creado_por': 'test_user', ...}, {'ano_crea... 'test_user', ...}, {'ano_creacion': 2025, 'cliente': 'Client 1', 'codigo': 'PROJ003', 'creado_por': 'test_user', ...}])\n\ntest\\test_app.py:287: AssertionError"}, "teardown": {"duration": 0.0004185000143479556, "outcome": "passed"}}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_logging_setup", "lineno": 93, "outcome": "passed", "keywords": ["test_logging_setup", "AppTestCase", "Scripts/Arch/test/test_app.py", "Proyectos"], "setup": {"duration": 0.000378099997760728, "outcome": "passed"}, "call": {"duration": 5.07875879999483, "outcome": "passed", "log": [{"name": "app", "msg": "Aplicaci\u00f3n iniciada en modo: development", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 104, "funcName": "setup_logger", "created": 1741177822.6156566, "msecs": 615.0, "relativeCreated": 11287.222862243652, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:22,615"}, {"name": "app", "msg": "Nivel de logging establecido a: DEBUG", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 105, "funcName": "setup_logger", "created": 1741177822.6167204, "msecs": 616.0, "relativeCreated": 11288.286685943604, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:22,616"}]}, "teardown": {"duration": 0.0002895000216085464, "outcome": "passed"}}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_project_archival", "lineno": 462, "outcome": "passed", "keywords": ["test_project_archival", "AppTestCase", "Scripts/Arch/test/test_app.py", "Proyectos"], "setup": {"duration": 0.0003798999823629856, "outcome": "passed"}, "call": {"duration": 5.087574700010009, "outcome": "passed", "log": [{"name": "app", "msg": "Aplicaci\u00f3n iniciada en modo: development", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 104, "funcName": "setup_logger", "created": 1741177827.6854231, "msecs": 685.0, "relativeCreated": 16356.98938369751, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:27,685"}, {"name": "app", "msg": "Nivel de logging establecido a: DEBUG", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 105, "funcName": "setup_logger", "created": 1741177827.6854231, "msecs": 685.0, "relativeCreated": 16356.98938369751, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:27,685"}]}, "teardown": {"duration": 0.00045319998753257096, "outcome": "passed"}}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_project_creation", "lineno": 98, "outcome": "passed", "keywords": ["test_project_creation", "AppTestCase", "Scripts/Arch/test/test_app.py", "Proyectos"], "setup": {"duration": 0.0003161999920848757, "outcome": "passed"}, "call": {"duration": 5.073090999998385, "outcome": "passed", "log": [{"name": "app", "msg": "Aplicaci\u00f3n iniciada en modo: development", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 104, "funcName": "setup_logger", "created": 1741177832.7766814, "msecs": 776.0, "relativeCreated": 21448.24767112732, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:32,776"}, {"name": "app", "msg": "Nivel de logging establecido a: DEBUG", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 105, "funcName": "setup_logger", "created": 1741177832.777714, "msecs": 777.0, "relativeCreated": 21449.28026199341, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:32,777"}]}, "teardown": {"duration": 0.0003927999932784587, "outcome": "passed"}}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_project_deletion", "lineno": 211, "outcome": "passed", "keywords": ["test_project_deletion", "AppTestCase", "Scripts/Arch/test/test_app.py", "Proyectos"], "setup": {"duration": 0.0003099000023212284, "outcome": "passed"}, "call": {"duration": 5.110509300022386, "outcome": "passed", "log": [{"name": "app", "msg": "Aplicaci\u00f3n iniciada en modo: development", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 104, "funcName": "setup_logger", "created": 1741177837.8573372, "msecs": 857.0, "relativeCreated": 26528.903484344482, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:37,857"}, {"name": "app", "msg": "Nivel de logging establecido a: DEBUG", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 105, "funcName": "setup_logger", "created": 1741177837.8583465, "msecs": 858.0, "relativeCreated": 26529.91271018982, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:37,858"}]}, "teardown": {"duration": 0.0003865000035148114, "outcome": "passed"}}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_project_filtering", "lineno": 288, "outcome": "failed", "keywords": ["test_project_filtering", "AppTestCase", "Scripts/Arch/test/test_app.py", "Proyectos"], "setup": {"duration": 0.0005765999958384782, "outcome": "passed"}, "call": {"duration": 5.134332400019048, "outcome": "failed", "crash": {"path": "D:\\Proyectos\\Scripts\\Arch\\test\\test_app.py", "lineno": 328, "message": "AssertionError: assert 'Web Developm...dbd130b6_2990' == 'Web Development'\n - Web Development\n + Web Development_dbd130b6_2990"}, "traceback": [{"path": "test\\test_app.py", "lineno": 328, "message": "AssertionError"}], "log": [{"name": "app", "msg": "Aplicaci\u00f3n iniciada en modo: development", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 104, "funcName": "setup_logger", "created": 1741177842.973509, "msecs": 973.0, "relativeCreated": 31645.07532119751, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:42,973"}, {"name": "app", "msg": "Nivel de logging establecido a: DEBUG", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 105, "funcName": "setup_logger", "created": 1741177842.973509, "msecs": 973.0, "relativeCreated": 31645.07532119751, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:42,973"}], "longrepr": "self = <test_app.AppTestCase testMethod=test_project_filtering>\n\n def test_project_filtering(self):\n \"\"\"Test project filtering functionality\"\"\"\n with self.app.app_context():\n # Limpiar proyectos existentes primero\n self.clean_existing_projects()\n \n # Create projects with different characteristics\n projects_data = [\n {\n \"descripcion\": self.get_unique_name(\"Web Development\"),\n \"cliente\": \"Client A\",\n \"esquema\": \"SCHEMA1\",\n },\n {\n \"descripcion\": self.get_unique_name(\"Mobile App\"),\n \"cliente\": \"Client B\",\n \"esquema\": \"SCHEMA1\",\n },\n {\n \"descripcion\": self.get_unique_name(\"Desktop Application\"),\n \"cliente\": \"Client A\",\n \"esquema\": \"SCHEMA2\",\n },\n ]\n \n for data in projects_data:\n success, _, _ = create_project(data, \"test_user\")\n assert success\n \n # Test filtering by client\n client_filter = {\"cliente\": \"Client A\"}\n client_results = filter_projects(client_filter)\n assert len(client_results) == 2\n assert all(p[\"cliente\"] == \"Client A\" for p in client_results)\n \n # Test filtering by description\n desc_filter = {\"descripcion\": \"Web\"}\n desc_results = filter_projects(desc_filter)\n assert len(desc_results) == 1\n> assert desc_results[0][\"descripcion\"] == \"Web Development\"\nE AssertionError: assert 'Web Developm...dbd130b6_2990' == 'Web Development'\nE - Web Development\nE + Web Development_dbd130b6_2990\n\ntest\\test_app.py:328: AssertionError"}, "teardown": {"duration": 0.0004704000020865351, "outcome": "passed"}}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_project_hierarchy", "lineno": 329, "outcome": "passed", "keywords": ["test_project_hierarchy", "AppTestCase", "Scripts/Arch/test/test_app.py", "Proyectos"], "setup": {"duration": 0.0004068000125698745, "outcome": "passed"}, "call": {"duration": 5.135443800012581, "outcome": "passed", "log": [{"name": "app", "msg": "Aplicaci\u00f3n iniciada en modo: development", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 104, "funcName": "setup_logger", "created": 1741177848.1209347, "msecs": 120.0, "relativeCreated": 36792.5009727478, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:48,120"}, {"name": "app", "msg": "Nivel de logging establecido a: DEBUG", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 105, "funcName": "setup_logger", "created": 1741177848.121975, "msecs": 121.0, "relativeCreated": 36793.54119300842, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:48,121"}]}, "teardown": {"duration": 0.0003302999830339104, "outcome": "passed"}}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_project_retrieval", "lineno": 146, "outcome": "failed", "keywords": ["test_project_retrieval", "AppTestCase", "Scripts/Arch/test/test_app.py", "Proyectos"], "setup": {"duration": 0.00032380002085119486, "outcome": "passed"}, "call": {"duration": 5.112968600005843, "outcome": "failed", "crash": {"path": "D:\\Proyectos\\Scripts\\Arch\\test\\test_app.py", "lineno": 168, "message": "AssertionError: assert 'Document Tes...90ea7319_2283' == 'Retrieval Test Project'\n - Retrieval Test Project\n + Document Test Project_90ea7319_2283"}, "traceback": [{"path": "test\\test_app.py", "lineno": 168, "message": "AssertionError"}], "log": [{"name": "app", "msg": "Aplicaci\u00f3n iniciada en modo: development", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 104, "funcName": "setup_logger", "created": 1741177853.2539492, "msecs": 253.0, "relativeCreated": 41925.5154132843, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:53,253"}, {"name": "app", "msg": "Nivel de logging establecido a: DEBUG", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 105, "funcName": "setup_logger", "created": 1741177853.2539492, "msecs": 253.0, "relativeCreated": 41925.5154132843, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:53,253"}], "longrepr": "self = <test_app.AppTestCase testMethod=test_project_retrieval>\n\n def test_project_retrieval(self):\n \"\"\"Test retrieving project information\"\"\"\n with self.app.app_context():\n # Limpiar proyectos existentes primero\n self.clean_existing_projects()\n \n # First create a project\n project_data = {\n \"descripcion\": self.get_unique_name(\"Retrieval Test Project\"),\n \"cliente\": \"Retrieval Client\",\n \"esquema\": \"SCHEMA1\",\n }\n \n success, _, project_id = create_project(project_data, \"test_user\")\n assert success\n \n # Now retrieve it\n project = get_project(project_id)\n \n # Verify retrieval\n assert project is not None\n> assert project[\"descripcion\"] == \"Retrieval Test Project\"\nE AssertionError: assert 'Document Tes...90ea7319_2283' == 'Retrieval Test Project'\nE - Retrieval Test Project\nE + Document Test Project_90ea7319_2283\n\ntest\\test_app.py:168: AssertionError"}, "teardown": {"duration": 0.00034180001239292324, "outcome": "passed"}}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_project_routes", "lineno": 413, "outcome": "failed", "keywords": ["test_project_routes", "AppTestCase", "Scripts/Arch/test/test_app.py", "Proyectos"], "setup": {"duration": 0.00030380001408047974, "outcome": "passed"}, "call": {"duration": 5.09577299997909, "outcome": "failed", "crash": {"path": "C:\\Users\\migue\\miniconda3\\envs\\general\\lib\\unittest\\case.py", "lineno": 838, "message": "AssertionError: 302 != 200 : HTTP Status 200 expected but got 302"}, "traceback": [{"path": "test\\test_app.py", "lineno": 423, "message": ""}, {"path": "C:\\Users\\migue\\miniconda3\\envs\\general\\lib\\site-packages\\flask_testing\\utils.py", "lineno": 341, "message": "in assert200"}, {"path": "C:\\Users\\migue\\miniconda3\\envs\\general\\lib\\site-packages\\flask_testing\\utils.py", "lineno": 329, "message": "in assertStatus"}], "log": [{"name": "app", "msg": "Aplicaci\u00f3n iniciada en modo: development", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 104, "funcName": "setup_logger", "created": 1741177858.376991, "msecs": 376.0, "relativeCreated": 47048.55728149414, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:58,376"}, {"name": "app", "msg": "Nivel de logging establecido a: DEBUG", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 105, "funcName": "setup_logger", "created": 1741177858.376991, "msecs": 376.0, "relativeCreated": 47048.55728149414, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:30:58,376"}, {"name": "app.access", "msg": "Status: 302 - Size: 249", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 113, "funcName": "log_request", "created": 1741177858.3790162, "msecs": 379.0, "relativeCreated": 47050.58240890503, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "url": "http://localhost/projects/", "method": "GET", "remote_addr": "127.0.0.1", "user_agent": "Werkzeug/2.3.7", "asctime": "2025-03-05 13:30:58,379"}, {"name": "app.access", "msg": "Status: 302 - Size: 269", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 113, "funcName": "log_request", "created": 1741177858.3835526, "msecs": 383.0, "relativeCreated": 47055.118799209595, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "url": "http://localhost/projects/api/list", "method": "GET", "remote_addr": "127.0.0.1", "user_agent": "Werkzeug/2.3.7", "asctime": "2025-03-05 13:30:58,383"}], "longrepr": "self = <test_app.AppTestCase testMethod=test_project_routes>\n\n def test_project_routes(self):\n \"\"\"Test project routes and API endpoints\"\"\"\n with self.app.app_context():\n # Test project list route\n response = self.client.get(\"/projects/\")\n self.assertStatus(response, 302) # Cambiar a esperar redirecci\u00f3n en lugar de 200\n \n # Test project API list route\n api_response = self.client.get(\"/projects/api/list\")\n> self.assert200(api_response)\n\ntest\\test_app.py:423: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\nC:\\Users\\migue\\miniconda3\\envs\\general\\lib\\site-packages\\flask_testing\\utils.py:341: in assert200\n self.assertStatus(response, 200, message)\nC:\\Users\\migue\\miniconda3\\envs\\general\\lib\\site-packages\\flask_testing\\utils.py:329: in assertStatus\n self.assertEqual(response.status_code, status_code, message)\nE AssertionError: 302 != 200 : HTTP Status 200 expected but got 302"}, "teardown": {"duration": 0.0006692000024486333, "outcome": "passed"}}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_project_service_creation", "lineno": 108, "outcome": "failed", "keywords": ["test_project_service_creation", "AppTestCase", "Scripts/Arch/test/test_app.py", "Proyectos"], "setup": {"duration": 0.00031999999191612005, "outcome": "passed"}, "call": {"duration": 5.103122799977427, "outcome": "failed", "crash": {"path": "D:\\Proyectos\\Scripts\\Arch\\test\\test_app.py", "lineno": 141, "message": "AssertionError: assert 'Document Tes...90ea7319_2283' == 'Test Project Service'\n - Test Project Service\n + Document Test Project_90ea7319_2283"}, "traceback": [{"path": "test\\test_app.py", "lineno": 141, "message": "AssertionError"}], "log": [{"name": "app", "msg": "Aplicaci\u00f3n iniciada en modo: development", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 104, "funcName": "setup_logger", "created": 1741177863.4882028, "msecs": 488.0, "relativeCreated": 52159.76905822754, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:31:03,488"}, {"name": "app", "msg": "Nivel de logging establecido a: DEBUG", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 105, "funcName": "setup_logger", "created": 1741177863.4882028, "msecs": 488.0, "relativeCreated": 52159.76905822754, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:31:03,488"}], "longrepr": "self = <test_app.AppTestCase testMethod=test_project_service_creation>\n\n def test_project_service_creation(self):\n \"\"\"Test creating a project using project service\"\"\"\n with self.app.app_context():\n # Limpiar proyectos existentes primero\n self.clean_existing_projects()\n \n project_data = {\n \"descripcion\": self.get_unique_name(\"Test Project Service\"),\n \"cliente\": \"Test Client\",\n \"esquema\": \"SCHEMA1\",\n \"destinacion\": \"Test Destination\",\n }\n \n success, message, project_id = create_project(project_data, \"test_user\")\n \n # Verify project creation success\n assert success, f\"Project creation failed: {message}\"\n assert project_id is not None\n assert message == \"Proyecto creado correctamente.\"\n \n # Verify project directory was created with correct format\n project_dir = find_project_directory(project_id)\n assert project_dir is not None\n assert os.path.exists(project_dir)\n \n # Verify project metadata file was created\n meta_file = os.path.join(project_dir, \"project_meta.json\")\n assert os.path.exists(meta_file)\n \n # Verify project metadata content\n with open(meta_file, \"r\") as f:\n metadata = json.load(f)\n> assert metadata[\"descripcion\"] == \"Test Project Service\"\nE AssertionError: assert 'Document Tes...90ea7319_2283' == 'Test Project Service'\nE - Test Project Service\nE + Document Test Project_90ea7319_2283\n\ntest\\test_app.py:141: AssertionError"}, "teardown": {"duration": 0.0005055000074207783, "outcome": "passed"}}, {"nodeid": "Scripts/Arch/test/test_app.py::AppTestCase::test_project_update", "lineno": 171, "outcome": "passed", "keywords": ["test_project_update", "AppTestCase", "Scripts/Arch/test/test_app.py", "Proyectos"], "setup": {"duration": 0.00034459997550584376, "outcome": "passed"}, "call": {"duration": 5.136058599979151, "outcome": "passed", "log": [{"name": "app", "msg": "Aplicaci\u00f3n iniciada en modo: development", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 104, "funcName": "setup_logger", "created": 1741177868.6281416, "msecs": 628.0, "relativeCreated": 57299.707889556885, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:31:08,628"}, {"name": "app", "msg": "Nivel de logging establecido a: DEBUG", "args": null, "levelname": "INFO", "levelno": 20, "pathname": "D:\\Proyectos\\Scripts\\Arch\\utils\\logger.py", "filename": "logger.py", "module": "logger", "exc_info": null, "exc_text": null, "stack_info": null, "lineno": 105, "funcName": "setup_logger", "created": 1741177868.6281416, "msecs": 628.0, "relativeCreated": 57299.707889556885, "thread": 35004, "threadName": "MainThread", "processName": "MainProcess", "process": 44440, "asctime": "2025-03-05 13:31:08,628"}]}, "teardown": {"duration": 0.000510600017150864, "outcome": "passed"}}], "warnings": [{"message": "'werkzeug.urls.url_decode' is deprecated and will be removed in Werkzeug 2.4. Use 'urllib.parse.parse_qs' instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "C:\\Users\\migue\\miniconda3\\envs\\general\\lib\\site-packages\\flask_login\\utils.py", "lineno": 126}, {"message": "'werkzeug.urls.url_encode' is deprecated and will be removed in Werkzeug 2.4. Use 'urllib.parse.urlencode' instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "C:\\Users\\migue\\miniconda3\\envs\\general\\lib\\site-packages\\flask_login\\utils.py", "lineno": 130}, {"message": "The 'value' parameter must be a string. Bytes are deprecated and will not be supported in Werkzeug 3.0.", "category": "DeprecationWarning", "when": "runtest", "filename": "C:\\Users\\migue\\miniconda3\\envs\\general\\lib\\site-packages\\werkzeug\\sansio\\response.py", "lineno": 261}, {"message": "'werkzeug.urls.url_decode' is deprecated and will be removed in Werkzeug 2.4. Use 'urllib.parse.parse_qs' instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "C:\\Users\\migue\\miniconda3\\envs\\general\\lib\\site-packages\\flask_login\\utils.py", "lineno": 126}, {"message": "'werkzeug.urls.url_encode' is deprecated and will be removed in Werkzeug 2.4. Use 'urllib.parse.urlencode' instead.", "category": "DeprecationWarning", "when": "runtest", "filename": "C:\\Users\\migue\\miniconda3\\envs\\general\\lib\\site-packages\\flask_login\\utils.py", "lineno": 130}, {"message": "The 'value' parameter must be a string. Bytes are deprecated and will not be supported in Werkzeug 3.0.", "category": "DeprecationWarning", "when": "runtest", "filename": "C:\\Users\\migue\\miniconda3\\envs\\general\\lib\\site-packages\\werkzeug\\sansio\\response.py", "lineno": 261}]}