Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@drieseng here is my take on the subject. Trying to abort network connections using docker seemed trivial at first, but failed miserably in the end. I tried pausing the container, but Docker's network stack seems to function as a reverse proxy: even when the container is paused, it would still accept network connections and autonomously respond to TCP keepalives.
Stopping the container of course nicely closes network connections, which is not what we want in this case.
In the process I have refactored the code to have a clean separation of different methods we could use to disrupt network connectivity. I have also made tests inconclusive in case network disruption fails. I think this is worth including in the codebase. Please have a look and let me know.
Apart from moving VirtualBox support into separate class I have not touched it as I don't have any VirtualBox experience. I presume this is something you can have a look at later?
I merged, this will fix #4.