[#76062972] Reduce reliance on `time.Sleep` for tests

Where possible we should use the asynchronous constructs provided by
our testing utilities (ginkgo and gomega).

The majority of tests have been converted to use these new matchers.
The only test that hasn't been converted is one that relies on
timings (TCP reconnection in Redis) where an internal goroutine's
behaviour (read: delay) is time-based.
Does it work in this case without the function? There are some examples in the link you posted above though I'm not sure if they apply here. I think it'd be more readable if it's possible without the function.