This just builds upon #786 to make sure it's not lost.
In our applications, we need to ping the database with what we determine is a sane timeout, to ensure that our execution isn't halted for too long, but since PingContext doesn't respect the context we are having issues when our database falls over in testing.