sslsplit icon indicating copy to clipboard operation
sslsplit copied to clipboard

End-to-end test framework

Open droe opened this issue 7 years ago • 1 comments

Add an initial version of an end-to-end test framework: A set of python scripts that start sslsplit in various configurations, send requests through it, checking all of client-side, server-side and resulting logs. Test case specification with script callbacks (test cases are python modules).

  • [ ] Make initial list of tests we'd want to be able to support, decide on minimal viable feature set
  • [x] Research if there is already an existing test framework that could support our use cases
  • [ ] Write initial set of end-to-end tests covering most frequent/important use cases, which must cover as an absolute minimum at least the tcp and ssl modes, the single-file connection log, and the single-file content log
  • [ ] Run the end-to-end tests as part of make test, including TravisCI builds
  • [ ] Manage the test dependencies in GNUmakefile

~~Only if using an existing framework:~~

  • [x] ~~Learn and configure it for our purposes~~

Only if not using an existing framework:

  • [ ] Design and document basic structure of a test
  • [ ] Write test runner: loading all tests, setting up fixtures (e.g. server), running tests, reporting results; consider using Docker as an underlying fabric

Out of scope:

  • Achieving comprehensive test coverage, especially for less common features and scenarios
  • Performance testing

droe avatar Aug 30 '18 23:08 droe

develop gained a Dockerfile that could serve as a base for test containers.

droe avatar Oct 08 '18 21:10 droe