1 package org.apache.maven.it;
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.maven.it.util.ResourceExtractor;
23
24 import java.io.File;
25 import java.util.List;
26
27 /**
28 * This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-3477">MNG-3477</a>.
29 */
30 public class MavenITmng3477DependencyResolutionErrorMessageTest
31 extends AbstractMavenIntegrationTestCase
32 {
33
34 public MavenITmng3477DependencyResolutionErrorMessageTest()
35 {
36 super( "[2.1.0,3.0-alpha-1),[3.0-beta-1,)" );
37 }
38
39 /**
40 * Tests that dependency resolution errors tell the underlying transport issue.
41 *
42 * @throws Exception in case of failure
43 */
44 public void testit()
45 throws Exception
46 {
47 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-3477" );
48
49 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
50 verifier.setAutoclean( false );
51 verifier.deleteArtifacts( "org.apache.maven.its.mng3477" );
52 verifier.addCliOption( "--settings" );
53 verifier.addCliOption( "settings.xml" );
54 try
55 {
56 verifier.executeGoal( "validate" );
57 fail( "Build should have failed to resolve dependency" );
58 }
59 catch ( VerificationException e )
60 {
61 boolean foundCause = false;
62 List<String> lines = verifier.loadLines( verifier.getLogFileName(), "UTF-8" );
63 for ( String line : lines )
64 {
65 if ( line.matches( ".*org.apache.maven.its.mng3477:dep:jar:1.0.*Connection.*refused.*" ) )
66 {
67 foundCause = true;
68 break;
69 }
70 }
71 assertTrue( "Transfer error cause was not found", foundCause );
72 }
73 finally
74 {
75 verifier.resetStreams();
76 }
77 }
78
79 }