]> source.dussan.org Git - archiva.git/blob
f24ba9cbf3e92dbb23da98e35350355c1de96009
[archiva.git] /
1 package org.apache.archiva.metadata.repository.storage.maven2;
2
3 /*
4  * Licensed to the Apache Software Foundation (ASF) under one
5  * or more contributor license agreements.  See the NOTICE file
6  * distributed with this work for additional information
7  * regarding copyright ownership.  The ASF licenses this file
8  * to you under the Apache License, Version 2.0 (the
9  * "License"); you may not use this file except in compliance
10  * with the License.  You may obtain a copy of the License at
11  *
12  *   http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing,
15  * software distributed under the License is distributed on an
16  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17  * KIND, either express or implied.  See the License for the
18  * specific language governing permissions and limitations
19  * under the License.
20  */
21
22 import org.apache.archiva.configuration.ArchivaConfiguration;
23 import org.apache.archiva.metadata.model.ProjectVersionMetadata;
24 import org.apache.archiva.metadata.repository.filter.AllFilter;
25 import org.apache.archiva.metadata.repository.filter.Filter;
26 import org.apache.archiva.metadata.repository.storage.ReadMetadataRequest;
27 import org.apache.archiva.metadata.repository.storage.RepositoryStorageRuntimeException;
28 import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner;
29 import org.junit.Before;
30 import org.junit.Test;
31 import org.junit.runner.RunWith;
32 import org.springframework.test.context.ContextConfiguration;
33
34 import javax.inject.Inject;
35 import javax.inject.Named;
36
37
38 @RunWith ( ArchivaSpringJUnit4ClassRunner.class )
39 @ContextConfiguration ( locations = { "classpath*:/META-INF/spring-context.xml", "classpath:/spring-context.xml" } )
40 public class Maven2RepositoryMetadataResolverManagedSnapshotTest
41     extends Maven2RepositoryMetadataResolverTest
42 {
43     private static final Filter<String> ALL = new AllFilter<String>();
44
45     @Inject
46     @Named ( value = "repositoryStorage#maven2" )
47     private Maven2RepositoryStorage storage;
48
49     private static final String TEST_REPO_ID = "test";
50
51     private static final String TEST_REMOTE_REPO_ID = "central";
52
53     private static final String ASF_SCM_CONN_BASE = "scm:svn:http://svn.apache.org/repos/asf/";
54
55     private static final String ASF_SCM_DEV_CONN_BASE = "scm:svn:https://svn.apache.org/repos/asf/";
56
57     private static final String ASF_SCM_VIEWVC_BASE = "http://svn.apache.org/viewvc/";
58
59     private static final String TEST_SCM_CONN_BASE = "scm:svn:http://svn.example.com/repos/";
60
61     private static final String TEST_SCM_DEV_CONN_BASE = "scm:svn:https://svn.example.com/repos/";
62
63     private static final String TEST_SCM_URL_BASE = "http://svn.example.com/repos/";
64
65     private static final String EMPTY_MD5 = "d41d8cd98f00b204e9800998ecf8427e";
66
67     private static final String EMPTY_SHA1 = "da39a3ee5e6b4b0d3255bfef95601890afd80709";
68
69     @Inject
70     private ArchivaConfiguration configuration;
71
72
73     @Before
74     @Override
75     public void setUp()
76         throws Exception
77     {
78         super.setUp();
79
80         testRepo.setReleases( false );
81         testRepo.setSnapshots( true );
82
83         configuration.save( c );
84
85         assertTrue( c.getManagedRepositories().get( 0 ).isSnapshots() );
86         assertFalse( c.getManagedRepositories().get( 0 ).isReleases() );
87     }
88
89     @Test ( expected = RepositoryStorageRuntimeException.class )
90     @Override
91     public void testModelWithJdkProfileActivation()
92         throws Exception
93     {
94         // skygo IMHO must fail because TEST_REPO_ID ( is snap ,no release) and we seek for a snapshot
95
96         ReadMetadataRequest readMetadataRequest =
97             new ReadMetadataRequest().repositoryId( TEST_REPO_ID ).namespace( "org.apache.maven" ).projectId(
98                 "maven-archiver" ).projectVersion( "2.4.1" );
99
100         ProjectVersionMetadata metadata = storage.readProjectVersionMetadata( readMetadataRequest );
101     }
102
103     @Test ( expected = RepositoryStorageRuntimeException.class )
104     @Override
105     public void testGetProjectVersionMetadataForMislocatedPom()
106         throws Exception
107     {
108         ReadMetadataRequest readMetadataRequest =
109             new ReadMetadataRequest().repositoryId( TEST_REPO_ID ).namespace( "com.example.test" ).projectId(
110                 "mislocated-pom" ).projectVersion( "1.0" );
111         storage.readProjectVersionMetadata( readMetadataRequest );
112
113     }
114
115     @Test
116     @Override
117     public void testGetProjectVersionMetadata()
118         throws Exception
119     {
120         // super test is on release
121     }
122
123     @Test ( expected = RepositoryStorageRuntimeException.class )
124     @Override
125     public void testGetProjectVersionMetadataForInvalidPom()
126         throws Exception
127     {
128         ReadMetadataRequest readMetadataRequest =
129             new ReadMetadataRequest().repositoryId( TEST_REPO_ID ).namespace( "com.example.test" ).projectId(
130                 "invalid-pom" ).projectVersion( "1.0" );
131         storage.readProjectVersionMetadata( readMetadataRequest );
132     }
133
134     @Test ( expected = RepositoryStorageRuntimeException.class )
135     @Override
136     public void testGetProjectVersionMetadataForMissingPom()
137         throws Exception
138     {
139         ReadMetadataRequest readMetadataRequest =
140             new ReadMetadataRequest().repositoryId( TEST_REPO_ID ).namespace( "com.example.test" ).projectId(
141                 "missing-pom" ).projectVersion( "1.0" );
142         storage.readProjectVersionMetadata( readMetadataRequest );
143     }
144 }