blob: 4b5aee2d002f62184320463a4f02644e2b1790d8 [file] [log] [blame]
package org.apache.maven.plugins.changes;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import org.apache.maven.plugins.changes.IssueAdapter;
import org.apache.maven.plugins.changes.IssueType;
import org.apache.maven.plugins.changes.model.Action;
import org.apache.maven.plugins.issues.Issue;
import org.apache.maven.plugins.issues.IssueManagementSystem;
import org.apache.maven.plugins.jira.JIRAIssueManagmentSystem;
import junit.framework.TestCase;
/**
* @author Alan Parkinson
* @version $Id$
* @since 2.6
*/
public class IssueAdapterTest
extends TestCase
{
public void testDefaultIssueTypeMapping()
{
IssueAdapter adapter = new IssueAdapter( new JIRAIssueManagmentSystem() );
Issue issue = createIssue( "TST-1", "New Feature" );
Action action = adapter.createAction( issue );
assertEquals( "add", action.getType() );
issue = createIssue( "TST-2", "Bug" );
action = adapter.createAction( issue );
assertEquals( "fix", action.getType() );
issue = createIssue( "TST-3", "Improvement" );
action = adapter.createAction( issue );
assertEquals( "update", action.getType() );
issue = createIssue( "TST-4", "Unknown Type" );
action = adapter.createAction( issue );
assertEquals( "", action.getType() );
}
public void testCustomIssueTypeMappingOveridesDefaultMapping()
{
IssueManagementSystem ims = new JIRAIssueManagmentSystem();
ims.getIssueTypeMap().clear();
IssueAdapter adapter = new IssueAdapter( ims );
Issue issue = createIssue( "TST-1", "New Feature" );
Action action = adapter.createAction( issue );
assertEquals( "", action.getType() );
issue = createIssue( "TST-2", "Bug" );
action = adapter.createAction( issue );
assertEquals( "", action.getType() );
issue = createIssue( "TST-3", "Improvement" );
action = adapter.createAction( issue );
assertEquals( "", action.getType() );
issue = createIssue( "TST-4", "Unknown Type" );
action = adapter.createAction( issue );
assertEquals( "", action.getType() );
}
public void testCustomIssueTypeMapping()
{
IssueManagementSystem ims = new JIRAIssueManagmentSystem();
ims.getIssueTypeMap().put( "Story", IssueType.ADD );
ims.getIssueTypeMap().put( "Epic", IssueType.ADD );
ims.getIssueTypeMap().put( "Defect", IssueType.FIX );
ims.getIssueTypeMap().put( "Error", IssueType.FIX );
IssueAdapter adapter = new IssueAdapter( ims );
Issue issue = createIssue( "TST-1", "Story" );
Action action = adapter.createAction( issue );
assertEquals( "add", action.getType() );
issue = createIssue( "TST-2", "Epic" );
action = adapter.createAction( issue );
assertEquals( "add", action.getType() );
issue = createIssue( "TST-3", "Error" );
action = adapter.createAction( issue );
assertEquals( "fix", action.getType() );
issue = createIssue( "TST-4", "Defect" );
action = adapter.createAction( issue );
assertEquals( "fix", action.getType() );
// Test the default mapping for "update" hasn't been overridden
issue = createIssue( "TST-5", "Improvement" );
action = adapter.createAction( issue );
assertEquals( "update", action.getType() );
}
private Issue createIssue( String key, String type )
{
Issue issue = new Issue();
issue.setKey( key );
issue.setType( type );
issue.setAssignee( "A User" );
issue.setSummary( "The title of this issue" );
return issue;
}
}