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
34 public class IssueAdapterTest
35 extends TestCase
36 {
37
38 public void testDefaultIssueTypeMapping()
39 {
40 IssueAdapter adapter = new IssueAdapter( new JIRAIssueManagmentSystem() );
41
42 Issue issue = createIssue( "TST-1", "New Feature" );
43 Action action = adapter.createAction( issue );
44 assertEquals( "add", action.getType() );
45
46 issue = createIssue( "TST-2", "Bug" );
47 action = adapter.createAction( issue );
48 assertEquals( "fix", action.getType() );
49
50 issue = createIssue( "TST-3", "Improvement" );
51 action = adapter.createAction( issue );
52 assertEquals( "update", action.getType() );
53
54 issue = createIssue( "TST-4", "Unknown Type" );
55 action = adapter.createAction( issue );
56 assertEquals( "", action.getType() );
57 }
58
59 public void testCustomIssueTypeMappingOveridesDefaultMapping()
60 {
61 IssueManagementSystem ims = new JIRAIssueManagmentSystem();
62
63 ims.getIssueTypeMap().clear();
64 IssueAdapter adapter = new IssueAdapter( ims );
65
66 Issue issue = createIssue( "TST-1", "New Feature" );
67 Action action = adapter.createAction( issue );
68 assertEquals( "", action.getType() );
69
70 issue = createIssue( "TST-2", "Bug" );
71 action = adapter.createAction( issue );
72 assertEquals( "", action.getType() );
73
74 issue = createIssue( "TST-3", "Improvement" );
75 action = adapter.createAction( issue );
76 assertEquals( "", action.getType() );
77
78 issue = createIssue( "TST-4", "Unknown Type" );
79 action = adapter.createAction( issue );
80 assertEquals( "", action.getType() );
81 }
82
83 public void testCustomIssueTypeMapping()
84 {
85 IssueManagementSystem ims = new JIRAIssueManagmentSystem();
86 ims.getIssueTypeMap().put( "Story", IssueType.ADD);
87 ims.getIssueTypeMap().put( "Epic", IssueType.ADD);
88 ims.getIssueTypeMap().put( "Defect", IssueType.FIX);
89 ims.getIssueTypeMap().put( "Error", IssueType.FIX);
90 IssueAdapter adapter = new IssueAdapter( ims );
91
92 Issue issue = createIssue( "TST-1", "Story" );
93 Action action = adapter.createAction( issue );
94 assertEquals( "add", action.getType() );
95
96 issue = createIssue( "TST-2", "Epic" );
97 action = adapter.createAction( issue );
98 assertEquals( "add", action.getType() );
99
100 issue = createIssue( "TST-3", "Error" );
101 action = adapter.createAction( issue );
102 assertEquals( "fix", action.getType() );
103
104 issue = createIssue( "TST-4", "Defect" );
105 action = adapter.createAction( issue );
106 assertEquals( "fix", action.getType() );
107
108
109 issue = createIssue( "TST-5", "Improvement" );
110 action = adapter.createAction( issue );
111 assertEquals( "update", action.getType() );
112 }
113
114 private Issue createIssue( String key, String type )
115 {
116 Issue issue = new Issue();
117 issue.setKey( key );
118 issue.setType( type );
119 issue.setAssignee( "A User" );
120 issue.setSummary( "The title of this issue" );
121 return issue;
122 }
123 }