I was facing similar problems on ubuntu 18.04 with staging so went through the process of enabling the ppa and updating python3-acme as per the suggestions on this thread. After that running certbot with renew --dry-run --test-cert now returns with “Congratulations”, but all is not what it seems …
It only appears to work, but the certbot staging server is never actually making the authorization request. I can demonstrate this for example with:
certbot renew --webroot -w /opt/ --test-cert --dry-run -v
(/opt is not in my webroot)
The same command also returns Congratulations if I completely stop my apache2 web server and run again.
This is defeating the purpose of the dry run as what I am trying to test is whether I have my permissions settings correct on the Location for .well-known/acme-challenge. I don’t believe this is expected behaviour, or if it is then it has changed.