Search in sources :

Example 81 with ExecutionContext

use of org.xwiki.context.ExecutionContext in project xwiki-platform by xwiki.

the class SolrReferenceResolverTest method setUp.

@Before
public void setUp() throws Exception {
    this.defaultSolrReferenceResolver = this.mocker.getInstance(SolrReferenceResolver.class);
    Utils.setComponentManager(this.mocker);
    // XWiki
    this.xwiki = mock(XWiki.class);
    // XWikiContext
    this.xcontext = new XWikiContext();
    this.xcontext.setWikiId("xwiki");
    this.xcontext.setWiki(this.xwiki);
    // XWikiContext Provider
    Provider<XWikiContext> xcontextProvider = this.mocker.getInstance(XWikiContext.TYPE_PROVIDER);
    when(xcontextProvider.get()).thenReturn(this.xcontext);
    // XWikiContext trough Execution
    Execution execution = this.mocker.getInstance(Execution.class);
    execution.setContext(new ExecutionContext());
    execution.getContext().setProperty(XWikiContext.EXECUTIONCONTEXT_KEY, this.xcontext);
    // References
    this.objectReference1221 = new BaseObjectReference(this.classReference111, 0, this.documentReference122);
    this.objectReference1222 = new BaseObjectReference(this.classReference111, 1, this.documentReference122);
    this.propertyReference12221 = new ObjectPropertyReference("aStringProperty", objectReference1222);
    this.propertyReference12223 = new ObjectPropertyReference("anIntegerProperty", objectReference1222);
    // XWiki model data
    this.xclass111 = mock(BaseClass.class);
    this.xdocument111 = mock(XWikiDocument.class, "xwikiDocument111");
    this.xdocument112 = mock(XWikiDocument.class, "xwikiDocument112");
    this.xdocument113 = mock(XWikiDocument.class, "xwikiDocument113");
    this.xdocument121 = mock(XWikiDocument.class, "xwikiDocument121");
    this.xattachment1211 = mock(XWikiAttachment.class, "xwikiAttachment1211");
    this.xattachment1212 = mock(XWikiAttachment.class, "xwikiAttachment1212");
    this.xdocument122 = mock(XWikiDocument.class, "xwikiDocument122");
    this.xobject1221 = mock(BaseObject.class, "xwikiObject1221");
    this.xobject1222 = mock(BaseObject.class, "xwikiObject1222");
    this.xproperty12221 = mock(StringProperty.class, "xwikiProperty12221");
    this.xproperty12223 = mock(IntegerProperty.class, "xwikiProperty12223");
    this.queryManager = this.mocker.getInstance(QueryManager.class);
    final Query spacesWiki1Query = mock(DefaultQuery.class, "getSpacesWiki1");
    final Query documentsSpace11Query = mock(DefaultQuery.class, "getSpaceDocsNameSpace11");
    final Query documentsSpace12Query = mock(DefaultQuery.class, "getSpaceDocsNameSpace12");
    final Query documentsSpace13Query = mock(DefaultQuery.class, "getSpaceDocsNameSpace13");
    final Query spacesWiki2Query = mock(DefaultQuery.class, "getSpacesWiki2");
    // Data
    when(xwiki.exists(any(DocumentReference.class), any(XWikiContext.class))).thenReturn(true);
    // Query manager and specific queries mocking.
    when(queryManager.getNamedQuery("getSpaces")).thenReturn(spacesWiki1Query);
    when(spacesWiki1Query.setWiki(wikiReference1.getName())).thenReturn(spacesWiki1Query);
    when(spacesWiki1Query.setWiki(wikiReference2.getName())).thenReturn(spacesWiki2Query);
    when(queryManager.getNamedQuery("getSpaceDocsName")).thenReturn(documentsSpace11Query);
    when(documentsSpace11Query.setWiki(any(String.class))).thenReturn(documentsSpace11Query);
    EntityReferenceSerializer<String> localEntityReferenceSerializer = this.mocker.getInstance(EntityReferenceSerializer.TYPE_STRING, "local");
    when(documentsSpace11Query.bindValue("space", localEntityReferenceSerializer.serialize(spaceReference11))).thenReturn(documentsSpace11Query);
    when(documentsSpace11Query.bindValue("space", localEntityReferenceSerializer.serialize(spaceReference12))).thenReturn(documentsSpace12Query);
    when(documentsSpace11Query.bindValue("space", localEntityReferenceSerializer.serialize(spaceReference13))).thenReturn(documentsSpace13Query);
    // Spaces in wikis.
    when(spacesWiki1Query.execute()).thenReturn(Arrays.<Object>asList(localEntityReferenceSerializer.serialize(spaceReference11), localEntityReferenceSerializer.serialize(spaceReference12), localEntityReferenceSerializer.serialize(spaceReference13)));
    when(spacesWiki2Query.execute()).thenReturn(Collections.emptyList());
    // space 11
    when(documentsSpace11Query.execute()).thenReturn(Arrays.<Object>asList(classReference111.getName(), documentReference112.getName(), documentReference113.getName()));
    // document 111
    when(xwiki.getDocument(eq(documentReference111), any(XWikiContext.class))).thenReturn(xdocument111);
    when(xdocument111.getXClass()).thenReturn(xclass111);
    // document 112
    when(xwiki.getDocument(eq(documentReference112), any(XWikiContext.class))).thenReturn(xdocument112);
    when(xdocument112.getXObjects()).thenReturn(Collections.<DocumentReference, List<BaseObject>>emptyMap());
    when(xdocument112.getTranslationLocales(any(XWikiContext.class))).thenReturn(Collections.<Locale>emptyList());
    // document 113
    when(xwiki.getDocument(eq(documentReference113), any(XWikiContext.class))).thenReturn(xdocument113);
    when(xdocument113.getAttachmentList()).thenReturn(Collections.<XWikiAttachment>emptyList());
    when(xdocument113.getXObjects()).thenReturn(Collections.<DocumentReference, List<BaseObject>>emptyMap());
    when(xdocument113.getTranslationLocales(any(XWikiContext.class))).thenReturn(Arrays.asList(new Locale("ro")));
    // space 12
    when(documentsSpace12Query.execute()).thenReturn(Arrays.<Object>asList(documentReference121.getName(), documentReference122.getName()));
    // document 121
    when(xwiki.getDocument(eq(documentReference121), any(XWikiContext.class))).thenReturn(xdocument121);
    when(xdocument121.getAttachmentList()).thenReturn(Arrays.asList(xattachment1211, xattachment1212));
    when(xattachment1211.getReference()).thenReturn(attachmentReference1211);
    when(xattachment1212.getReference()).thenReturn(attachmentReference1212);
    when(xdocument121.getXObjects()).thenReturn(Collections.<DocumentReference, List<BaseObject>>emptyMap());
    when(xdocument121.getTranslationLocales(any(XWikiContext.class))).thenReturn(Collections.<Locale>emptyList());
    // document 122
    when(xwiki.getDocument(eq(documentReference122), any(XWikiContext.class))).thenReturn(xdocument122);
    when(xdocument122.getAttachmentList()).thenReturn(Collections.<XWikiAttachment>emptyList());
    Map<DocumentReference, List<BaseObject>> xObjects = new HashMap<DocumentReference, List<BaseObject>>();
    // Yes, it seems that we can have null objects for some reason.
    xObjects.put(classReference111, Arrays.asList(null, xobject1221, xobject1222));
    when(xdocument122.getXObjects()).thenReturn(xObjects);
    when(xdocument122.getTranslationLocales(any(XWikiContext.class))).thenReturn(Collections.<Locale>emptyList());
    // object 1221
    when(xdocument122.getXObject(objectReference1221)).thenReturn(xobject1221);
    when(xdocument122.getXObject((EntityReference) objectReference1221)).thenReturn(xobject1221);
    when(xobject1221.getReference()).thenReturn(objectReference1221);
    when(xobject1221.getXClass(any(XWikiContext.class))).thenReturn(xclass111);
    when(xobject1221.getFieldList()).thenReturn(Collections.EMPTY_LIST);
    // object 1222
    when(xdocument122.getXObject(objectReference1222)).thenReturn(xobject1222);
    when(xdocument122.getXObject((EntityReference) objectReference1222)).thenReturn(xobject1222);
    when(xobject1222.getReference()).thenReturn(objectReference1222);
    when(xobject1222.getXClass(any(XWikiContext.class))).thenReturn(xclass111);
    when(xobject1222.getFieldList()).thenReturn(Arrays.asList(xproperty12221, xproperty12223));
    // object 1222 fields
    when(xproperty12221.getReference()).thenReturn(propertyReference12221);
    when(xproperty12221.getName()).thenReturn(propertyReference12221.getName());
    when(xproperty12223.getReference()).thenReturn(propertyReference12223);
    when(xproperty12223.getName()).thenReturn(propertyReference12223.getName());
    // class 111 fields
    when(xclass111.get(propertyReference12221.getName())).thenReturn(null);
    when(xclass111.get(propertyReference12223.getName())).thenReturn(null);
    // space 13
    when(documentsSpace13Query.execute()).thenReturn(Collections.emptyList());
}
Also used : Locale(java.util.Locale) IntegerProperty(com.xpn.xwiki.objects.IntegerProperty) ObjectPropertyReference(org.xwiki.model.reference.ObjectPropertyReference) Query(org.xwiki.query.Query) DefaultQuery(org.xwiki.query.internal.DefaultQuery) HashMap(java.util.HashMap) XWiki(com.xpn.xwiki.XWiki) XWikiContext(com.xpn.xwiki.XWikiContext) StringProperty(com.xpn.xwiki.objects.StringProperty) XWikiAttachment(com.xpn.xwiki.doc.XWikiAttachment) BaseObject(com.xpn.xwiki.objects.BaseObject) XWikiDocument(com.xpn.xwiki.doc.XWikiDocument) Execution(org.xwiki.context.Execution) DefaultExecution(org.xwiki.context.internal.DefaultExecution) ExecutionContext(org.xwiki.context.ExecutionContext) BaseObjectReference(com.xpn.xwiki.objects.BaseObjectReference) BaseClass(com.xpn.xwiki.objects.classes.BaseClass) QueryManager(org.xwiki.query.QueryManager) ComponentList(org.xwiki.test.annotation.ComponentList) ReferenceComponentList(com.xpn.xwiki.test.reference.ReferenceComponentList) List(java.util.List) DocumentReference(org.xwiki.model.reference.DocumentReference) Before(org.junit.Before)

