1 package org.apache.archiva.rest.services;
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License. You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied. See the License for the
17 * specific language governing permissions and limitations
21 import org.apache.archiva.rest.api.model.ArtifactTransferRequest;
22 import org.apache.archiva.rest.api.services.RepositoriesService;
23 import org.apache.commons.lang.StringUtils;
24 import org.junit.Ignore;
25 import org.junit.Test;
30 * @author Olivier Lamy
32 public class CopyArtifactTest
33 extends AbstractArchivaRestTest
38 public void copyToAnEmptyRepo()
43 initSourceTargetRepo();
45 // START SNIPPET: copy-artifact
46 // configure the artifact you want to copy
47 // if package ommited default will be jar
48 ArtifactTransferRequest artifactTransferRequest = new ArtifactTransferRequest();
49 artifactTransferRequest.setGroupId( "org.apache.karaf.features" );
50 artifactTransferRequest.setArtifactId( "org.apache.karaf.features.core" );
51 artifactTransferRequest.setVersion( "2.2.2" );
52 artifactTransferRequest.setRepositoryId( SOURCE_REPO_ID );
53 artifactTransferRequest.setTargetRepositoryId( TARGET_REPO_ID );
54 // retrieve the service
55 RepositoriesService repositoriesService = getRepositoriesService( authorizationHeader );
57 Boolean res = repositoriesService.copyArtifact( artifactTransferRequest );
58 // END SNIPPET: copy-artifact
61 String targetRepoPath = getManagedRepositoriesService( authorizationHeader ).getManagedRepository(
62 TARGET_REPO_ID ).getLocation();
64 File artifact = new File( targetRepoPath,
65 "/org/apache/karaf/features/org.apache.karaf.features.core/2.2.2/org.apache.karaf.features.core-2.2.2.jar" );
66 assertTrue( artifact.exists() );
67 File pom = new File( targetRepoPath,
68 "/org/apache/karaf/features/org.apache.karaf.features.core/2.2.2/org.apache.karaf.features.core-2.2.2.pom" );
70 assertTrue( "not exists " + pom.getPath(), pom.exists() );
71 // TODO find a way to force metadata generation and test it !!
79 @Test( expected = Exception.class )
80 public void copyNonExistingArtifact()
85 initSourceTargetRepo();
87 ArtifactTransferRequest artifactTransferRequest = new ArtifactTransferRequest();
88 artifactTransferRequest.setGroupId( "org.apache.karaf.features" );
89 artifactTransferRequest.setArtifactId( "org.apache.karaf.features.core" );
90 artifactTransferRequest.setVersion( "3.0.6552" );
91 artifactTransferRequest.setRepositoryId( SOURCE_REPO_ID );
92 artifactTransferRequest.setTargetRepositoryId( TARGET_REPO_ID );
93 RepositoriesService repositoriesService = getRepositoriesService( authorizationHeader );
95 repositoriesService.copyArtifact( artifactTransferRequest );
99 assertTrue( StringUtils.contains( e.getMessage(), "cannot find artifact" ) );
110 public void copyToAnExistingRepo()
113 initSourceTargetRepo();