]> source.dussan.org Git - archiva.git/commitdiff
Fixing unit tests for upload
authorMartin Stockhammer <martin_s@apache.org>
Wed, 1 May 2019 15:54:38 +0000 (17:54 +0200)
committerMartin Stockhammer <martin_s@apache.org>
Fri, 3 May 2019 18:48:31 +0000 (20:48 +0200)
archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/upload/UploadArtifactsTest.java
archiva-modules/archiva-web/archiva-web-common/src/test/resources/spring-context-test-upload.xml

index b754a403ffaa06bec7c6717bbf5a75c70bd9079f..1b341f33ffd21cd8756759cf38a1cb99fa5c6bf6 100644 (file)
@@ -19,25 +19,11 @@ package org.apache.archiva.upload;
  */
 
 import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
-import org.apache.archiva.admin.model.beans.RemoteRepository;
-import org.apache.archiva.redback.rest.api.model.User;
-import org.apache.archiva.redback.rest.api.services.RoleManagementService;
-import org.apache.archiva.redback.rest.api.services.UserService;
 import org.apache.archiva.redback.rest.services.AbstractRestServicesTest;
-import org.apache.archiva.redback.rest.services.FakeCreateAdminService;
-import org.apache.archiva.remotedownload.AbstractDownloadTest;
 import org.apache.archiva.rest.api.services.ArchivaRestServiceException;
-import org.apache.archiva.security.common.ArchivaRoleConstants;
 import org.apache.archiva.test.utils.ArchivaBlockJUnit4ClassRunner;
 import org.apache.archiva.web.api.FileUploadService;
-import org.apache.archiva.web.api.RuntimeInfoService;
-import org.apache.archiva.web.model.ApplicationRuntimeInfo;
 import org.apache.archiva.web.model.FileMetadata;
-import org.apache.catalina.Context;
-import org.apache.catalina.LifecycleException;
-import org.apache.catalina.deploy.ApplicationParameter;
-import org.apache.catalina.startup.Tomcat;
-import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.SystemUtils;
 import org.apache.cxf.jaxrs.client.JAXRSClientFactory;
@@ -47,38 +33,15 @@ import org.apache.cxf.jaxrs.ext.multipart.AttachmentBuilder;
 import org.apache.cxf.jaxrs.ext.multipart.ContentDisposition;
 import org.apache.cxf.jaxrs.ext.multipart.MultipartBody;
 import org.apache.cxf.message.Message;
-import org.apache.cxf.transport.servlet.CXFServlet;
-import org.apache.maven.wagon.providers.http.HttpWagon;
-import org.apache.maven.wagon.repository.Repository;
-import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.servlet.ServletContextHandler;
-import org.eclipse.jetty.servlet.ServletHolder;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.slf4j.bridge.SLF4JBridgeHandler;
-import org.springframework.web.context.ContextLoaderListener;
 
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.File;
 import java.io.IOException;
 import java.net.URLEncoder;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
-import java.nio.file.StandardCopyOption;
 import java.util.Collections;
