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