Run the published surface check, and pin the core that publishes it #3
Labels
No labels
bug
documentation
enhancement
security
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Postulo/postulo-apprise#3
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The surface it was waiting for landed in the core (postulo/postulo#229,
1d6cdd7e0):postulo.plugins.apinow carries the notifier contract, the records a sync works on, thecalls that write to a timeline, the details that hang off a contact, and the calendar text.
The core also publishes the check itself as
postulo.plugins.testing, so a plugin canassert the same thing about its own source that Postulo asserts about the ones it ships.
This plugin already imports nothing but
postulo.plugins.api—DestinationRefused,FieldSpec,TestResultandcheck_destination— so there is nothing to move.What it has is its own copy of the AST walk in
tests/test_surface.py. So dopostulo-paperless, postulo-helloworld and postulo-imap, and postulo-dav had a fourth
inside
test_dav.py: five near-identical checks, each subtly different about relativeimports and about what counts as reaching past. That is the drift the published one exists
to stop.
Run the published check
Keep what is particular to this plugin — that the four names it asks of the surface are on
__all__rather than merely reachable, since__all__is what the promise is made about.Also
1d6cdd7e0or later, sopostulo.plugins.testingis there to import.