Files
BanGUI/Docs/Tasks.md
Lukas 7ec80fdeec refactor(logging): replace structlog with stdlib logging compat layer
- Remove structlog dependency from backend/pyproject.toml
- Add app.utils.logging_compat shim for keyword-arg logging API
- Add app.utils.json_formatter for JSON log output with extra fields
- Update all backend modules to use logging_compat.get_logger()
- Update docstrings in log_sanitizer.py and json_formatter.py
- Update test comment in test_async_utils.py
- Record 406 failing tests in Docs/Tasks.md for tracking
2026-05-10 13:37:54 +02:00

62 KiB

Failed Tests

Total unique failed/errored tests: 406

1. TestGetActiveBans.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


2. TestGetActiveBans.test_empty_when_no_bans

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


3. TestGetActiveBans.test_response_shape

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


4. TestBanIp.test_201_on_success

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


5. TestBanIp.test_400_for_invalid_ip

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


6. TestBanIp.test_404_for_unknown_jail

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


7. TestBanIp.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


8. TestUnbanIp.test_200_unban_from_all

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


9. TestUnbanIp.test_200_unban_from_specific_jail

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


10. TestUnbanIp.test_400_for_invalid_ip

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


11. TestUnbanIp.test_404_for_unknown_jail

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


12. TestUnbanAll.test_200_clears_all_bans

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


13. TestUnbanAll.test_200_with_zero_count

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


14. TestUnbanAll.test_502_when_fail2ban_unreachable

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


15. TestUnbanAll.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


16. TestListBlocklists.test_authenticated_returns_200

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


17. TestListBlocklists.test_response_contains_sources_key

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


18. TestCreateBlocklist.test_create_returns_201

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


19. TestCreateBlocklist.test_create_source_id_in_response

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


20. TestUpdateBlocklist.test_update_returns_200

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


21. TestUpdateBlocklist.test_update_returns_404_for_missing

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


22. TestDeleteBlocklist.test_delete_returns_204

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


23. TestDeleteBlocklist.test_delete_returns_404_for_missing

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


24. TestPreviewBlocklist.test_preview_returns_200

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


25. TestPreviewBlocklist.test_preview_returns_404_for_missing

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


26. TestPreviewBlocklist.test_preview_returns_502_on_download_error

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


27. TestPreviewBlocklist.test_preview_response_shape

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


28. TestRunImport.test_import_returns_200

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


29. TestRunImport.test_import_response_shape

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


30. TestGetSchedule.test_schedule_returns_200

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


31. TestGetSchedule.test_schedule_response_has_config

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


32. TestGetSchedule.test_schedule_response_includes_last_run_errors

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


33. TestUpdateSchedule.test_update_schedule_returns_200

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


34. TestImportLog.test_log_returns_200

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


35. TestImportLog.test_log_response_shape

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


36. TestImportLog.test_log_empty_when_no_runs

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


37. TestGetJailConfigs.test_200_returns_jail_list

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


38. TestGetJailConfigs.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


39. TestGetJailConfigs.test_502_on_connection_error

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


40. TestGetJailConfig.test_200_returns_jail_config

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


41. TestGetJailConfig.test_404_for_unknown_jail

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


42. TestGetJailConfig.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


43. TestUpdateJailConfig.test_204_on_success

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


44. TestUpdateJailConfig.test_404_for_unknown_jail

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


45. TestUpdateJailConfig.test_422_on_invalid_regex

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


46. TestUpdateJailConfig.test_400_on_config_operation_error

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


47. TestUpdateJailConfig.test_204_with_dns_mode

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


48. TestUpdateJailConfig.test_204_with_prefregex

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


49. TestUpdateJailConfig.test_204_with_date_pattern

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


50. TestGetGlobalConfig.test_200_returns_global_config

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


51. TestGetGlobalConfig.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


52. TestUpdateGlobalConfig.test_204_on_success

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


53. TestUpdateGlobalConfig.test_400_on_operation_error

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