Example 82 with ExecutionContext

use of org.xwiki.context.ExecutionContext in project xwiki-platform by xwiki.

the class WikiTemplateMigrationTest method setUp.

@Before
public void setUp() throws Exception {
    wikiDescriptorManager = mocker.getInstance(WikiDescriptorManager.class);
    queryManager = mocker.getInstance(QueryManager.class);
    // documentReferenceResolver = mocker.getInstance(DocumentReferenceResolver.TYPE_STRING, "current");
    documentReferenceResolver = mocker.getInstance(new DefaultParameterizedType(null, DocumentReferenceResolver.class, String.class));
    execution = mock(Execution.class);
    mocker.registerComponent(Execution.class, execution);
    xcontext = mock(XWikiContext.class);
    xwiki = mock(XWiki.class);
    ExecutionContext executionContext = mock(ExecutionContext.class);
    when(execution.getContext()).thenReturn(executionContext);
    when(executionContext.getProperty("xwikicontext")).thenReturn(xcontext);
    when(xcontext.getWiki()).thenReturn(xwiki);
    when(wikiDescriptorManager.getMainWikiId()).thenReturn("mainWiki");
    query = mock(Query.class);
    when(queryManager.createQuery(any(), eq(Query.XWQL))).thenReturn(query);
}
Also used : Execution(org.xwiki.context.Execution) ExecutionContext(org.xwiki.context.ExecutionContext) Query(org.xwiki.query.Query) WikiDescriptorManager(org.xwiki.wiki.descriptor.WikiDescriptorManager) QueryManager(org.xwiki.query.QueryManager) XWikiContext(com.xpn.xwiki.XWikiContext) XWiki(com.xpn.xwiki.XWiki) DefaultParameterizedType(org.xwiki.component.util.DefaultParameterizedType) Before(org.junit.Before)

