Documentation
¶
Overview ¶
Package backendtest holds the shared conformance suites for backend implementations. Both the in-memory fake (memstore) and the real RcloneStorage run them, so a behavior the fake is trusted to model is the behavior the real backend is required to have. The suites assert only what the interfaces expose, so they work against any implementation.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BackendContract ¶ added in v0.3.0
BackendContract runs the object-store conformance suite. newStore must return a fresh, empty store on each call (registering any cleanup via t itself).
func HeaderStoreContract ¶
HeaderStoreContract runs the header conformance suite. newStore must return a fresh, empty store on each call (registering any cleanup via t itself). Every store keeps a ".prev" backup (notenv no longer relies on a remote's own version history as a substitute).
func VaultContract ¶ added in v0.18.0
VaultContract asserts the property the Backend and HeaderStore suites miss by running on separate stores: when a header and blobs coexist, List must return only the blobs, never the header artifacts. A backend that leaks the header into List lets whole-vault and orphan-cleanup callers mistake it for a stray object and delete it, bricking the vault. newStore must return a fresh, empty store on each call.