54. TestReloadFail2ban.test_204_on_success

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


55. TestReloadFail2ban.test_502_when_fail2ban_unreachable

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


56. TestReloadFail2ban.test_409_when_reload_operation_fails

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


57. TestRestartFail2ban.test_204_on_success

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


58. TestRestartFail2ban.test_503_when_fail2ban_does_not_come_back

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


59. TestRestartFail2ban.test_409_when_stop_command_fails

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


60. TestRestartFail2ban.test_502_when_fail2ban_unreachable

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


61. TestRestartFail2ban.test_service_restart_daemon_called

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


62. TestRegexTest.test_200_matched

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


63. TestRegexTest.test_200_not_matched

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


64. TestRegexTest.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


65. TestAddLogPath.test_204_on_success

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


66. TestAddLogPath.test_404_for_unknown_jail

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


67. TestPreviewLog.test_200_returns_preview

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


68. TestGetMapColorThresholds.test_200_returns_thresholds

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


69. TestUpdateMapColorThresholds.test_200_updates_thresholds

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


70. TestUpdateMapColorThresholds.test_400_for_invalid_order

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


71. TestUpdateMapColorThresholds.test_400_for_non_positive_values

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


72. TestGetInactiveJails.test_200_returns_inactive_list

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


73. TestGetInactiveJails.test_200_empty_list

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


74. TestGetInactiveJails.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


75. TestActivateJail.test_200_activates_jail

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


76. TestActivateJail.test_200_with_overrides

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


77. TestActivateJail.test_404_for_unknown_jail

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


78. TestActivateJail.test_409_when_already_active

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


79. TestActivateJail.test_failed_activation_does_not_set_last_activation

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


80. TestActivateJail.test_400_for_invalid_jail_name

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


81. TestActivateJail.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


82. TestActivateJail.test_200_with_active_false_on_missing_logpath

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


83. TestDeactivateJail.test_200_deactivates_jail

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


84. TestDeactivateJail.test_404_for_unknown_jail

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


85. TestDeactivateJail.test_409_when_already_inactive

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


86. TestDeactivateJail.test_400_for_invalid_jail_name

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


87. TestDeactivateJail.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


88. TestDeactivateJail.test_deactivate_triggers_health_probe

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


89. TestListFilters.test_200_returns_filter_list

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


90. TestListFilters.test_200_empty_filter_list

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


91. TestListFilters.test_active_filters_sorted_before_inactive

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


92. TestListFilters.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


93. TestGetFilter.test_200_returns_filter

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


94. TestGetFilter.test_404_for_unknown_filter

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


95. TestGetFilter.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


96. TestUpdateFilter.test_200_returns_updated_filter

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


97. TestUpdateFilter.test_404_for_unknown_filter

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


98. TestUpdateFilter.test_422_for_invalid_regex

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


99. TestUpdateFilter.test_400_for_invalid_name

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


100. TestUpdateFilter.test_reload_query_param_passed

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


101. TestUpdateFilter.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


102. TestCreateFilter.test_201_creates_filter

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


103. TestCreateFilter.test_409_when_already_exists

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


104. TestCreateFilter.test_422_for_invalid_regex

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


105. TestCreateFilter.test_400_for_invalid_name

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


106. TestCreateFilter.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


107. TestDeleteFilter.test_204_deletes_filter

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


108. TestDeleteFilter.test_404_for_unknown_filter

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


109. TestDeleteFilter.test_409_for_readonly_filter

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


110. TestDeleteFilter.test_400_for_invalid_name

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


111. TestDeleteFilter.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


112. TestAssignFilterToJail.test_204_assigns_filter

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


113. TestAssignFilterToJail.test_404_for_unknown_jail

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


114. TestAssignFilterToJail.test_404_for_unknown_filter

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


115. TestAssignFilterToJail.test_400_for_invalid_jail_name

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


116. TestAssignFilterToJail.test_400_for_invalid_filter_name

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


