Skip to content

test(backups): unit tests for the unit-04 scaffolding - #208

Draft
marceloneppel wants to merge 1 commit into
feat/04-backups-scaffoldingfrom
feat/04-backups-scaffolding-tests
Draft

test(backups): unit tests for the unit-04 scaffolding#208
marceloneppel wants to merge 1 commit into
feat/04-backups-scaffoldingfrom
feat/04-backups-scaffolding-tests

Conversation

@marceloneppel

Copy link
Copy Markdown
Member

Issue

The unit 04 scaffolding in #207 ships without unit tests, following the code-then-tests split used for the earlier migration units.

Solution

Cover every accessor and workload primitive #207 adds.

Each accessor is asserted against its own key, service name and path, so a copy-paste slip between two neighbouring fields fails rather than passing on a value the fields happen to share. Every service primitive is driven with two distinct names per substrate, because with a single name an implementation that ignored the argument and reached for its own constant would pass unchallenged. Setters are asserted to leave every sibling key untouched, and the cross-scope stanza reader is covered for both precedence and fallback, since a restore that reads the wrong databag silently archives to the wrong repository.

Checklist

  • I have added or updated any relevant documentation.
  • I have cleaned any remaining cloud resources from my accounts.

Each accessor and workload primitive is asserted against its own key,
service name and path, so a copy-paste slip between two neighbouring
fields fails rather than passing on a shared value. Every service
primitive is driven with two distinct names per substrate, because with a
single name an implementation that ignored the argument and reached for
its own constant would pass unchallenged, and the setters are asserted to
leave every sibling key untouched. The cross-scope stanza reader is
covered for both precedence and fallback, since a restore that reads the
wrong databag silently archives to the wrong repository.

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant