Skip to content

Assert the $_db_notify database-rebuild gating - #171

Open
hcaballero2 wants to merge 2 commits into
masterfrom
rspec-hardening
Open

Assert the $_db_notify database-rebuild gating#171
hcaballero2 wants to merge 2 commits into
masterfrom
rspec-hardening

Conversation

@hcaballero2

@hcaballero2 hcaballero2 commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Unit-test hardening, split out of the original combined PR #168 per review feedback.

  • spec/classes/init_spec.rb: assert the $_db_notify database-rebuild gating in both directions — a bare config edit with manage_database => false must NOT notify a rebuild, and with manage_database => true the managed aide.conf line must notify Exec[update_aide_db]. This central safety invariant was previously unasserted.

Branches off master; independent of the AGENTS.md and acceptance PRs (linked below).

Related PRs (split from #168)

spec/classes/init_spec.rb: assert the $_db_notify database-rebuild gating
in both directions -- a bare config edit with manage_database => false must
NOT notify a rebuild, and with manage_database => true the managed
aide.conf line must notify Exec[update_aide_db]. This central safety
invariant was previously unasserted.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The negative-direction assertion relied on `resource[:notify]` being nil,
which passes for many unrelated reasons (undef is stripped at compile
time) and is nearly tautological given the sibling `not_to contain_exec`
check. Replace it with a first-class relationship matcher guarded by an
existence assertion, since `not_to ...that_notifies` passes vacuously
when the resource is absent.

Also add a `database_in` negative context to cover a more common field
edit alongside DBDIR; both lines share the same `notify => $_db_notify`
wiring.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: New

Development

Successfully merging this pull request may close these issues.

2 participants