Grab the existing benchmark harness code to test various end-to-end query scenarios, checking behavior for various query scenarios such as:
- If the request is filtered, does it skip the cache and client? How does the filtered response look?
- If the request is cached, does it skip querying the client? How does the cached response look?
- If the request lacks an OPT record, does the response lack an OPT record? (For each of filtered/cached/upstream)
Keeping it at a high level of "send request, check resulting external behavior and response" should keep it pretty resilient to refactoring etc.
This can later be expanded to validate server+client functionality for e.g. #21 (COOKIE) and #35 (NSID).