117. TestAssignFilterToJail.test_reload_query_param_passed

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


118. TestAssignFilterToJail.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


119. TestListActionsRouter.test_200_returns_action_list

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


120. TestListActionsRouter.test_active_sorted_first

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


121. TestListActionsRouter.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


122. TestGetActionRouter.test_200_returns_action

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


123. TestGetActionRouter.test_404_when_not_found

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


124. TestGetActionRouter.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


125. TestUpdateActionRouter.test_200_returns_updated_action

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


126. TestUpdateActionRouter.test_404_when_not_found

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


127. TestUpdateActionRouter.test_400_for_bad_name

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


128. TestUpdateActionRouter.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


129. TestCreateActionRouter.test_201_returns_created_action

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


130. TestCreateActionRouter.test_409_when_already_exists

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


131. TestCreateActionRouter.test_400_for_bad_name

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


132. TestCreateActionRouter.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


133. TestDeleteActionRouter.test_204_on_delete

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


134. TestDeleteActionRouter.test_404_when_not_found

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


135. TestDeleteActionRouter.test_409_when_readonly

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


136. TestDeleteActionRouter.test_400_for_bad_name

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


137. TestDeleteActionRouter.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


138. TestAssignActionToJailRouter.test_204_on_success

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


139. TestAssignActionToJailRouter.test_404_when_jail_not_found

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


140. TestAssignActionToJailRouter.test_404_when_action_not_found

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


141. TestAssignActionToJailRouter.test_400_for_bad_jail_name

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


142. TestAssignActionToJailRouter.test_400_for_bad_action_name

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


143. TestAssignActionToJailRouter.test_reload_param_passed

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


144. TestAssignActionToJailRouter.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


145. TestRemoveActionFromJailRouter.test_204_on_success

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


146. TestRemoveActionFromJailRouter.test_404_when_jail_not_found

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


147. TestRemoveActionFromJailRouter.test_400_for_bad_jail_name

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


148. TestRemoveActionFromJailRouter.test_400_for_bad_action_name

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


149. TestRemoveActionFromJailRouter.test_reload_param_passed

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


150. TestRemoveActionFromJailRouter.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


151. TestGetFail2BanLog.test_200_returns_log_response

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


152. TestGetFail2BanLog.test_200_passes_lines_query_param

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


153. TestGetFail2BanLog.test_200_passes_filter_query_param

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


154. TestGetFail2BanLog.test_400_when_non_file_target

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


155. TestGetFail2BanLog.test_400_when_path_traversal_detected

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


156. TestGetFail2BanLog.test_502_when_fail2ban_unreachable

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


157. TestGetFail2BanLog.test_422_for_lines_exceeding_max

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


158. TestGetFail2BanLog.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


159. TestGetServiceStatus.test_200_when_online

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


160. TestGetServiceStatus.test_200_when_offline

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


161. TestGetServiceStatus.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


162. TestValidateJailEndpoint.test_200_valid_config

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


163. TestValidateJailEndpoint.test_200_invalid_config

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


164. TestValidateJailEndpoint.test_400_for_invalid_jail_name

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


165. TestValidateJailEndpoint.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


166. TestPendingRecovery.test_returns_null_when_no_pending_recovery

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


167. TestPendingRecovery.test_returns_record_when_set

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


168. TestPendingRecovery.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


169. TestRollbackEndpoint.test_200_success_clears_pending_recovery

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


170. TestRollbackEndpoint.test_200_fail_preserves_pending_recovery

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


171. TestRollbackEndpoint.test_400_for_invalid_jail_name

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


172. TestRollbackEndpoint.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


173. TestDashboardStatus.test_returns_200_when_authenticated

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


174. TestDashboardStatus.test_response_shape_when_online

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


175. TestDashboardStatus.test_cached_values_returned_when_online

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


176. TestDashboardStatus.test_offline_status_returned_correctly

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


