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
a9998681f9744c45275189d9f23f7ff5bf173257
FabledSteward
/
tests
/
core
T
History
bvandeusen
and
Claude Opus 5.5
a9998681f9
CI / lint (push)
Successful in 2s
Details
CI / integration (push)
Successful in 1m11s
Details
CI / unit (push)
Successful in 1m27s
Details
CI / publish (push)
Successful in 1m6s
Details
test(core): the +Inf bucket is its le label, not its value (
#5667
)
...
Co-Authored-By: Claude Opus 5.5 <
noreply@anthropic.com
>
2026-10-12 06:58:48 -04:00
..
__init__.py
test(settings): failing tests for public_base_url helper
2026-04-15 20:29:28 -04:00
test_alert_episodes.py
feat(email): delivery you can see: each alert's email in history, outgoing email on Settings -> System (
#5509
)
2026-10-09 16:12:40 -04:00
test_alert_history_row.py
feat(email): delivery you can see: each alert's email in history, outgoing email on Settings -> System (
#5509
)
2026-10-09 16:12:40 -04:00
test_alert_no_data.py
fix(alerts): a series that comes back gets one history event, not two at one instant (
#5442
)
2026-10-08 21:48:43 -04:00
test_alert_pickers.py
fix(alerts): a rule's page opens at once; its pickers read the latest values (
#5473
)
2026-10-09 09:24:21 -04:00
test_alert_rule_target.py
fix(alerts): a metric picked on one part doesn't follow you to another (
#5475
)
2026-10-09 09:58:29 -04:00
test_alert_state_machine.py
fix(alerts): acknowledgements hold until resolve; clear after N OK; rule changes reset (
#5059
)
2026-10-06 11:32:17 -04:00
test_alert_test_alert.py
feat(alerts): Send test on a rule checks that its alerts reach someone (
#5466
)
2026-10-09 08:33:32 -04:00
test_alerts_page.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_alerts_widget.py
test(alerts): the widget test reads the time as |ago writes it (
#5510
)
2026-10-09 16:31:57 -04:00
test_ansible_executor.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_guards.py
feat(ansible): runs stay inside their source; controller-side vars are admin-only (
#5034
)
2026-10-06 10:57:34 -04:00
test_ansible_inventory_page.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): a run that waited says so in its stored output, not only live (
#5158
)
2026-10-06 21:29:21 -04:00
test_ansible_playbooks_page.py
feat(ansible): schedules read as sentences, each with its own page (
#5332
)
2026-10-07 23:51:15 -04:00
test_ansible_runs_page.py
feat(ansible): Inventory on one page, add behind dialogs, delete behind the confirm (
#5333
)
2026-10-07 23:57:54 -04:00
test_ansible_schedules_page.py
feat(ansible): schedules read as sentences, each with its own page (
#5332
)
2026-10-07 23:51:15 -04:00
test_audit_page.py
test(audit): the day-group fixture is a def, not a lambda (ruff E731)
2026-10-08 08:32:40 -04:00
test_builtin_source.py
feat(ansible): parameterize docker_prune with prune_target (containers/images/system)
2026-07-19 16:09:39 -04:00
test_capabilities.py
feat(plugins): plugin capability registry + host_agent→Ansible deploy synergy
2026-06-16 11:28:29 -04:00
test_cleanup.py
feat(retention): every growing table is pruned; the audit log has its own window; charts read the raw window from Settings (
#5155
)
2026-10-06 21:05:22 -04:00
test_clock_trouble.py
feat(host_agent): how far each host's clock is from Steward's (milestone 490)
2026-10-08 08:00:33 -04:00
test_crypto.py
feat(ansible): host provisioning via steward managed SSH identity
2026-06-16 17:17:38 -04:00
test_dashboard_defaults.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_db_readiness.py
fix(db): ride out a brief database outage mid-request; explain it if it persists
2026-08-13 08:23:01 -04:00
test_dns_check.py
feat(monitors): a DNS monitor can name a resolver; the host page puts Ansible above Docker (
#5214
)
2026-10-07 16:14:11 -04:00
test_fd_stability.py
feat(reliability): fd-leak rails — self-watchdog, poll-overlap guard, fd tests
2026-06-24 10:36:53 -04:00
test_formatting.py
feat(audit): every row keeps its date; dividers for Today, Yesterday, Last 7 days, Older (
#5214
)
2026-10-08 08:22:03 -04:00
test_git_askpass.py
feat(secrets): webhook URL and git tokens sealed; run output masks its secrets (
#5037
)
2026-10-06 11:14:37 -04:00
test_git_sources.py
fix(ansible): git sources work in the image and survive a redeploy; pulls time out; alert vars go in a JSON file (
#5157
)
2026-10-06 21:13:14 -04:00
test_host_page.py
feat(alerts): history reads as episodes; tests follow the confirm dialog (
#5316
,
#5314
)
2026-10-07 23:02:01 -04:00
test_ids.py
fix(metrics): time-series rows get time-ordered ids, so an insert stops costing a disk read (
#5149
)
2026-10-06 18:58:41 -04:00
test_inventory_gen.py
fix(ansible): group names Ansible accepts, and interpreter discovery without the warning (
#5334
)
2026-10-08 00:01:54 -04:00
test_invites.py
feat(users): invite by email — a one-time link where the invitee makes their own account (milestone 496)
2026-10-08 16:54:44 -04:00
test_logging_setup.py
feat(platform): tini as PID 1, Hypercorn, a log-level setting, the image on CI's Python, an airgapped boot gate before push (
#5159
)
2026-10-06 21:29:21 -04:00
test_macros.py
feat(ui): status_badge, status_dot, stat_tile, empty_state, page_header, icon_button and form classes (
#5094
)
2026-10-06 14:34:21 -04:00
test_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_metric_catalog.py
feat(alerts): silence is alertable — agent offline and no-data (
#5062
)
2026-10-06 13:06:54 -04:00
test_metrics_retention.py
feat(metrics): roll plugin_metrics up to hourly to bound storage
2026-06-20 21:08:30 -04:00
test_monitor_schedule.py
fix(monitors): run each monitor on its own interval, from its scheduled start (
#5151
)
2026-10-06 18:31:07 -04:00
test_monitors_page.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(monitors): a DNS monitor can name a resolver; the host page puts Ansible above Docker (
#5214
)
2026-10-07 16:14:11 -04:00
test_notifications.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_outbox.py
feat(email): delivery you can see: each alert's email in history, outgoing email on Settings -> System (
#5509
)
2026-10-09 16:12:40 -04:00
test_paging.py
feat(ui): audit log, alert history and Ansible runs load as you scroll (
#5211
)
2026-10-07 00:10:53 -04:00
test_password_resets.py
feat(auth): reset a forgotten password from an emailed link (milestone 497)
2026-10-08 20:17:24 -04:00
test_ping_checks.py
fix(monitors): a failed ping or TCP check says why (
#5430
)
2026-10-08 21:49:42 -04:00
test_playbook_editor.py
feat(ansible): in-app playbook authoring/editor
2026-06-16 11:39:47 -04:00
test_plugin_nav.py
feat(ui): plugin get_nav() hook → sidebar Infrastructure links (slice 2)
2026-06-19 18:00:12 -04:00
test_plugin_settings_hygiene.py
fix(plugins): show load-failure reasons on the page the banner links to
2026-08-13 08:36:35 -04:00
test_problems_first.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_prometheus.py
test(core): the +Inf bucket is its le label, not its value (
#5667
)
2026-10-12 06:58:48 -04:00
test_report_schedule.py
feat(settings): Settings brought into line with the rest of Steward (milestone 493)
2026-10-08 13:28:43 -04:00
test_run_scrub.py
feat(secrets): webhook URL and git tokens sealed; run output masks its secrets (
#5037
)
2026-10-06 11:14:37 -04:00
test_scheduler_overlap.py
fix(scheduler): a task marked not to run on startup waits an interval after boot (
#5431
)
2026-10-08 21:52:08 -04:00
test_self_monitor.py
feat(health): Steward records its own health and Settings → System shows it (
#5467
)
2026-10-09 14:02:50 -04:00
test_settings_default_plugins.py
fix(plugins): remove the phantom http plugin; surface orphaned plugin settings
2026-08-12 23:41:06 -04:00
test_settings_pages.py
feat(settings): Settings brought into line with the rest of Steward (milestone 493)
2026-10-08 13:28:43 -04:00
test_settings_public_base_url.py
chore: rename project Roundtable → Steward
2026-04-25 16:20:14 -04:00
test_status_page.py
feat(monitors): Monitors absorbs the Status page; Status is removed (
#5270
)
2026-10-07 15:36:38 -04:00
test_status.py
feat(docker): the service and container pages say each fact once (
#5310
)
2026-10-07 21:33:25 -04:00
test_steward_health.py
feat(email): delivery you can see: each alert's email in history, outgoing email on Settings -> System (
#5509
)
2026-10-09 16:12:40 -04:00
test_undecryptable_secrets.py
feat(crypto): fail loudly on unpersistable secret key; flag undecryptable secrets
2026-06-19 13:52:27 -04:00
test_user_guards.py
feat(settings): Users page — list, add, rename, role, password, disable, delete (
#5336
)
2026-10-08 14:12:56 -04:00
test_viewer_actions.py
feat(ansible): schedules read as sentences, each with its own page (
#5332
)
2026-10-07 23:51:15 -04:00
test_watch.py
fix(alerts): Steward's own outage no longer reads as every agent going silent (
#5441
)
2026-10-08 21:45:47 -04:00