Nice! Thanks for sharing. The expectation part reminds me of this jane street post [1].
Agreed, thanks for sharing that post. Good read.
I like to use txtar files for snapshot testing. I let one of the file fields contain the expected output and one or more contain the input(s). Most mainstream languages already have txtar parsers so this approach makes it trivial to port an entire test suite across languages.
See https://docs.rs/txtar/latest/txtar/ for an example
There's a version of this for testing SQL database:
You have a .sql file that contains the query and then the response is next AS SQL COMMENTS. The test runner runs the query and verifies that it matches the (comment-delimiter stripped) comment immediately following the query.
Your .sql can contain database creation, inserts, you name it.
Then you run them as part of your CI infrastructure.