This website requires JavaScript.
Explore
Help
Register
Sign In
bvandeusen
/
FabledSteward
Watch
1
Star
0
Fork
0
Code
Issues
1
Pull Requests
1
Actions
Packages
Projects
Releases
Wiki
Activity
Files
5ce3dfe69d5c2461eea44a77a9f0eaa63666ccf2
FabledSteward
/
tests
/
integration
T
History
bvandeusen
and
Claude Opus 5.5
5ce3dfe69d
CI / lint (push)
Successful in 2s
Details
CI / unit (push)
Successful in 1m29s
Details
CI / integration (push)
Successful in 1m39s
Details
CI / publish (push)
Successful in 19s
Details
fix(syslog): a row from before the name split, last seen as a device, stays that device's (
#6096
)
...
Co-Authored-By: Claude Opus 5.5 <
noreply@anthropic.com
>
2026-10-19 12:16:08 -04:00
..
__init__.py
ci: add Forgejo CI (lint + unit + Postgres integration) + ci-requirements.md
2026-06-01 08:37:32 -04:00
_mail.py
feat(email): the report, invites, resets and test sends go through the outbox; only it talks SMTP (
#5508
)
2026-10-09 16:05:01 -04:00
test_account_time_zone.py
feat(account): change your own password on the Account page (milestone 497)
2026-10-08 20:14:45 -04:00
test_alert_after_commit_savepoints.py
fix(alerts): an alert's email waits for the real commit, not a savepoint (
#5807
)
2026-10-15 10:05:50 -04:00
test_alert_ansible_action.py
feat(ui): each run says who or what started it; run detail without ids (
#5212
)
2026-10-07 00:26:17 -04:00
test_alert_covering_rules.py
feat(alerts): one rule can cover every host, or every host in a group (
#5464
)
2026-10-09 08:25:51 -04:00
test_alert_dispatch.py
fix(alerts): an alert that fired and ended inside maintenance isn't mailed resolved (
#6097
)
2026-10-19 07:41:51 -04:00
test_alert_email_outbox.py
test(email): the deleted-alerts outbox test stays in one event loop (
#5507
)
2026-10-09 16:07:17 -04:00
test_alert_history_page.py
test(alerts): check the history's Action column on one rule's rows, which the test owns (
#5316
)
2026-10-07 23:06:33 -04:00
test_alert_no_data.py
fix(alerts): one silent agent is one alert and one finding (
#5721
)
2026-10-14 16:49:29 -04:00
test_alert_rule_form.py
fix(alerts): a rule's page doesn't wait for its metric preview (
#5485
); Send test up top (
#5486
)
2026-10-09 11:44:19 -04:00
test_alert_send_test.py
feat(email): the report, invites, resets and test sends go through the outbox; only it talks SMTP (
#5508
)
2026-10-09 16:05:01 -04:00
test_alert_states.py
feat(backup): a backup holds settings and keys only, for recovery (
#5822
)
2026-10-15 10:39:55 -04:00
test_anomalies.py
fix(norms): templates grade by the cutoffs when handed no grade; the parts test reads inside transactions (
#5742
)
2026-10-14 16:20:08 -04:00
test_ansible_credentials.py
feat(ansible): credentials — SSH key, become, vault, host-key checking (task 548)
2026-06-02 18:41:58 -04:00
test_ansible_foundation.py
feat(ansible): parameterized runs — extra-vars, limit, tags, dry-run (task 546)
2026-06-02 13:31:16 -04:00
test_ansible_inventory.py
fix(ansible): group names Ansible accepts, and interpreter discovery without the warning (
#5334
)
2026-10-08 00:01:54 -04:00
test_ansible_overlap.py
fix(ansible): overlapping runs: one per host, one per schedule, one action run per alert rule (
#5158
)
2026-10-06 21:24:51 -04:00
test_ansible_run_end.py
fix(ansible): runs end cleanly: output read in chunks, the process group always ended, a cancelled task recorded (
#5156
)
2026-10-06 21:08:30 -04:00
test_ansible_runs_list.py
feat(ansible): Inventory on one page, add behind dialogs, delete behind the confirm (
#5333
)
2026-10-07 23:57:54 -04:00
test_api_tokens.py
feat(auth): sessions end when they should; logins are throttled; Secure behind HTTPS (
#5035
)
2026-10-06 11:02:27 -04:00
test_backup_check.py
feat(backup): check a backup against what is in place, changing nothing (
#5823
)
2026-10-15 10:48:48 -04:00
test_backup_job.py
feat(backup): check a backup against what is in place, changing nothing (
#5823
)
2026-10-15 10:48:48 -04:00
test_backup_restore_in_place.py
fix(backup): refuse another schema before reading the dump; tests read settings directly (
#5815
)
2026-10-15 10:56:57 -04:00
test_backup_restore_routes.py
feat(backup): restore from Settings → Backups, with restoring mode (
#5816
,
#5817
)
2026-10-15 11:03:01 -04:00
test_boot.py
ci: add Forgejo CI (lint + unit + Postgres integration) + ci-requirements.md
2026-06-01 08:37:32 -04:00
test_cleanup.py
feat(settings): Settings → System shows table sizes and what the last cleanup removed (
#5469
)
2026-10-09 14:29:55 -04:00
test_dashboard_reset.py
feat(dashboard): a curated default layout, merged duplicate widgets, a labelled Overview (
#5213
)
2026-10-07 00:42:04 -04:00
test_docker_disk_page.py
test(docker): the disk page's images carry the 12-character ids the agent sends (
#5305
)
2026-10-07 20:20:41 -04:00
test_docker_recent_usage.py
fix(docker): a container's memory is its processes' own; file cache shown on its page (
#6030
)
2026-10-17 21:27:29 -04:00
test_docker_service_page.py
fix(docker): a container's memory is its processes' own; file cache shown on its page (
#6030
)
2026-10-17 21:27:29 -04:00
test_docker.py
fix(docker): a container's memory is its processes' own; file cache shown on its page (
#6030
)
2026-10-17 21:27:29 -04:00
test_email_delivery_pages.py
feat(dashboard): an Alerts widget beside the Overview; the Overview's overflow links to Alerts and Monitors (
#5510
)
2026-10-09 16:27:17 -04:00
test_email_outbox.py
feat(alerts): alert email waits 2 minutes in the outbox and each alert records its outcome (
#5507
)
2026-10-09 15:59:17 -04:00
test_external_users.py
feat(auth): LDAP and SSO users keep their source; directory TLS is real (
#5036
)
2026-10-06 11:10:40 -04:00
test_host_agent_alerts.py
test(alerts): seed metrics the way ingest does, through record_metrics (
#5473
)
2026-10-09 09:28:53 -04:00
test_host_agent_docker_status.py
fix(docker): a container's memory is its processes' own; file cache shown on its page (
#6030
)
2026-10-17 21:27:29 -04:00
test_host_downtime.py
feat(host_agent): a reboot reads as a reboot, and lost contact as its span (
#5756
)
2026-10-14 17:08:16 -04:00
test_host_maintenance_cadence.py
fix: error-pages graded healthy, unwired sensors listed apart, Maintenance failed reads 0 (
#5780
,
#5781
,
#5782
)
2026-10-14 21:15:44 -04:00
test_host_maintenance_job.py
fix(maintenance): check first, drain before a Docker upgrade, wait 5 min after a drain, see containers back (
#6098
)
2026-10-19 10:44:45 -04:00
test_host_metrics.py
test(host_agent): both sensor refreshes run in one event loop (
#5786
)
2026-10-14 21:45:59 -04:00
test_host_targeted_run.py
feat(ansible): run a playbook against a single Steward host (task 547)
2026-06-02 19:26:58 -04:00
test_hosts_list.py
fix(hosts): add HX-Request to Vary rather than replacing it; the session adds Cookie (
#5294
)
2026-10-07 18:57:22 -04:00
test_hourly_p95.py
feat(metrics): each rolled-up hour keeps the level it held, its p95 (
#5738
)
2026-10-14 12:45:42 -04:00
test_invites.py
feat(email): the report, invites, resets and test sends go through the outbox; only it talks SMTP (
#5508
)
2026-10-09 16:05:01 -04:00
test_mcp_anomaly_review.py
feat(mcp): understand and judge a metric anomaly: what happened, what was usual, what else went on (
#5837
)
2026-10-15 13:17:34 -04:00
test_mcp_automation.py
feat(mcp): write, test and delete this instance's own playbooks (
#5748
)
2026-10-15 12:01:39 -04:00
test_mcp_backups.py
feat(mcp): Steward's own backups: the runs, the next one, checking and making one (
#5836
)
2026-10-15 13:09:12 -04:00
test_mcp_group_members.py
feat(mcp): update_group_members puts hosts into an inventory group or takes them out (
#5487
)
2026-10-09 11:48:08 -04:00
test_mcp_maintenance.py
feat: the host agent is always on; the MCP sees and starts host maintenance (
#5834
)
2026-10-15 12:59:42 -04:00
test_mcp_monitoring_writes.py
fix(mcp): get_monitor says how often a monitor on the global interval runs (
#5433
)
2026-10-08 21:50:20 -04:00
test_mcp_plugin_tools.py
fix(docker): a container's memory is its processes' own; file cache shown on its page (
#6030
)
2026-10-17 21:27:29 -04:00
test_mcp_tools.py
perf(metrics): a latest-value table for "what is it now"; dashboard cells say loading, failed and as-of (
#5208
)
2026-10-06 23:06:34 -04:00
test_mcp.py
feat(mcp): connect card, MCP docs, and an end-to-end roles/audit test over HTTP
2026-10-06 08:25:41 -04:00
test_metric_index.py
perf(metrics): a day of one metric reads from the index alone, built after boot (
#5490
)
2026-10-09 13:23:46 -04:00
test_metric_latest.py
feat(dashboard): Hosts widget worst first, load against cores, one home per fact (
#5251
)
2026-10-07 13:15:01 -04:00
test_monitor_history.py
feat(monitors): a monitor's page reads as a page — response time over 24h, labelled actions, how long, not "ago"; the add form says what each type checks (
#5214
)
2026-10-07 15:57:09 -04:00
test_monitors.py
feat(hosts): the Hosts list labels its figures and says how long; SLA tab gone; one place to add a host (#5279–#5283)
2026-10-07 17:12:17 -04:00
test_norms.py
feat(norms): Steward learns each metric's normal per hour of day, then week (
#5739
)
2026-10-14 12:48:44 -04:00
test_notification_test_send.py
feat(email): the report, invites, resets and test sends go through the outbox; only it talks SMTP (
#5508
)
2026-10-09 16:05:01 -04:00
test_passwords.py
feat(email): the report, invites, resets and test sends go through the outbox; only it talks SMTP (
#5508
)
2026-10-09 16:05:01 -04:00
test_plugin_secrets.py
fix(settings): a plugin's password is sealed at rest, and a blank box keeps it (
#5671
)
2026-10-12 07:06:31 -04:00
test_prometheus_scrape.py
feat(prometheus): fold state sets on the target page; forget series an endpoint drops (
#5689
)
2026-10-12 15:11:24 -04:00
test_prometheus_template_library.py
test(prometheus): set the template's version line whatever it is, not only version: 1 (
#5693
)
2026-10-14 09:45:53 -04:00
test_prometheus_widget.py
feat(prometheus): the Prometheus dashboard widget, target + template (
#5691
)
2026-10-14 07:05:15 -04:00
test_renames.py
test(alerts): seed metrics the way ingest does, through record_metrics (
#5473
)
2026-10-09 09:28:53 -04:00
test_schedule_run_now.py
fix(ansible): Run now runs the playbook and leaves the schedule's time alone (
#5445
)
2026-10-08 22:08:18 -04:00
test_snmp_poll.py
feat(snmp): NAS presets for Synology and Asustor, reading every disk and volume (
#5985
,
#5986
)
2026-10-16 22:40:14 -04:00
test_syslog.py
fix(syslog): a row from before the name split, last seen as a device, stays that device's (
#6096
)
2026-10-19 12:16:08 -04:00
test_traefik_latest.py
test(traefik): mount the plugin's routes in the route test (
#5741
)
2026-10-14 15:56:45 -04:00
test_unifi_history.py
fix(unifi): the Overview's history buckets on Postgres; devices name their state (
#5207
)
2026-10-08 17:28:19 -04:00
test_users_page.py
fix(users): a password reset signs out every session begun with the old password (
#5427
)
2026-10-08 17:25:35 -04:00