1 package org.apache.maven.repository.internal;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import static org.mockito.Mockito.mock;
23 import static org.mockito.Mockito.verify;
24
25 import org.eclipse.aether.RepositoryEvent;
26 import org.eclipse.aether.RepositoryEvent.EventType;
27 import org.eclipse.aether.artifact.DefaultArtifact;
28 import org.eclipse.aether.impl.ArtifactDescriptorReader;
29 import org.eclipse.aether.impl.RepositoryEventDispatcher;
30 import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
31 import org.mockito.ArgumentCaptor;
32
33 public class DefaultArtifactDescriptorReaderTest
34 extends AbstractRepositoryTestCase
35 {
36
37 public void testMng5459()
38 throws Exception
39 {
40
41 DefaultArtifactDescriptorReader reader = (DefaultArtifactDescriptorReader) lookup( ArtifactDescriptorReader.class );
42
43 RepositoryEventDispatcher eventDispatcher = mock( RepositoryEventDispatcher.class );
44
45 ArgumentCaptor<RepositoryEvent> event = ArgumentCaptor.forClass( RepositoryEvent.class );
46
47 reader.setRepositoryEventDispatcher( eventDispatcher );
48
49 ArtifactDescriptorRequest request = new ArtifactDescriptorRequest();
50
51 request.addRepository( newTestRepository() );
52
53 request.setArtifact( new DefaultArtifact( "org.apache.maven.its", "dep-mng5459", "jar", "0.4.0-SNAPSHOT" ) );
54
55
56 reader.readArtifactDescriptor( session, request );
57
58
59 verify( eventDispatcher ).dispatch( event.capture() );
60
61 boolean missingArtifactDescriptor = false;
62
63 for( RepositoryEvent evt : event.getAllValues() )
64 {
65 if ( EventType.ARTIFACT_DESCRIPTOR_MISSING.equals( evt.getType() ) )
66 {
67 assertEquals( "Could not find artifact org.apache.maven.its:dep-mng5459:pom:0.4.0-20130404.090532-2 in repo (" + newTestRepository().getUrl() + ")", evt.getException().getMessage() );
68 missingArtifactDescriptor = true;
69 }
70 }
71
72 if( !missingArtifactDescriptor )
73 {
74 fail( "Expected missing artifact descriptor for org.apache.maven.its:dep-mng5459:pom:0.4.0-20130404.090532-2" );
75 }
76 }
77 }