Example 83 with ExecutionContext

use of org.xwiki.context.ExecutionContext in project xwiki-platform by xwiki.

the class WorkspaceMigrationTest method setUp.

@Before
public void setUp() throws Exception {
    wikiDescriptorManager = mocker.getInstance(WikiDescriptorManager.class);
    documentRestorerFromAttachedXAR = mocker.getInstance(DocumentRestorerFromAttachedXAR.class);
    execution = mock(Execution.class);
    mocker.registerComponent(Execution.class, execution);
    xcontext = mock(XWikiContext.class);
    xwiki = mock(XWiki.class);
    ExecutionContext executionContext = mock(ExecutionContext.class);
    when(execution.getContext()).thenReturn(executionContext);
    when(executionContext.getProperty("xwikicontext")).thenReturn(xcontext);
    when(xcontext.getWiki()).thenReturn(xwiki);
    when(wikiDescriptorManager.getMainWikiId()).thenReturn("mainWiki");
}
Also used : Execution(org.xwiki.context.Execution) ExecutionContext(org.xwiki.context.ExecutionContext) WikiDescriptorManager(org.xwiki.wiki.descriptor.WikiDescriptorManager) XWikiContext(com.xpn.xwiki.XWikiContext) XWiki(com.xpn.xwiki.XWiki) Before(org.junit.Before)