-import java.util.List;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
 
 /**
  * @author Olivier Lamy
@@ -87,78 +50,7 @@ import java.util.zip.ZipFile;
 public class UploadArtifactsTest
     extends AbstractRestServicesTest
 {
-    private Tomcat tomcat;
 
-    @Override
-    @Before
-    public void startServer( )
-        throws Exception
-    {
-        System.setProperty( "org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH", "true" );
-        System.setProperty("appserver.base", Paths.get("target/appserver-base").toAbsolutePath().toString());
-        Path appServerBase = Paths.get("target/appserver-base");
-        FileUtils.deleteDirectory(appServerBase.toAbsolutePath().toFile());
-        Path confDir = appServerBase.resolve( "conf" );
-        if ( !Files.exists(confDir))
-        {
-            Files.createDirectories(confDir);
-        }
-        Path log4jCfg = Paths.get( "src/test/resources/log4j2-test.xml" );
-        Path log4jCfgDst = confDir.resolve( log4jCfg.getFileName( ) );
-
-        Files.copy( log4jCfg, log4jCfgDst, StandardCopyOption.REPLACE_EXISTING );
-
-        Path archivaCfg = Paths.get( "src/test/resources/archiva.xml" );
-        Files.copy( archivaCfg, confDir.resolve( archivaCfg.getFileName( ) ), StandardCopyOption.REPLACE_EXISTING );
-
-        Path jcrDirectory = appServerBase.resolve("jcr" );
-
-        if ( Files.exists(jcrDirectory) )
-        {
-            FileUtils.deleteDirectory( jcrDirectory.toAbsolutePath().toFile() );
-        }
-        // We have to activate this to verify the bad path traversal protection. We cannot rely on
-        // the application server only.
-
-        SLF4JBridgeHandler.removeHandlersForRootLogger();
-        SLF4JBridgeHandler.install();
-        this.tomcat = new Tomcat();
-        this.tomcat.setBaseDir(System.getProperty("java.io.tmpdir"));
-        this.tomcat.setPort(0);
-        this.tomcat.setSilent(false);
-        Context context = this.tomcat.addContext("", System.getProperty("java.io.tmpdir"));
-        ApplicationParameter applicationParameter = new ApplicationParameter();
-        applicationParameter.setName("contextConfigLocation");
-        applicationParameter.setValue(this.getSpringConfigLocation());
-        context.addApplicationParameter(applicationParameter);
-        context.addApplicationListener(ContextLoaderListener.class.getName());
-        Tomcat.addServlet(context, "cxf", new CXFServlet());
-        context.addServletMapping("/" + this.getRestServicesPath() + "/*", "cxf");
-        this.tomcat.start();
-        this.port = this.tomcat.getConnector().getLocalPort();
-        this.log.info("start server on port {}", this.port);
-        UserService userService = this.getUserService();
-        User adminUser = new User();
-        adminUser.setUsername("admin");
-        adminUser.setPassword("rose210208");
-        adminUser.setFullName("the admin user");
-        adminUser.setEmail("toto@toto.fr");
-        userService.createAdminUser(adminUser);
-        FakeCreateAdminService fakeCreateAdminService = this.getFakeCreateAdminService();
-        // super.startServer( );
-    }
-
-    @After
-    public void stop( ) {
-        if (this.tomcat != null) {
-            try {
-                this.tomcat.stop();
-            } catch (LifecycleException e) {
-                //
-            }
-        }
-        System.clearProperty( "org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH" );
-    }
 
     @Override
     protected String getSpringConfigLocation( )
index 0e2e156e7a324b2a5ba3550443d29a9a412b3442..dbdfa6b396d007d870e7ca66da1cc20ae9f720c0 100644 (file)
   -->
 <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:context="http://www.springframework.org/schema/context"
+       xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.springframework.org/schema/context
-           http://www.springframework.org/schema/context/spring-context-3.0.xsd"
+           http://www.springframework.org/schema/context/spring-context-3.0.xsd
+           http://www.springframework.org/schema/tx
+           http://www.springframework.org/schema/tx/spring-tx.xsd"
        default-lazy-init="true">
 
   <context:annotation-config/>
     <property name="queue" ref="taskQueue#repository-scanning"/>
   </bean>
 
-  <bean id="repository" class="org.apache.jackrabbit.core.RepositoryImpl" destroy-method="shutdown">
-    <constructor-arg ref="config"/>
-  </bean>
-  <bean id="config" class="org.apache.jackrabbit.core.config.RepositoryConfig" factory-method="create">
-    <constructor-arg value="${basedir}/src/test/repository.xml"/>
-    <constructor-arg value="${appserver.base}/jcr"/>
-  </bean>
+
 
   <alias name="repositorySessionFactory#jcr" alias="repositorySessionFactory"/>
   <alias name="userConfiguration#archiva" alias="userConfiguration#default"/>
   <alias name="authorizer#rbac" alias="authorizer#default"/>
   <alias name="userManager#configurable" alias="userManager#default"/>
+
+  <!--  ***
+      JPA settings
+      *** -->
+  <bean name="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
+    <property name="jpaVendorAdapter" >
+      <bean class="org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter" />
+    </property>
+    <property name="persistenceXmlLocation" value="classpath:META-INF/persistence-hsqldb.xml" />
+    <property name="jpaPropertyMap">
+      <map>
+        <entry key="openjpa.ConnectionURL" value="jdbc:hsqldb:mem:redback_database" />
+        <entry key="openjpa.ConnectionDriverName" value="org.hsqldb.jdbcDriver" />
+        <entry key="openjpa.ConnectionUserName" value="sa" />
+        <entry key="openjpa.ConnectionPassword" value="" />
+        <entry key="openjpa.Log" value="${openjpa.Log:DefaultLevel=INFO,Runtime=ERROR,Tool=ERROR,SQL=ERROR,Schema=ERROR,MetaData=ERROR}" />
+        <entry key="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)" />
+        <entry key="openjpa.jdbc.MappingDefaults"
+               value="ForeignKeyDeleteAction=restrict,JoinForeignKeyDeleteAction=restrict"/>
+      </map>
+    </property>
+
+  </bean>
+
+  <bean name="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager" >
+    <property name="entityManagerFactory" ref="entityManagerFactory" />
+  </bean>
+
+  <tx:annotation-driven />
+  <!--  ***
+        End of JPA settings
+        *** -->
+
 </beans>
\ No newline at end of file