This is a good idea. I did a test suite for shs a year ago, but that one dynamically performs hanshakes (and is written in js) rather than replaying pre-recorded data.
Some suggestions for test cases on the transport-layer:
- shs
- box-stream
- box-stream with secret negotiation via shs
- packet-stream and packet-stream-codec
To tie it all together: A really overengineered calculator: Test suite provides the server, which does a handshake, encrypts via box-stream, then takes muxrpc (both req/res for simple calculation and duplexes for larger calculations) over packet-stream and sends back the results. The implementer writes a client that sends some set of computations to the server and must write the received responses to stdout.
This is something that would have been immensely valuable to me when I worked on the Rust implementations of the transport layer protocols.