Browse Source

[MRM-1761] add unit test

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1549544 13f79535-47bb-0310-9956-ffa450edef68
tags/archiva-2.0.0-RC1
Olivier Lamy 10 years ago
parent
commit
69fad2da3e
13 changed files with 283 additions and 0 deletions
  1. 151
    0
      archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/DownloadSnapshotTest.java
  2. BIN
      archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/1.4-M4-SNAPSHOT/archiva-model-1.4-M4-20130425.081822-1.jar
  3. 1
    0
      archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/1.4-M4-SNAPSHOT/archiva-model-1.4-M4-20130425.081822-1.jar.md5
  4. 1
    0
      archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/1.4-M4-SNAPSHOT/archiva-model-1.4-M4-20130425.081822-1.jar.sha1
  5. 97
    0
      archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/1.4-M4-SNAPSHOT/archiva-model-1.4-M4-20130425.081822-1.pom
  6. 1
    0
      archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/1.4-M4-SNAPSHOT/archiva-model-1.4-M4-20130425.081822-1.pom.md5
  7. 1
    0
      archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/1.4-M4-SNAPSHOT/archiva-model-1.4-M4-20130425.081822-1.pom.sha1
  8. 14
    0
      archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/1.4-M4-SNAPSHOT/maven-metadata.xml
  9. 1
    0
      archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/1.4-M4-SNAPSHOT/maven-metadata.xml.md5
  10. 1
    0
      archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/1.4-M4-SNAPSHOT/maven-metadata.xml.sha1
  11. 13
    0
      archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/maven-metadata.xml
  12. 1
    0
      archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/maven-metadata.xml.md5
  13. 1
    0
      archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/maven-metadata.xml.sha1

+ 151
- 0
archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/DownloadSnapshotTest.java View File

@@ -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();



}

}

BIN
archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/1.4-M4-SNAPSHOT/archiva-model-1.4-M4-20130425.081822-1.jar View File


+ 1
- 0
archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/1.4-M4-SNAPSHOT/archiva-model-1.4-M4-20130425.081822-1.jar.md5 View File

@@ -0,0 +1 @@
7bbbf7bd56cc977171a377bcf8fc575d archiva-model-1.4-M4-20130425.081822-1.jar

+ 1
- 0
archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/1.4-M4-SNAPSHOT/archiva-model-1.4-M4-20130425.081822-1.jar.sha1 View File

@@ -0,0 +1 @@
dd78b70834d1c65d09445f1b8b8b7ceacd70176d archiva-model-1.4-M4-20130425.081822-1.jar

+ 97
- 0
archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/1.4-M4-SNAPSHOT/archiva-model-1.4-M4-20130425.081822-1.pom View File

@@ -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>

+ 1
- 0
archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/1.4-M4-SNAPSHOT/archiva-model-1.4-M4-20130425.081822-1.pom.md5 View File

@@ -0,0 +1 @@
4224fdcd90735e016789c05f82661775 archiva-model-1.4-M4-20130425.081822-1.pom

+ 1
- 0
archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/1.4-M4-SNAPSHOT/archiva-model-1.4-M4-20130425.081822-1.pom.sha1 View File

@@ -0,0 +1 @@
751ebd75a9929191173bbbd98aed65e90a76546a archiva-model-1.4-M4-20130425.081822-1.pom

+ 14
- 0
archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/1.4-M4-SNAPSHOT/maven-metadata.xml View File

@@ -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>

+ 1
- 0
archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/1.4-M4-SNAPSHOT/maven-metadata.xml.md5 View File

@@ -0,0 +1 @@
38b2d54f0788d21907565904a7508d37 maven-metadata.xml

+ 1
- 0
archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/1.4-M4-SNAPSHOT/maven-metadata.xml.sha1 View File

@@ -0,0 +1 @@
8cdfb3f0decf06645f38bd0007b4a4a40f75ad25 maven-metadata.xml

+ 13
- 0
archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/maven-metadata.xml View File

@@ -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>

+ 1
- 0
archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/maven-metadata.xml.md5 View File

@@ -0,0 +1 @@
ffe12bb5232c77cf8681f8d069026f88 maven-metadata.xml

+ 1
- 0
archiva-modules/archiva-web/archiva-web-common/src/test/repositories/snapshot-repo/org/apache/archiva/archiva-model/maven-metadata.xml.sha1 View File

@@ -0,0 +1 @@
cf7767cf64fa5eba6b66f9cba3401bca19baef54 maven-metadata.xml

Loading…
Cancel
Save