Example 84 with ExecutionContext

use of org.xwiki.context.ExecutionContext in project xwiki-platform by xwiki.

the class WikiTemplateManagerScriptTest method setUp.

@Before
public void setUp() throws Exception {
    wikiTemplateManager = mocker.getInstance(WikiTemplateManager.class);
    wikiDescriptorManager = mocker.getInstance(WikiDescriptorManager.class);
    authorizationManager = mocker.getInstance(AuthorizationManager.class);
    entityReferenceSerializer = mocker.getInstance(new DefaultParameterizedType(null, EntityReferenceSerializer.class, String.class));
    xcontextProvider = mocker.registerMockComponent(XWikiContext.TYPE_PROVIDER);
    xcontext = mock(XWikiContext.class);
    when(xcontextProvider.get()).thenReturn(xcontext);
    execution = mocker.getInstance(Execution.class);
    executionContext = new ExecutionContext();
    when(execution.getContext()).thenReturn(executionContext);
    currentUserRef = new DocumentReference("mainWiki", "XWiki", "User");
    when(xcontext.getUserReference()).thenReturn(currentUserRef);
    currentDoc = mock(XWikiDocument.class);
    when(xcontext.getDoc()).thenReturn(currentDoc);
    when(xcontext.getMainXWiki()).thenReturn("mainWiki");
    when(entityReferenceSerializer.serialize(currentUserRef)).thenReturn("mainWiki:XWiki.User");
}
Also used : XWikiDocument(com.xpn.xwiki.doc.XWikiDocument) Execution(org.xwiki.context.Execution) ExecutionContext(org.xwiki.context.ExecutionContext) WikiDescriptorManager(org.xwiki.wiki.descriptor.WikiDescriptorManager) XWikiContext(com.xpn.xwiki.XWikiContext) AuthorizationManager(org.xwiki.security.authorization.AuthorizationManager) DefaultParameterizedType(org.xwiki.component.util.DefaultParameterizedType) DocumentReference(org.xwiki.model.reference.DocumentReference) WikiTemplateManager(org.xwiki.wiki.template.WikiTemplateManager) Before(org.junit.Before)

