AnsweredAssumed Answered

Alfresco SDK Junit test cases are not working

Question asked by calin.chiper on Feb 15, 2018
Latest reply on Feb 20, 2018 by calin.chiper

Currently I'm trying to create a test environment in Junit. As an example I used the DemoComponentTest.class to create my own Test class:

 

import com.tradeshift.test.remote.Remote;
import com.tradeshift.test.remote.RemoteTestRunner;
import org.alfresco.service.ServiceRegistry;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(RemoteTestRunner.class)
@Remote(runnerClass = SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:alfresco/application-context.xml"})
public class DocumentManagementTest {

  @Autowired ServiceRegistry serviceRegistry;

  @Test
  public void testWiring() {
    Assert.assertNotNull(serviceRegistry);
  }
}

When my app is running and I run the test it gives me the following exceptions:

junit.framework.AssertionFailedError: java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContext(CacheAwareContextLoaderDelegate.java:103)
........
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'patch.updateAdminUserWhenDefault' defined in URL [jar:file:/D:/alfresco-samples/sampleapp/target/amp-war/WEB-INF/lib/alfresco-repository-5.2.g.jar!/alfresco/patch/patch-services-context.xml]: Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'webscript.org.alfresco.slingshot.datalists.list.get' defined in file [D:\alfresco-samples\sampleapp\target\amp-war\WEB-INF\classes\alfresco\module\alfresco-share-services\module-context.xml]: Could not resolve parent bean definition 'declarativeSpreadsheetWebScript'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'declarativeSpreadsheetWebScript' is defined
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1514)
at 
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'declarativeSpreadsheetWebScript' is defined
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:575)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1111)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedBeanDefinition(AbstractBeanFactory.java:892)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedBeanDefinition(AbstractBeanFactory.java:1166)
... 60 more

.....................
at com.tradeshift.test.remote.internal.InternalRemoteRunner.runChild(InternalRemoteRunner.java:162)
at com.tradeshift.test.remote.internal.InternalRemoteRunner.runChild(InternalRemoteRunner.java:41)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)

 

In pom.xml:

<parent>
  <groupId>org.alfresco.maven</groupId>
  <artifactId>alfresco-sdk-parent</artifactId>
  <version>2.2.0</version>
</parent>

When I run the app I use:

-Pamp-to-war

Outcomes