mirror of https://github.com/apache/archiva.git
[MRM-1761] add unit test
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1549544 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
cc94843a8d
commit
69fad2da3e
|
@ -0,0 +1,151 @@
|
||||||
|
package org.apache.archiva;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import junit.framework.TestCase;
|
||||||
|
import org.apache.archiva.admin.model.beans.ManagedRepository;
|
||||||
|
import org.apache.archiva.redback.rest.api.services.RoleManagementService;
|
||||||
|
import org.apache.archiva.remotedownload.AbstractDownloadTest;
|
||||||
|
import org.apache.archiva.rest.api.services.ManagedRepositoriesService;
|
||||||
|
import org.apache.archiva.security.common.ArchivaRoleConstants;
|
||||||
|
import org.apache.archiva.test.utils.ArchivaBlockJUnit4ClassRunner;
|
||||||
|
import org.apache.commons.io.FileUtils;
|
||||||
|
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 java.io.File;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.zip.ZipEntry;
|
||||||
|
import java.util.zip.ZipFile;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Olivier Lamy
|
||||||
|
*/
|
||||||
|
@RunWith( ArchivaBlockJUnit4ClassRunner.class )
|
||||||
|
public class DownloadSnapshotTest
|
||||||
|
extends AbstractDownloadTest
|
||||||
|
{
|
||||||
|
protected Logger log = LoggerFactory.getLogger( getClass() );
|
||||||
|
|
||||||
|
public Server redirectServer = null;
|
||||||
|
|
||||||
|
public int redirectPort;
|
||||||
|
|
||||||
|
public Server repoServer = null;
|
||||||
|
|
||||||
|
public int repoServerPort;
|
||||||
|
|
||||||
|
@BeforeClass
|
||||||
|
public static void setAppServerBase()
|
||||||
|
{
|
||||||
|
previousAppServerBase = System.getProperty( "appserver.base" );
|
||||||
|
System.setProperty( "appserver.base", "target/" + DownloadSnapshotTest.class.getName() );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@AfterClass
|
||||||
|
public static void resetAppServerBase()
|
||||||
|
{
|
||||||
|
System.setProperty( "appserver.base", previousAppServerBase );
|
||||||
|
}
|
||||||
|
|
||||||
|
protected String getSpringConfigLocation()
|
||||||
|
{
|
||||||
|
return "classpath*:META-INF/spring-context.xml classpath*:spring-context-test-common.xml classpath*:spring-context-artifacts-download.xml";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void downloadSNAPSHOT()
|
||||||
|
throws Exception
|
||||||
|
{
|
||||||
|
|
||||||
|
File tmpIndexDir = new File( System.getProperty( "java.io.tmpdir" ) + "/tmpIndex" );
|
||||||
|
if ( tmpIndexDir.exists() )
|
||||||
|
{
|
||||||
|
FileUtils.deleteDirectory( tmpIndexDir );
|
||||||
|
}
|
||||||
|
String id = Long.toString( System.currentTimeMillis() );
|
||||||
|
ManagedRepository managedRepository = new ManagedRepository();
|
||||||
|
managedRepository.setId( id );
|
||||||
|
managedRepository.setName( "name of " + id );
|
||||||
|
managedRepository.setLocation( System.getProperty( "basedir" ) + "/src/test/repositories/snapshot-repo" );
|
||||||
|
managedRepository.setIndexDirectory( System.getProperty( "java.io.tmpdir" ) + "/tmpIndex/" + id );
|
||||||
|
|
||||||
|
ManagedRepositoriesService managedRepositoriesService = getManagedRepositoriesService();
|
||||||
|
|
||||||
|
if ( managedRepositoriesService.getManagedRepository( id ) != null )
|
||||||
|
{
|
||||||
|
managedRepositoriesService.deleteManagedRepository( id, false );
|
||||||
|
}
|
||||||
|
|
||||||
|
getManagedRepositoriesService().addManagedRepository( managedRepository );
|
||||||
|
|
||||||
|
RoleManagementService roleManagementService = getRoleManagementService( authorizationHeader );
|
||||||
|
|
||||||
|
if ( !roleManagementService.templatedRoleExists( ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER,
|
||||||
|
id ) )
|
||||||
|
{
|
||||||
|
roleManagementService.createTemplatedRole( ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, id );
|
||||||
|
}
|
||||||
|
|
||||||
|
getUserService( authorizationHeader ).createGuestUser();
|
||||||
|
roleManagementService.assignRole( ArchivaRoleConstants.TEMPLATE_GUEST, "guest" );
|
||||||
|
|
||||||
|
roleManagementService.assignTemplatedRole( ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, id,
|
||||||
|
"guest" );
|
||||||
|
|
||||||
|
getUserService( authorizationHeader ).removeFromCache( "guest" );
|
||||||
|
|
||||||
|
File file = new File( "target/archiva-model-1.4-M4-SNAPSHOT.jar" );
|
||||||
|
if ( file.exists() )
|
||||||
|
{
|
||||||
|
file.delete();
|
||||||
|
}
|
||||||
|
|
||||||
|
HttpWagon httpWagon = new HttpWagon();
|
||||||
|
httpWagon.connect( new Repository( "foo", "http://localhost:" + port ) );
|
||||||
|
|
||||||
|
httpWagon.get( "/repository/"+ id +"/org/apache/archiva/archiva-model/1.4-M4-SNAPSHOT/archiva-model-1.4-M4-SNAPSHOT.jar", file );
|
||||||
|
|
||||||
|
ZipFile zipFile = new ZipFile( file );
|
||||||
|
List<String> entries = getZipEntriesNames( zipFile );
|
||||||
|
ZipEntry zipEntry = zipFile.getEntry( "org/apache/archiva/model/ArchivaArtifact.class" );
|
||||||
|
assertNotNull( "cannot find zipEntry org/apache/archiva/model/ArchivaArtifact.class, entries: " + entries + ", content is: "
|
||||||
|
+ FileUtils.readFileToString( file ), zipEntry );
|
||||||
|
zipFile.close();
|
||||||
|
file.deleteOnExit();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Binary file not shown.
|
@ -0,0 +1 @@
|
||||||
|
7bbbf7bd56cc977171a377bcf8fc575d archiva-model-1.4-M4-20130425.081822-1.jar
|
|
@ -0,0 +1 @@
|
||||||
|
dd78b70834d1c65d09445f1b8b8b7ceacd70176d archiva-model-1.4-M4-20130425.081822-1.jar
|
|
@ -0,0 +1,97 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
~ Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
~ or more contributor license agreements. See the NOTICE file
|
||||||
|
~ distributed with this work for additional information
|
||||||
|
~ regarding copyright ownership. The ASF licenses this file
|
||||||
|
~ to you under the Apache License, Version 2.0 (the
|
||||||
|
~ "License"); you may not use this file except in compliance
|
||||||
|
~ with the License. You may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing,
|
||||||
|
~ software distributed under the License is distributed on an
|
||||||
|
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
~ KIND, either express or implied. See the License for the
|
||||||
|
~ specific language governing permissions and limitations
|
||||||
|
~ under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||||
|
<parent>
|
||||||
|
<groupId>org.apache.archiva</groupId>
|
||||||
|
<artifactId>archiva-base</artifactId>
|
||||||
|
<version>1.4-M4-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<artifactId>archiva-model</artifactId>
|
||||||
|
<packaging>bundle</packaging>
|
||||||
|
<name>Archiva Base :: Model</name>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>commons-lang</groupId>
|
||||||
|
<artifactId>commons-lang</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>commons-collections</groupId>
|
||||||
|
<artifactId>commons-collections</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.archiva</groupId>
|
||||||
|
<artifactId>archiva-common</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.archiva</groupId>
|
||||||
|
<artifactId>archiva-test-utils</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.logging.log4j</groupId>
|
||||||
|
<artifactId>log4j-jcl</artifactId>
|
||||||
|
<scope>runtime</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.codehaus.modello</groupId>
|
||||||
|
<artifactId>modello-maven-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<version>1.3.0</version>
|
||||||
|
<packageWithVersion>false</packageWithVersion>
|
||||||
|
<models>
|
||||||
|
<model>src/main/mdo/archiva-base.xml</model>
|
||||||
|
</models>
|
||||||
|
</configuration>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>archiva-base</id>
|
||||||
|
<goals>
|
||||||
|
<goal>java</goal>
|
||||||
|
<goal>xsd</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.felix</groupId>
|
||||||
|
<artifactId>maven-bundle-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<instructions>
|
||||||
|
<Bundle-SymbolicName>org.apache.archiva.model</Bundle-SymbolicName>
|
||||||
|
<Bundle-Version>${project.version}</Bundle-Version>
|
||||||
|
<Export-Package>
|
||||||
|
org.apache.archiva.model;version=${project.version}
|
||||||
|
</Export-Package>
|
||||||
|
<Import-Package>
|
||||||
|
org.apache.archiva.common.utils;version=${project.version},
|
||||||
|
org.apache.commons.lang;version="[2.4,3)"
|
||||||
|
</Import-Package>
|
||||||
|
</instructions>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</project>
|
|
@ -0,0 +1 @@
|
||||||
|
4224fdcd90735e016789c05f82661775 archiva-model-1.4-M4-20130425.081822-1.pom
|
|
@ -0,0 +1 @@
|
||||||
|
751ebd75a9929191173bbbd98aed65e90a76546a archiva-model-1.4-M4-20130425.081822-1.pom
|
|
@ -0,0 +1,14 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<metadata>
|
||||||
|
<groupId>org.apache.archiva</groupId>
|
||||||
|
<artifactId>archiva-model</artifactId>
|
||||||
|
<version>1.4-M4-SNAPSHOT</version>
|
||||||
|
<versioning>
|
||||||
|
<snapshot>
|
||||||
|
<buildNumber>1</buildNumber>
|
||||||
|
<timestamp>20130425.081822</timestamp>
|
||||||
|
</snapshot>
|
||||||
|
<lastUpdated>20130425081822</lastUpdated>
|
||||||
|
</versioning>
|
||||||
|
</metadata>
|
|
@ -0,0 +1 @@
|
||||||
|
38b2d54f0788d21907565904a7508d37 maven-metadata.xml
|
|
@ -0,0 +1 @@
|
||||||
|
8cdfb3f0decf06645f38bd0007b4a4a40f75ad25 maven-metadata.xml
|
|
@ -0,0 +1,13 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<metadata>
|
||||||
|
<groupId>org.apache.archiva</groupId>
|
||||||
|
<artifactId>archiva-model</artifactId>
|
||||||
|
<versioning>
|
||||||
|
<latest>1.4-M4-SNAPSHOT</latest>
|
||||||
|
<versions>
|
||||||
|
<version>1.4-M4-SNAPSHOT</version>
|
||||||
|
</versions>
|
||||||
|
<lastUpdated>20130425081823</lastUpdated>
|
||||||
|
</versioning>
|
||||||
|
</metadata>
|
|
@ -0,0 +1 @@
|
||||||
|
ffe12bb5232c77cf8681f8d069026f88 maven-metadata.xml
|
|
@ -0,0 +1 @@
|
||||||
|
cf7767cf64fa5eba6b66f9cba3401bca19baef54 maven-metadata.xml
|
Loading…
Reference in New Issue