Example 85 with ExecutionContext

use of org.xwiki.context.ExecutionContext in project xwiki-platform by xwiki.

the class DefaultOfficeViewerScriptServiceTest method view.

@Test
public void view() throws Exception {
    Execution execution = mocker.getInstance(Execution.class);
    when(execution.getContext()).thenReturn(new ExecutionContext());
    AttachmentReference attachmentReference = new AttachmentReference("file.odt", new DocumentReference("wiki", "Space", "Page"));
    DocumentModelBridge document = mock(DocumentModelBridge.class);
    DocumentAccessBridge documentAccessBridge = mocker.getInstance(DocumentAccessBridge.class);
    when(documentAccessBridge.isDocumentViewable(attachmentReference.getDocumentReference())).thenReturn(true);
    when(documentAccessBridge.getTranslatedDocumentInstance(attachmentReference.getDocumentReference())).thenReturn(document);
    when(document.getSyntax()).thenReturn(Syntax.TEX_1_0);
    XDOM xdom = new XDOM(Collections.<Block>emptyList());
    OfficeViewer viewer = mocker.getInstance(OfficeViewer.class);
    when(viewer.createView(attachmentReference, Collections.<String, String>emptyMap())).thenReturn(xdom);
    BlockRenderer xhtmlRenderer = mocker.registerMockComponent(BlockRenderer.class, "xhtml/1.0");
    Assert.assertEquals("", mocker.getComponentUnderTest().view(attachmentReference));
    TransformationManager transformationManager = mocker.getInstance(TransformationManager.class);
    verify(transformationManager).performTransformations(eq(xdom), notNull(TransformationContext.class));
    verify(xhtmlRenderer).render(eq(xdom), notNull(WikiPrinter.class));
}
Also used : AttachmentReference(org.xwiki.model.reference.AttachmentReference) Execution(org.xwiki.context.Execution) ExecutionContext(org.xwiki.context.ExecutionContext) XDOM(org.xwiki.rendering.block.XDOM) DocumentModelBridge(org.xwiki.bridge.DocumentModelBridge) DocumentAccessBridge(org.xwiki.bridge.DocumentAccessBridge) OfficeViewer(org.xwiki.office.viewer.OfficeViewer) TransformationManager(org.xwiki.rendering.transformation.TransformationManager) TransformationContext(org.xwiki.rendering.transformation.TransformationContext) DocumentReference(org.xwiki.model.reference.DocumentReference) WikiPrinter(org.xwiki.rendering.renderer.printer.WikiPrinter) BlockRenderer(org.xwiki.rendering.renderer.BlockRenderer) Test(org.junit.Test)

Aggregations

ExecutionContext (org.xwiki.context.ExecutionContext)114 Execution (org.xwiki.context.Execution)62 XWikiContext (com.xpn.xwiki.XWikiContext)47 Before (org.junit.Before)31 Test (org.junit.Test)25 XWiki (com.xpn.xwiki.XWiki)19 DocumentReference (org.xwiki.model.reference.DocumentReference)19 XWikiDocument (com.xpn.xwiki.doc.XWikiDocument)15 DefaultParameterizedType (org.xwiki.component.util.DefaultParameterizedType)14 ComponentManager (org.xwiki.component.manager.ComponentManager)9 ExecutionContextException (org.xwiki.context.ExecutionContextException)9 WikiDescriptorManager (org.xwiki.wiki.descriptor.WikiDescriptorManager)9 ComponentLookupException (org.xwiki.component.manager.ComponentLookupException)8 ExecutionContextManager (org.xwiki.context.ExecutionContextManager)8 List (java.util.List)6 Map (java.util.Map)6 Properties (java.util.Properties)6 Session (javax.mail.Session)6 MimeMessage (javax.mail.internet.MimeMessage)6 XWikiException (com.xpn.xwiki.XWikiException)5