in src/main/java/org/apache/sling/launchpad/testservices/serversidetests/ResourceResolverWithVanityBloomFilterTest.java [666:728]
public void testResolveVirtualHostHttp80Multiple() throws Exception {
final String de = "de";
final String en = "en";
final String hostDE = de + ".host.com";
final String hostEN = en + ".host.com";
final String contentDE = "/content/" + de;
final String contentEN = "/content/" + en;
Node virtualhost80a = mapRoot.getNode("map/http").addNode(hostDE + ".80", "sling:Mapping");
virtualhost80a.setProperty(PROP_REDIRECT_INTERNAL, contentDE);
Node virtualhost80 = mapRoot.getNode("map/http").addNode(hostEN + ".80", "sling:Mapping");
virtualhost80.setProperty(PROP_REDIRECT_INTERNAL, contentEN);
try {
saveMappings(session);
// de content mapping
final HttpServletRequest requestDE = new FakeSlingHttpServletRequest(null, hostDE, -1, rootPath);
final Resource resDE0 = resResolver.resolve(requestDE, "/playground.html");
assertNotNull(resDE0);
assertEquals(contentDE + "/playground.html", resDE0.getPath());
final Resource resDE1 = resResolver.resolve(requestDE, "/playground/index.html");
assertNotNull(resDE1);
assertEquals(contentDE + "/playground/index.html", resDE1.getPath());
final String mappedDE00 = resResolver.map(resDE0.getPath());
assertEquals("http://" + hostDE + "/playground.html", mappedDE00);
final String mappedDE01 = resResolver.map(requestDE, resDE0.getPath());
assertEquals("/playground.html", mappedDE01);
final String mappedDE10 = resResolver.map(resDE1.getPath());
assertEquals("http://" + hostDE + "/playground/index.html", mappedDE10);
final String mappedDE11 = resResolver.map(requestDE, resDE1.getPath());
assertEquals("/playground/index.html", mappedDE11);
// en content mapping
final HttpServletRequest requestEN = new FakeSlingHttpServletRequest(null, hostEN, -1, rootPath);
final Resource resEN0 = resResolver.resolve(requestEN, "/playground.html");
assertNotNull(resEN0);
assertEquals(contentEN + "/playground.html", resEN0.getPath());
final Resource resEN1 = resResolver.resolve(requestEN, "/playground/index.html");
assertNotNull(resEN1);
assertEquals(contentEN + "/playground/index.html", resEN1.getPath());
final String mappedEN00 = resResolver.map(resEN0.getPath());
assertEquals("http://" + hostEN + "/playground.html", mappedEN00);
final String mappedEN01 = resResolver.map(requestEN, resEN0.getPath());
assertEquals("/playground.html", mappedEN01);
final String mappedEN10 = resResolver.map(resEN1.getPath());
assertEquals("http://" + hostEN + "/playground/index.html", mappedEN10);
final String mappedEN11 = resResolver.map(requestEN, resEN1.getPath());
assertEquals("/playground/index.html", mappedEN11);
} finally {
virtualhost80a.remove();
virtualhost80.remove();
session.save();
}
}