Yes I'm suggesting a hard coded json string. You probably would want to put this in the individual tests rather than in this assertValidJson function.

I think it's fine to write a string for each test. In the future when someone modifies the json protocol, it will force them to have to extend the test strings as well. This will mean there is no way they can add something flippantly which actually returns an Option or some other type they don't expect to. Basically we want to force people to test the end-to-end behavior if they extend this in the future.