Add storage adapter tests from automerge-repo#59
Open
jmoggr wants to merge 1 commit intoalexjg:mainfrom
Open
Conversation
358774b to
1d36b0b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I needed to implement a storage adapter and was missing the re-useable storage adapter tests that were available in
automerge-repo.Changes:
samod::storage::testingmodule which implements the tests from storage-adapter-tests.ts.samod/tests/in_memory_storage_tests.rswhich runs thesamod::storage::testingmodule tests against theInMemoryStoragestorage adapter.samod/tests/goi_storage_tests.rsandsamod/tests/tokio_storage_tests.rswith the tests fromsamod::storage::testing.I've never written re-usable tests in rust before so I'm not sure I've used the "correct" approach. The
StorageTestFixturetrait made the testing interface explicit and easy to implement while pushing the ugly type shenanigans into the privaterun_testfunction. I'm happy to change this if there is a different pattern I should be following.I could not find the
samodequivalent toautomerge-repo/src/helpers/tests, so the naming and location of thesamod::storage::testingmodule is just my best guess.