]> source.dussan.org Git - archiva.git/blob
495c15c5563def86596067f141edbf60e2013468
[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.proxy.common.WagonFactory;
29 import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner;
30 import org.junit.Before;
31 import org.junit.Test;
32 import org.junit.runner.RunWith;
33 import org.springframework.test.context.ContextConfiguration;
34
35 import javax.inject.Inject;
36 import javax.inject.Named;
37
38
39 @RunWith ( ArchivaSpringJUnit4ClassRunner.class )
40 @ContextConfiguration ( locations = { "classpath*:/META-INF/spring-context.xml", "classpath:/spring-context.xml" } )
41 public class Maven2RepositoryMetadataResolverManagedReleaseTest
42     extends Maven2RepositoryMetadataResolverTest
43 {
44     private static final Filter<String> ALL = new AllFilter<String>();
45
46     @Inject
47     @Named ( value = "repositoryStorage#maven2" )
48     private Maven2RepositoryStorage storage;
49
50     private static final String TEST_REPO_ID = "test";
51
52     private static final String TEST_REMOTE_REPO_ID = "central";
53
54     private static final String ASF_SCM_CONN_BASE = "scm:svn:http://svn.apache.org/repos/asf/";
55
56     private static final String ASF_SCM_DEV_CONN_BASE = "scm:svn:https://svn.apache.org/repos/asf/";
57
58     private static final String ASF_SCM_VIEWVC_BASE = "http://svn.apache.org/viewvc/";
59
60     private static final String TEST_SCM_CONN_BASE = "scm:svn:http://svn.example.com/repos/";
61
62     private static final String TEST_SCM_DEV_CONN_BASE = "scm:svn:https://svn.example.com/repos/";
63
64     private static final String TEST_SCM_URL_BASE = "http://svn.example.com/repos/";
65
66     private static final String EMPTY_MD5 = "d41d8cd98f00b204e9800998ecf8427e";
67
68     private static final String EMPTY_SHA1 = "da39a3ee5e6b4b0d3255bfef95601890afd80709";
69
70     @Inject
71     private ArchivaConfiguration configuration;
72
73     private WagonFactory wagonFactory;
74
75     @Before
76     @Override
77     public void setUp()
78         throws Exception
79     {
80         super.setUp();
81
82         testRepo.setReleases( true );
83         testRepo.setSnapshots( false );
84
85         configuration.save( c );
86
87         assertFalse( c.getManagedRepositories().get( 0 ).isSnapshots() );
88         assertTrue( c.getManagedRepositories().get( 0 ).isReleases() );
89
90     }
91
92     @Test
93     @Override
94     public void testModelWithJdkProfileActivation()
95         throws Exception
96     {
97         // skygo IMHO must fail because TEST_REPO_ID ( is snap ,no release) and we seek for a snapshot
98
99         ReadMetadataRequest readMetadataRequest =
100             new ReadMetadataRequest().repositoryId( TEST_REPO_ID ).namespace( "org.apache.maven" ).projectId(
101                 "maven-archiver" ).projectVersion( "2.4.1" );
102
103         ProjectVersionMetadata metadata = storage.readProjectVersionMetadata( readMetadataRequest );
104     }
105
106     @Test ( expected = RepositoryStorageRuntimeException.class )
107     @Override
108     public void testGetProjectVersionMetadataForTimestampedSnapshotMissingMetadata()
109         throws Exception
110     {
111         ReadMetadataRequest readMetadataRequest =
112             new ReadMetadataRequest().repositoryId( TEST_REPO_ID ).namespace( "com.example.test" ).projectId(
113                 "missing-metadata" ).projectVersion( "1.0-SNAPSHOT" );
114         storage.readProjectVersionMetadata( readMetadataRequest );
115     }
116
117     @Test ( expected = RepositoryStorageRuntimeException.class )
118     @Override
119     public void testGetProjectVersionMetadataForTimestampedSnapshotMalformedMetadata()
120         throws Exception
121     {
122         ReadMetadataRequest readMetadataRequest =
123             new ReadMetadataRequest().repositoryId( TEST_REPO_ID ).namespace( "com.example.test" ).projectVersion(
124                 "malformed-metadata" ).projectVersion( "1.0-SNAPSHOT" );
125         storage.readProjectVersionMetadata( readMetadataRequest );
126     }
127
128     @Test ( expected = RepositoryStorageRuntimeException.class )
129     @Override
130     public void testGetProjectVersionMetadataForTimestampedSnapshot()
131         throws Exception
132     {
133         super.testGetProjectVersionMetadataForTimestampedSnapshot();
134     }
135
136
137     @Test ( expected = RepositoryStorageRuntimeException.class )
138     @Override
139     public void testGetProjectVersionMetadataForTimestampedSnapshotIncompleteMetadata()
140         throws Exception
141     {
142         super.testGetProjectVersionMetadataForTimestampedSnapshotIncompleteMetadata();
143     }
144
145 }