RequestSecurityManager securityManager = mockRequestSecurityManager();
Request request = mockRequest();
Response response = mockResponse();
ComponentInvocationMap invocationMap = new NoOpComponentInvocationMap();
RequestPathOptimizer optimizer = mockRequestPathOptimizer();
Capture<Link> linkCapture = new Capture();
LinkFactoryListener listener = mockLinkFactoryListener();
train_getLogicalName(page, logicalName);
if (!overrideContext)
train_collectPageActivationContext(collector, page, context);
train_getBaseURL(securityManager, page, null);
train_getContextPath(request, "/context");
train_optimizePath(optimizer, expectedURL, optimizedURL);
train_encodeURL(response, optimizedURL, encodedURL);
listener.createdPageRenderLink(capture(linkCapture));
replay();
LinkFactory factory = new LinkFactoryImpl(request, response, invocationMap, null, optimizer, null,
securityManager, contextPathEncoder, collector);
factory.addListener(listener);
Object[] passedContext = overrideContext ? context : new Object[0];
Link link = factory.createPageRenderLink(page, overrideContext, passedContext);
// Make sure the same link is returned.
assertSame(linkCapture.getValue(), link);
assertEquals(link.toURI(), encodedURL);
verify();
}