There are two hostnames given in this HTTPRequest:  "localhost" in the url, and "subtenant2.somewhereelse.com" in the headers dict.  It's unclear what an HTTP client is supposed to do with that; I could easily imagine some clients using the header, some using the url, and some throwing an error.  As it happens, tornado's simple_httpclient currently uses the header.  If it used the url instead, this test would be redundant with the previous one and there would be no test of the handling of subdomains.  

I think the cleanest way to ensure that this test actually covers subdomains is to construct a new SimpleAsyncHTTPClient using the hostname_mapping parameters, so you can point both subdomains of somewhereelse.com to 127.0.0.1, and you don't have to use a host header that doesn't match the url.