1 package org.apache.maven.plugin.changes;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.plugin.issues.Issue;
23 import org.apache.maven.plugin.issues.IssueManagementSystem;
24 import org.apache.maven.plugin.jira.JIRAIssueManagmentSystem;
25 import org.apache.maven.plugins.changes.model.Action;
26
27 import junit.framework.TestCase;
28
29
30
31
32
33 public class IssueAdapterTest
34 extends TestCase
35 {
36
37 public void testDefaultIssueTypeMapping()
38 {
39 IssueAdapter adapter = new IssueAdapter( new JIRAIssueManagmentSystem() );
40
41 Issue issue = createIssue( "TST-1", "New Feature" );
42 Action action = adapter.createAction( issue );
43 assertEquals( "add", action.getType() );
44
45 issue = createIssue( "TST-2", "Bug" );
46 action = adapter.createAction( issue );
47 assertEquals( "fix", action.getType() );
48
49 issue = createIssue( "TST-3", "Improvement" );
50 action = adapter.createAction( issue );
51 assertEquals( "update", action.getType() );
52
53 issue = createIssue( "TST-4", "Unknown Type" );
54 action = adapter.createAction( issue );
55 assertEquals( "", action.getType() );
56 }
57
58 public void testCustomIssueTypeMappingOveridesDefaultMapping()
59 {
60 IssueManagementSystem ims = new JIRAIssueManagmentSystem();
61
62 ims.getIssueTypeMap().clear();
63 IssueAdapter adapter = new IssueAdapter( ims );
64
65 Issue issue = createIssue( "TST-1", "New Feature" );
66 Action action = adapter.createAction( issue );
67 assertEquals( "", action.getType() );
68
69 issue = createIssue( "TST-2", "Bug" );
70 action = adapter.createAction( issue );
71 assertEquals( "", action.getType() );
72
73 issue = createIssue( "TST-3", "Improvement" );
74 action = adapter.createAction( issue );
75 assertEquals( "", action.getType() );
76
77 issue = createIssue( "TST-4", "Unknown Type" );
78 action = adapter.createAction( issue );
79 assertEquals( "", action.getType() );
80 }
81
82 public void testCustomIssueTypeMapping()
83 {
84 IssueManagementSystem ims = new JIRAIssueManagmentSystem();
85 ims.getIssueTypeMap().put( "Story", IssueType.ADD);
86 ims.getIssueTypeMap().put( "Epic", IssueType.ADD);
87 ims.getIssueTypeMap().put( "Defect", IssueType.FIX);
88 ims.getIssueTypeMap().put( "Error", IssueType.FIX);
89 IssueAdapter adapter = new IssueAdapter( ims );
90
91 Issue issue = createIssue( "TST-1", "Story" );
92 Action action = adapter.createAction( issue );
93 assertEquals( "add", action.getType() );
94
95 issue = createIssue( "TST-2", "Epic" );
96 action = adapter.createAction( issue );
97 assertEquals( "add", action.getType() );
98
99 issue = createIssue( "TST-3", "Error" );
100 action = adapter.createAction( issue );
101 assertEquals( "fix", action.getType() );
102
103 issue = createIssue( "TST-4", "Defect" );
104 action = adapter.createAction( issue );
105 assertEquals( "fix", action.getType() );
106
107
108 issue = createIssue( "TST-5", "Improvement" );
109 action = adapter.createAction( issue );
110 assertEquals( "update", action.getType() );
111 }
112
113 private Issue createIssue( String key, String type )
114 {
115 Issue issue = new Issue();
116 issue.setKey( key );
117 issue.setType( type );
118 issue.setAssignee( "A User" );
119 issue.setSummary( "The title of this issue" );
120 return issue;
121 }
122 }