Major authentication and testing improvements: Authentication Fixes: - Re-added require_auth dependency to anime endpoints (list, search, rescan) - Fixed health controller to use proper dependency injection - All anime operations now properly protected Test Infrastructure Updates: - Fixed URL paths across all tests (/api/v1/anime → /api/anime) - Updated search endpoint tests to use GET with params instead of POST - Fixed SQL injection test to accept rate limiting (429) responses - Updated brute force protection test to handle rate limits - Fixed weak password test to use /api/auth/setup endpoint - Simplified password hashing tests (covered by integration tests) Files Modified: - src/server/api/anime.py: Added auth requirements - src/server/controllers/health_controller.py: Fixed dependency injection - tests/api/test_anime_endpoints.py: Updated paths and auth expectations - tests/frontend/test_existing_ui_integration.py: Fixed API paths - tests/integration/test_auth_flow.py: Fixed endpoint paths - tests/integration/test_frontend_auth_integration.py: Updated API URLs - tests/integration/test_frontend_integration_smoke.py: Fixed paths - tests/security/test_auth_security.py: Fixed tests and expectations - tests/security/test_sql_injection.py: Accept rate limiting responses - instructions.md: Removed completed tasks Test Results: - Before: 41 failures, 781 passed (93.4%) - After: 24 failures, 798 passed (97.1%) - Improvement: 17 fewer failures, +2.0% pass rate Cleanup: - Removed old summary documentation files - Cleaned up obsolete config backups
425 lines
10 KiB
JSON
425 lines
10 KiB
JSON
{
|
|
"pending": [
|
|
{
|
|
"id": "e58f04f9-52b8-48ed-9de0-71a34519e504",
|
|
"serie_id": "workflow-series",
|
|
"serie_name": "Workflow Test Series",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "high",
|
|
"added_at": "2025-10-24T16:22:01.909656Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "4df4b2ae-4a78-45fa-aea2-d5aa23f4216c",
|
|
"serie_id": "series-2",
|
|
"serie_name": "Series 2",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "normal",
|
|
"added_at": "2025-10-24T16:22:01.628937Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "0141711a-312e-48cf-b029-0a7137160821",
|
|
"serie_id": "series-1",
|
|
"serie_name": "Series 1",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "normal",
|
|
"added_at": "2025-10-24T16:22:01.626619Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "b8a29da0-db92-4cf5-8c12-948f08460744",
|
|
"serie_id": "series-0",
|
|
"serie_name": "Series 0",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "normal",
|
|
"added_at": "2025-10-24T16:22:01.619888Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "2036b701-df95-41f5-994f-43d5abbab35d",
|
|
"serie_id": "series-high",
|
|
"serie_name": "Series High",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "high",
|
|
"added_at": "2025-10-24T16:22:01.379495Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "0ce6a643-5b6c-4716-8243-2bae6c7409ae",
|
|
"serie_id": "test-series-2",
|
|
"serie_name": "Another Series",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "high",
|
|
"added_at": "2025-10-24T16:22:01.351616Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "fc635b49-74c2-400c-9fe7-c2c8ea7f6367",
|
|
"serie_id": "test-series-1",
|
|
"serie_name": "Test Anime Series",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": "Episode 1"
|
|
},
|
|
"status": "pending",
|
|
"priority": "normal",
|
|
"added_at": "2025-10-24T16:22:01.325547Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "9c7934de-ee54-4d5d-aa34-44586fd0d5cd",
|
|
"serie_id": "test-series-1",
|
|
"serie_name": "Test Anime Series",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 2,
|
|
"title": "Episode 2"
|
|
},
|
|
"status": "pending",
|
|
"priority": "normal",
|
|
"added_at": "2025-10-24T16:22:01.325651Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "886b57d5-b4c5-4da8-af06-ef8020b91ab3",
|
|
"serie_id": "series-normal",
|
|
"serie_name": "Series Normal",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "normal",
|
|
"added_at": "2025-10-24T16:22:01.381742Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "0a19b210-de81-4d69-967e-acfc93bef2c2",
|
|
"serie_id": "series-low",
|
|
"serie_name": "Series Low",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "low",
|
|
"added_at": "2025-10-24T16:22:01.383667Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "0172017f-f3ca-41a6-b9e1-431fb07bb7a6",
|
|
"serie_id": "test-series",
|
|
"serie_name": "Test Series",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "normal",
|
|
"added_at": "2025-10-24T16:22:01.564445Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "c7c6f266-af5a-4c68-9f8c-88a8ed28058c",
|
|
"serie_id": "test-series",
|
|
"serie_name": "Test Series",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "normal",
|
|
"added_at": "2025-10-24T16:22:01.652232Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "7e799ffc-429c-4716-a52a-915ca253ad10",
|
|
"serie_id": "invalid-series",
|
|
"serie_name": "Invalid Series",
|
|
"episode": {
|
|
"season": 99,
|
|
"episode": 99,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "normal",
|
|
"added_at": "2025-10-24T16:22:01.705230Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "f362b11d-6cdb-4395-a7bd-3856db287637",
|
|
"serie_id": "test-series",
|
|
"serie_name": "Test Series",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "normal",
|
|
"added_at": "2025-10-24T16:22:01.730499Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "4289f237-52e0-4041-a220-1ef963b1a243",
|
|
"serie_id": "series-0",
|
|
"serie_name": "Series 0",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "normal",
|
|
"added_at": "2025-10-24T16:22:01.768316Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "879af79d-b8f4-411f-a8c4-b8187a9dec33",
|
|
"serie_id": "series-2",
|
|
"serie_name": "Series 2",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "normal",
|
|
"added_at": "2025-10-24T16:22:01.769146Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "cf84a818-3dbf-4a7e-8d16-fee06d17bcff",
|
|
"serie_id": "series-4",
|
|
"serie_name": "Series 4",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "normal",
|
|
"added_at": "2025-10-24T16:22:01.769798Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "ef46a470-c01b-49f8-83bc-3022b324d3a1",
|
|
"serie_id": "series-1",
|
|
"serie_name": "Series 1",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "normal",
|
|
"added_at": "2025-10-24T16:22:01.770680Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "9e5ed542-a682-4e2f-be19-d3a48b93e5af",
|
|
"serie_id": "series-3",
|
|
"serie_name": "Series 3",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "normal",
|
|
"added_at": "2025-10-24T16:22:01.773517Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "afa69035-9c2e-4225-8797-526cad07bcda",
|
|
"serie_id": "persistent-series",
|
|
"serie_name": "Persistent Series",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "normal",
|
|
"added_at": "2025-10-24T16:22:01.834824Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "5fef5060-24e6-4c2a-85bd-1542218c0348",
|
|
"serie_id": "ws-series",
|
|
"serie_name": "WebSocket Series",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "normal",
|
|
"added_at": "2025-10-24T16:22:01.884370Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
},
|
|
{
|
|
"id": "22ed3062-d7aa-42bf-a5dc-960f0139728f",
|
|
"serie_id": "pause-test",
|
|
"serie_name": "Pause Test Series",
|
|
"episode": {
|
|
"season": 1,
|
|
"episode": 1,
|
|
"title": null
|
|
},
|
|
"status": "pending",
|
|
"priority": "normal",
|
|
"added_at": "2025-10-24T16:22:02.041684Z",
|
|
"started_at": null,
|
|
"completed_at": null,
|
|
"progress": null,
|
|
"error": null,
|
|
"retry_count": 0,
|
|
"source_url": null
|
|
}
|
|
],
|
|
"active": [],
|
|
"failed": [],
|
|
"timestamp": "2025-10-24T16:22:02.041941+00:00"
|
|
} |