1 package org.apache.maven.tools.plugin.extractor.model;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.File;
23 import java.net.URISyntaxException;
24 import java.net.URL;
25 import java.util.Set;
26 import junit.framework.TestCase;
27 import org.apache.maven.plugin.descriptor.MojoDescriptor;
28
29 public class PluginMetadataParserTest
30 extends TestCase
31 {
32
33 public void testBasicDeclarationWithoutCall()
34 throws PluginMetadataParseException
35 {
36 File metadataFile = getMetadataFile( "test.mojos.xml" );
37 Set<MojoDescriptor> descriptors = new PluginMetadataParser().parseMojoDescriptors( metadataFile );
38
39 assertEquals( 1, descriptors.size() );
40
41 MojoDescriptor desc = descriptors.iterator().next();
42 assertTrue( desc.getImplementation().indexOf( ":" ) < 0 );
43 assertEquals( "test", desc.getGoal() );
44 }
45
46 public void testBasicDeclarationWithCall()
47 throws PluginMetadataParseException
48 {
49 File metadataFile = getMetadataFile( "test2.mojos.xml" );
50 Set<MojoDescriptor> descriptors = new PluginMetadataParser().parseMojoDescriptors( metadataFile );
51
52 assertEquals( 1, descriptors.size() );
53
54 MojoDescriptor desc = descriptors.iterator().next();
55 assertTrue( desc.getImplementation().endsWith( ":test2" ) );
56 assertEquals( "test2", desc.getGoal() );
57 }
58
59 private File getMetadataFile( String name )
60 {
61 try
62 {
63 URL resource = Thread.currentThread().getContextClassLoader().getResource( name );
64 if ( resource == null )
65 {
66 fail( "Cannot find classpath resource: '" + name + "'." );
67 }
68
69
70 return new File( resource.toURI() );
71 }
72 catch ( final URISyntaxException e )
73 {
74 throw new AssertionError( e );
75 }
76 }
77
78 }