/** * {@inheritDoc} * * @see junit.framework.TestCase#setUp() */ @Override protected void setUp() throws Exception { super.setUp(); this.databases.put(MAIN_WIKI_NAME, new HashMap<String, XWikiDocument>()); XWiki xwiki = new XWiki() { public XWikiDocument getDocument(String fullname, XWikiContext context) throws XWikiException { return XWikiServletURLFactoryTest.this.getDocument( Utils.getComponent(DocumentReferenceResolver.class, "currentmixed") .resolve(fullname)); } public XWikiDocument getDocument( DocumentReference documentReference, XWikiContext context) throws XWikiException { return XWikiServletURLFactoryTest.this.getDocument(documentReference); } public String getXWikiPreference( String prefname, String defaultValue, XWikiContext context) { return defaultValue; } protected void registerWikiMacros() {} }; xwiki.setConfig((this.config = new XWikiConfig())); xwiki.setDatabase(getContext().getDatabase()); Mock mockXWikiRequest = mock(XWikiRequest.class, new Class[] {}, new Object[] {}); mockXWikiRequest.stubs().method("getScheme").will(returnValue("http")); mockXWikiRequest .stubs() .method("isSecure") .will( new CustomStub("Implements ServletRequest.isSecure") { public Object invoke(Invocation invocation) throws Throwable { return secure; } }); mockXWikiRequest.stubs().method("getServletPath").will(returnValue("")); mockXWikiRequest.stubs().method("getContextPath").will(returnValue("/xwiki")); mockXWikiRequest .stubs() .method("getHeader") .will( new CustomStub("Implements HttpServletRequest.getHeader") { public Object invoke(Invocation invocation) throws Throwable { String headerName = (String) invocation.parameterValues.get(0); return httpHeaders.get(headerName); } }); getContext().setWiki(xwiki); getContext().setRequest((XWikiRequest) mockXWikiRequest.proxy()); // Create sub-wikis. createWiki("wiki1"); createWiki("wiki2"); getContext().setURL(new URL("http://127.0.0.1/xwiki/view/InitialSpace/InitialPage")); this.urlFactory.init(getContext()); }