Search in sources :

Example 61 with Execution

use of org.xwiki.context.Execution 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 62 with Execution

use of org.xwiki.context.Execution 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 63 with Execution

use of org.xwiki.context.Execution 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 64 with Execution

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

the class XWikiContextInitializationFilter method cleanupComponents.

/**
 * We must ensure we clean the ThreadLocal variables located in the Container and Execution components as otherwise
 * we will have a potential memory leak.
 */
protected void cleanupComponents() {
    Container container = Utils.getComponent((Type) Container.class);
    container.removeRequest();
    container.removeResponse();
    container.removeSession();
    Execution execution = Utils.getComponent((Type) Execution.class);
    execution.removeContext();
}
Also used : Container(org.xwiki.container.Container) Execution(org.xwiki.context.Execution)

Example 65 with Execution

use of org.xwiki.context.Execution 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)

Aggregations

Execution (org.xwiki.context.Execution)82 ExecutionContext (org.xwiki.context.ExecutionContext)58 Before (org.junit.Before)36 XWikiContext (com.xpn.xwiki.XWikiContext)30 Test (org.junit.Test)19 DocumentReference (org.xwiki.model.reference.DocumentReference)17 XWiki (com.xpn.xwiki.XWiki)13 DefaultParameterizedType (org.xwiki.component.util.DefaultParameterizedType)13 XWikiDocument (com.xpn.xwiki.doc.XWikiDocument)11 WikiDescriptorManager (org.xwiki.wiki.descriptor.WikiDescriptorManager)10 DocumentAccessBridge (org.xwiki.bridge.DocumentAccessBridge)8 ComponentManager (org.xwiki.component.manager.ComponentManager)8 HashMap (java.util.HashMap)7 Expectations (org.jmock.Expectations)7 VelocityContext (org.apache.velocity.VelocityContext)5 ExecutionContextManager (org.xwiki.context.ExecutionContextManager)5 BaseObject (com.xpn.xwiki.objects.BaseObject)4 DefaultComponentDescriptor (org.xwiki.component.descriptor.DefaultComponentDescriptor)4 XDOM (org.xwiki.rendering.block.XDOM)4 AuthorizationManager (org.xwiki.security.authorization.AuthorizationManager)4