]> source.dussan.org Git - archiva.git/blob
68b8bf4e6438c0a265383bf883696ff1d76b7f50
[archiva.git] /
1 package org.apache.archiva.repository.maven.metadata.storage;
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  * 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
18  * under the License.
19  */
20
21 import org.apache.archiva.filter.AllFilter;
22 import org.apache.archiva.filter.Filter;
23 import org.apache.archiva.metadata.model.ProjectVersionMetadata;
24 import org.apache.archiva.metadata.repository.storage.ReadMetadataRequest;
25 import org.apache.archiva.metadata.repository.storage.RepositoryStorageRuntimeException;
26 import org.apache.archiva.repository.RepositoryRegistry;
27 import org.apache.archiva.repository.base.managed.ManagedRepositoryHandler;
28 import org.junit.Before;
29 import org.junit.Test;
30
31 import javax.inject.Inject;
32 import javax.inject.Named;
33
34 public class Maven2RepositoryMetadataResolverManagedSnapshotTest
35     extends Maven2RepositoryMetadataResolverTest
36 {
37     private static final Filter<String> ALL = new AllFilter<String>();
38
39     @Inject
40     @Named ( "repositoryStorage#maven2")
41     private Maven2RepositoryStorage storage;
42
43     @Inject
44     RepositoryRegistry repositoryRegistry;
45
46     @SuppressWarnings( "unused" )
47     @Inject
48     ManagedRepositoryHandler managedRepositoryHandler;
49
50
51     private static final String TEST_REPO_ID = "test";
52
53     private static final String TEST_REMOTE_REPO_ID = "central";
54
55     private static final String ASF_SCM_CONN_BASE = "scm:svn:http://svn.apache.org/repos/asf/";
56
57     private static final String ASF_SCM_DEV_CONN_BASE = "scm:svn:https://svn.apache.org/repos/asf/";
58
59     private static final String ASF_SCM_VIEWVC_BASE = "http://svn.apache.org/viewvc/";
60
61     private static final String TEST_SCM_CONN_BASE = "scm:svn:http://svn.example.com/repos/";
62
63     private static final String TEST_SCM_DEV_CONN_BASE = "scm:svn:https://svn.example.com/repos/";
64
65     private static final String TEST_SCM_URL_BASE = "http://svn.example.com/repos/";
66
67     private static final String EMPTY_MD5 = "d41d8cd98f00b204e9800998ecf8427e";
68
69
70     private static final String EMPTY_SHA1 = "da39a3ee5e6b4b0d3255bfef95601890afd80709";
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         repositoryRegistry.reload();
86
87         assertTrue( c.getManagedRepositories().get( 0 ).isSnapshots() );
88         assertFalse( c.getManagedRepositories().get( 0 ).isReleases() );
89     }
90
91     @Test (expected = RepositoryStorageRuntimeException.class)
92     @Override
93     public void testModelWithJdkProfileActivation()
94         throws Exception
95     {
96         // skygo IMHO must fail because TEST_REPO_ID ( is snap ,no release) and we seek for a snapshot
97
98         ReadMetadataRequest readMetadataRequest =
99             new ReadMetadataRequest().repositoryId( TEST_REPO_ID ).namespace( "org.apache.maven" ).projectId(
100                 "maven-archiver" ).projectVersion( "2.4.1" );
101
102         ProjectVersionMetadata metadata = storage.readProjectVersionMetadata( readMetadataRequest );
103     }
104
105     @Test (expected = RepositoryStorageRuntimeException.class)
106     @Override
107     public void testGetProjectVersionMetadataForMislocatedPom()
108         throws Exception
109     {
110         ReadMetadataRequest readMetadataRequest =
111             new ReadMetadataRequest().repositoryId( TEST_REPO_ID ).namespace( "com.example.test" ).projectId(
112                 "mislocated-pom" ).projectVersion( "1.0" );
113         storage.readProjectVersionMetadata( readMetadataRequest );
114
115     }
116
117     @Test
118     @Override
119     public void testGetProjectVersionMetadata()
120         throws Exception
121     {
122         // super test is on release
123     }
124
125     @Test (expected = RepositoryStorageRuntimeException.class)
126     @Override
127     public void testGetProjectVersionMetadataForInvalidPom()
128         throws Exception
129     {
130         ReadMetadataRequest readMetadataRequest =
131             new ReadMetadataRequest().repositoryId( TEST_REPO_ID ).namespace( "com.example.test" ).projectId(
132                 "invalid-pom" ).projectVersion( "1.0" );
133         storage.readProjectVersionMetadata( readMetadataRequest );
134     }
135
136     @Test (expected = RepositoryStorageRuntimeException.class)
137     @Override
138     public void testGetProjectVersionMetadataForMissingPom()
139         throws Exception
140     {
141         ReadMetadataRequest readMetadataRequest =
142             new ReadMetadataRequest().repositoryId( TEST_REPO_ID ).namespace( "com.example.test" ).projectId(
143                 "missing-pom" ).projectVersion( "1.0" );
144         storage.readProjectVersionMetadata( readMetadataRequest );
145     }
146 }