I have used the domain access module to create 2 domains that our business use, and I wanted to test them in the CI cycle. How do I test them in CI that they are active and each domain uses the correct theme?
You can easily craft a test that uses CURL to hit your site using domainA and another curl request to hit your site using domainB. What I would do is make sure each theme contains its own favicon (even if the actual favicon is the same, duplicate the file and put a copy in each theme). Then you can just look at the path to the favicon in the result of your CURL and you'll see the name of themeA or themeB and voila. You know it worked (or didnt).
If I understand correctly, your only problem is that the CI system isn't accessible via the production domains, which point at the live system.
It sounds like the best way to do this would be to craft HTTP requests to the CI system directly, setting the appropriate HOST header each time.
(This could be done both manually eg. with a client like Postman, and automated as part of the CI tests.)