Not entirely sure about this approach (and the stuff to get the test working), but I use kunitconversion in mangonel and the blocking behavior annoyed me a lot.
A simpler approach would be to just try to check and download the cache immediately, but still force wait in the foreground, but the code (at least behavior) gets a lot more complex, especially with threading.