177. TestDashboardBans.test_returns_200_when_authenticated

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


178. TestDashboardBans.test_response_contains_items_and_total

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


179. TestDashboardBans.test_default_range_is_24h

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


180. TestDashboardBans.test_accepts_time_range_param

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


181. TestDashboardBans.test_accepts_source_param

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


182. TestDashboardBans.test_empty_ban_list_returns_zero_total

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


183. TestDashboardBans.test_item_shape_is_correct

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


184. TestBansByCountry.test_returns_200_when_authenticated[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


185. TestBansByCountry.test_response_shape[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


186. TestBansByCountry.test_accepts_time_range_param[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


187. TestBansByCountry.test_invalid_source_returns_422[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


188. TestBansByCountry.test_empty_window_returns_empty_response[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


189. TestBanTrend.test_returns_200_when_authenticated[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


190. TestBanTrend.test_response_shape[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


191. TestBanTrend.test_each_bucket_has_timestamp_and_count[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


192. TestBanTrend.test_default_range_is_24h[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


193. TestBanTrend.test_accepts_range_param[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


194. TestBanTrend.test_origin_param_forwarded[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


195. TestBanTrend.test_no_origin_defaults_to_none[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


196. TestBanTrend.test_invalid_range_returns_422[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


197. TestBanTrend.test_invalid_source_returns_422[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


198. TestBanTrend.test_empty_buckets_response[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


199. TestBansByJail.test_returns_200_when_authenticated[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


200. TestBansByJail.test_response_shape[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


201. TestBansByJail.test_each_jail_has_name_and_count[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


202. TestBansByJail.test_default_range_is_24h[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


203. TestBansByJail.test_accepts_range_param[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


204. TestBansByJail.test_origin_param_forwarded[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


205. TestBansByJail.test_no_origin_defaults_to_none[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


206. TestBansByJail.test_invalid_range_returns_422[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


207. TestBansByJail.test_invalid_source_returns_422[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


208. TestBansByJail.test_empty_jails_response[asyncio]

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


209. TestDashboardBansOriginField.test_origin_present_in_ban_list_items

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


210. TestDashboardBansOriginField.test_selfblock_origin_serialised_correctly

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


211. TestDashboardBansOriginField.test_origin_present_in_bans_by_country

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


212. TestDashboardBansOriginField.test_bans_by_country_source_param_forwarded

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


213. TestDashboardBansOriginField.test_bans_by_country_country_code_forwarded

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


214. TestDashboardBansOriginField.test_blocklist_origin_serialised_correctly

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


215. TestOriginFilterParam.test_bans_origin_blocklist_forwarded_to_service

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


216. TestOriginFilterParam.test_bans_origin_selfblock_forwarded_to_service

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


217. TestOriginFilterParam.test_bans_no_origin_param_defaults_to_none

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


218. TestOriginFilterParam.test_bans_invalid_origin_returns_422

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


219. TestOriginFilterParam.test_by_country_origin_blocklist_forwarded

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


220. TestOriginFilterParam.test_by_country_no_origin_defaults_to_none

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


221. TestListJailConfigFiles.test_200_returns_file_list

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


222. TestListJailConfigFiles.test_503_on_config_dir_error

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


223. TestListJailConfigFiles.test_401_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


224. TestGetJailConfigFile.test_200_returns_content

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


225. TestGetJailConfigFile.test_404_not_found

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


226. TestGetJailConfigFile.test_400_invalid_filename

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


227. TestSetJailConfigEnabled.test_204_on_success

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


228. TestSetJailConfigEnabled.test_404_file_not_found

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


229. TestGetFilterFileRaw.test_200_returns_content

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


230. TestGetFilterFileRaw.test_404_not_found

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


231. TestUpdateFilterFile.test_204_on_success

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


232. TestUpdateFilterFile.test_400_write_error

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


233. TestCreateFilterFile.test_201_creates_file

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


234. TestCreateFilterFile.test_409_conflict

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


235. TestCreateFilterFile.test_400_invalid_name

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


236. TestListActionFiles.test_200_returns_files

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


237. TestCreateActionFile.test_201_creates_file

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


238. TestGetActionFileRaw.test_200_returns_content

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


239. TestGetActionFileRaw.test_404_not_found

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


240. TestGetActionFileRaw.test_503_on_config_dir_error

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


241. TestUpdateActionFileRaw.test_204_on_success

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


242. TestUpdateActionFileRaw.test_400_write_error

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


243. TestUpdateActionFileRaw.test_404_not_found

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


244. TestUpdateActionFileRaw.test_400_invalid_name

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


245. TestCreateJailConfigFile.test_201_creates_file

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


246. TestCreateJailConfigFile.test_409_conflict

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


247. TestCreateJailConfigFile.test_400_invalid_name

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


248. TestCreateJailConfigFile.test_503_on_config_dir_error

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


249. TestGetParsedFilter.test_200_returns_parsed_config

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


250. TestGetParsedFilter.test_404_not_found

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


251. TestGetParsedFilter.test_503_on_config_dir_error

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


252. TestUpdateParsedFilter.test_204_on_success

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


253. TestUpdateParsedFilter.test_404_not_found

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


254. TestUpdateParsedFilter.test_400_write_error

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


255. TestGetParsedAction.test_200_returns_parsed_config

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


256. TestGetParsedAction.test_404_not_found

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


257. TestGetParsedAction.test_503_on_config_dir_error

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


258. TestUpdateParsedAction.test_204_on_success

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


259. TestUpdateParsedAction.test_404_not_found

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


260. TestUpdateParsedAction.test_400_write_error

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


261. TestGetParsedJailFile.test_200_returns_parsed_config

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


262. TestGetParsedJailFile.test_404_not_found

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


263. TestGetParsedJailFile.test_503_on_config_dir_error

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


264. TestUpdateParsedJailFile.test_204_on_success

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


265. TestUpdateParsedJailFile.test_404_not_found

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


266. TestUpdateParsedJailFile.test_400_write_error

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


267. TestGeoLookup.test_200_with_geo_info

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


268. TestGeoLookup.test_200_when_not_banned

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


269. TestGeoLookup.test_200_with_no_geo

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


270. TestGeoLookup.test_400_for_invalid_ip

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


271. TestGeoLookup.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


272. TestGeoLookup.test_ipv6_address

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


273. TestReResolve.test_returns_200_with_counts

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


274. TestReResolve.test_empty_when_no_unresolved_ips

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


275. TestReResolve.test_re_resolves_null_ips

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


276. TestReResolve.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


277. TestGeoStats.test_returns_200_with_stats

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


278. TestGeoStats.test_stats_empty_cache

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


279. TestGeoStats.test_stats_counts_unresolved

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


280. TestGeoStats.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


281. TestHistoryList.test_returns_200_when_authenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


282. TestHistoryList.test_response_shape

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


283. TestHistoryList.test_forwards_jail_filter

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


284. TestHistoryList.test_forwards_ip_filter

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


285. TestHistoryList.test_forwards_time_range

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


286. TestHistoryList.test_forwards_origin_filter

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


287. TestHistoryList.test_forwards_source_filter

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


288. TestHistoryList.test_archive_route_forces_source_archive

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


289. TestHistoryList.test_empty_result

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


290. TestIpHistory.test_returns_200_when_authenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


291. TestIpHistory.test_returns_404_for_unknown_ip

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


292. TestIpHistory.test_response_shape

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


293. TestIpHistory.test_aggregation_sums_failures

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


294. TestGetJails.test_200_when_authenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


295. TestGetJails.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


296. TestGetJails.test_response_shape

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


297. TestGetJailDetail.test_200_for_existing_jail

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


298. TestGetJailDetail.test_404_for_unknown_jail

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


299. TestStartJail.test_200_starts_jail

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


300. TestStartJail.test_404_for_unknown_jail

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


301. TestStartJail.test_409_on_operation_error

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


302. TestStopJail.test_200_stops_jail

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


303. TestStopJail.test_200_for_already_stopped_jail

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


304. TestToggleIdle.test_200_idle_on

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


305. TestToggleIdle.test_200_idle_off

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


306. TestReloadJail.test_200_reloads_jail

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


307. TestReloadAll.test_200_reloads_all

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


308. TestIgnoreIpEndpoints.test_get_ignore_list

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


309. TestIgnoreIpEndpoints.test_add_ignore_ip_returns_201

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


310. TestIgnoreIpEndpoints.test_add_invalid_ip_returns_400

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


311. TestIgnoreIpEndpoints.test_delete_ignore_ip

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


312. TestIgnoreIpEndpoints.test_get_ignore_list_404_for_unknown_jail

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


313. TestIgnoreIpEndpoints.test_get_ignore_list_502_on_connection_error

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


314. TestIgnoreIpEndpoints.test_add_ignore_ip_404_for_unknown_jail

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


315. TestIgnoreIpEndpoints.test_add_ignore_ip_409_on_operation_error

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


316. TestIgnoreIpEndpoints.test_add_ignore_ip_502_on_connection_error

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


317. TestIgnoreIpEndpoints.test_delete_ignore_ip_404_for_unknown_jail

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


318. TestIgnoreIpEndpoints.test_delete_ignore_ip_409_on_operation_error

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


319. TestIgnoreIpEndpoints.test_delete_ignore_ip_502_on_connection_error

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


320. TestToggleIgnoreSelf.test_200_enables_ignore_self

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


321. TestToggleIgnoreSelf.test_200_disables_ignore_self

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


322. TestToggleIgnoreSelf.test_404_for_unknown_jail

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


323. TestToggleIgnoreSelf.test_409_on_operation_error

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


324. TestToggleIgnoreSelf.test_502_on_connection_error

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


325. TestFail2BanConnectionErrors.test_get_jails_502

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


326. TestFail2BanConnectionErrors.test_get_jail_502

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


327. TestFail2BanConnectionErrors.test_reload_all_409

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


328. TestFail2BanConnectionErrors.test_reload_all_502

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


329. TestFail2BanConnectionErrors.test_start_jail_502

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


330. TestFail2BanConnectionErrors.test_stop_jail_409

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


331. TestFail2BanConnectionErrors.test_stop_jail_502

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


332. TestFail2BanConnectionErrors.test_toggle_idle_404

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


333. TestFail2BanConnectionErrors.test_toggle_idle_409

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


334. TestFail2BanConnectionErrors.test_toggle_idle_502

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


335. TestFail2BanConnectionErrors.test_reload_jail_404

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


336. TestFail2BanConnectionErrors.test_reload_jail_409

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


337. TestFail2BanConnectionErrors.test_reload_jail_502

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


338. TestGetJailBannedIps.test_200_returns_paginated_bans

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


339. TestGetJailBannedIps.test_200_with_search_parameter

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


340. TestGetJailBannedIps.test_200_with_page_and_page_size

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


341. TestGetJailBannedIps.test_400_when_page_is_zero

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


342. TestGetJailBannedIps.test_400_when_page_size_exceeds_max

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


343. TestGetJailBannedIps.test_400_when_page_size_is_zero

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


344. TestGetJailBannedIps.test_404_for_unknown_jail

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


345. TestGetJailBannedIps.test_502_when_fail2ban_unreachable

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


346. TestGetJailBannedIps.test_response_items_have_expected_fields

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


347. TestGetJailBannedIps.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings


348. TestGetServerSettings.test_200_returns_settings

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


349. TestGetServerSettings.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


350. TestGetServerSettings.test_502_on_connection_error

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


351. TestUpdateServerSettings.test_204_on_success

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


352. TestUpdateServerSettings.test_400_on_operation_error

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


353. TestUpdateServerSettings.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


354. TestUpdateServerSettings.test_502_on_connection_error

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


355. TestFlushLogs.test_200_returns_message

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


356. TestFlushLogs.test_400_on_operation_error

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


357. TestFlushLogs.test_401_when_unauthenticated

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


358. TestFlushLogs.test_502_on_connection_error

Exception: pydantic_core._pydantic_core.ValidationError: 2 validation errors for Settings


359. TestGetJailConfig.test_returns_jail_config_response

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


360. TestGetJailConfig.test_raises_jail_not_found

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


361. TestGetJailConfig.test_actions_parsed_correctly

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


362. TestGetJailConfig.test_empty_log_paths_fallback

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


363. TestGetJailConfig.test_date_pattern_none

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


364. TestGetJailConfig.test_use_dns_populated

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


365. TestGetJailConfig.test_use_dns_default_when_missing

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


366. TestGetJailConfig.test_prefregex_populated

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


367. TestGetJailConfig.test_prefregex_empty_when_missing

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


368. TestListJailConfigs.test_returns_list_response

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


369. TestListJailConfigs.test_empty_when_no_jails

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


370. TestListJailConfigs.test_multiple_jails

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


371. TestUpdateJailConfig.test_updates_numeric_fields

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


372. TestUpdateJailConfig.test_ignores_backend_field

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


373. TestUpdateJailConfig.test_raises_validation_error_on_bad_regex

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


374. TestUpdateJailConfig.test_skips_none_fields

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


375. TestUpdateJailConfig.test_replaces_fail_regex

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


376. TestUpdateJailConfig.test_sets_dns_mode

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


377. TestUpdateJailConfig.test_sets_prefregex

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


378. TestUpdateJailConfig.test_skips_none_prefregex

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


379. TestUpdateJailConfig.test_raises_validation_error_on_invalid_prefregex

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


380. TestGetGlobalConfig.test_returns_global_config

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


381. TestGetGlobalConfig.test_defaults_used_on_error

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


382. TestUpdateGlobalConfig.test_sends_set_commands

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


383. TestUpdateGlobalConfig.test_log_level_uppercased

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


384. TestUpdateGlobalConfig.test_invalid_log_target_raises_config_validation_error

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


385. TestUpdateGlobalConfig.test_valid_special_log_target

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


386. TestTestRegex.test_matching_pattern

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


387. TestTestRegex.test_non_matching_pattern

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


388. TestTestRegex.test_invalid_pattern_returns_error

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


389. TestTestRegex.test_empty_groups_when_no_capture

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


390. TestTestRegex.test_multiple_capture_groups

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


391. TestPreviewLog.test_returns_error_for_invalid_regex

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


392. TestPreviewLog.test_returns_error_for_missing_file

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


393. TestPreviewLog.test_rejects_log_paths_outside_allowed_directories

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


394. TestPreviewLog.test_matches_lines_in_file

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


395. TestPreviewLog.test_matched_line_has_groups

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


396. TestPreviewLog.test_num_lines_limit

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


397. TestReadFail2BanLog.test_returns_log_lines_from_file

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


398. TestReadFail2BanLog.test_filter_narrows_returned_lines

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


399. TestReadFail2BanLog.test_non_file_target_raises_operation_error

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


400. TestReadFail2BanLog.test_syslog_target_raises_operation_error

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


401. TestReadFail2BanLog.test_path_outside_safe_dir_raises_operation_error

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


402. TestReadFail2BanLog.test_missing_log_file_raises_operation_error

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


403. TestGetServiceStatus.test_online_status_includes_log_config

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


404. TestGetServiceStatus.test_offline_status_returns_unknown_log_fields

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


405. TestConfigModuleIntegration.test_jail_config_service_list_inactive_jails_uses_imports

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'


406. TestConfigModuleIntegration.test_filter_config_service_list_filters_uses_imports

Exception: AttributeError: module 'app.models.config' has no attribute 'get_settings'