package org.jvnet.hudson.plugins.jira.issueversioning.plugin.hudson.utils;
import static org.junit.Assert.*;
import java.util.Set;
import java.util.regex.Pattern;
import org.junit.Test;
/**
* TestCase for {@link JiraKeyUtils}
*
* @author <a href="mailto:from.hudson@nisgits.net">Stig Kleppe-J;odash&rgensen</a>
*/
public class JiraKeyUtilsTest {
/**
* Test validating a valid project key
*/
@Test
public void testValidProjectKey() {
assertTrue(JiraKeyUtils.isValidProjectKey("MARVADMIN"));
}
/**
* Test validating a valid project key
*/
@Test
public void testValidProjectKeyOtherPattern() {
assertTrue(JiraKeyUtils.isValidProjectKey("MArvADM1N", Pattern.compile("[A-Z]([a-zA-Z0-9]+)")));
}
/**
* Test invalidating a valid project key
*/
@Test
public void testInvalidProjectKey() {
assertFalse(JiraKeyUtils.isValidProjectKey("MARVADMIN2"));
assertFalse(JiraKeyUtils.isValidProjectKey("MARVADMIN-2"));
assertFalse(JiraKeyUtils.isValidProjectKey("marvADMIN"));
}
/**
* Test validating a valid project key
*/
@Test
public void testInvalidProjectKeyOtherPattern() {
assertFalse(JiraKeyUtils.isValidProjectKey("MArvADM1N-2", Pattern.compile("[A-Z]([a-zA-Z0-9]+)")));
}
/**
* Test invalidating a valid project key
*/
@Test
public void testInvalidProjectKeyOtherPattern2() {
assertFalse(JiraKeyUtils.isValidProjectKey("MARVADMIN2", null));
assertFalse(JiraKeyUtils.isValidProjectKey("MARVADMIN-2", null));
assertFalse(JiraKeyUtils.isValidProjectKey("marvADMIN", null));
}
/**
* Test get all Project keys for text
*/
@Test
public void testGetProjectKeysFromText() {
final String text = "This text contains two Project keys: MARVADMIN, MARVSITE";
final Set<String> keys = JiraKeyUtils.getJiraProjectKeysFromText(text);
assertTrue(keys.size() == 2);
assertTrue(keys.contains("MARVADMIN"));
assertTrue(keys.contains("MARVSITE"));
}
/**
* Test get all Project keys for text
*/
@Test
public void testGetProjectKeysFromTextOtherPattern() {
final String text = "This text contains two Project keys: MArvADM1N, MArvS1TE";
final Set<String> keys =
JiraKeyUtils.getJiraProjectKeysFromText(text, Pattern.compile("[A-Z]([a-zA-Z0-9]+)"));
assertTrue(keys.size() == 4);
assertTrue(keys.contains("MArvADM1N"));
assertTrue(keys.contains("MArvS1TE"));
}
/**
* Test get all Project keys for text
*/
@Test
public void testGetProjectKeysFromTextOtherPattern2() {
final String text = "This text contains two Project keys: MARVADMIN, MARVSITE";
final Set<String> keys =
JiraKeyUtils.getJiraProjectKeysFromText(text, null);
assertTrue(keys.size() == 2);
assertTrue(keys.contains("MARVADMIN"));
assertTrue(keys.contains("MARVSITE"));
}
/**
* Test validating a valid issue key
*/
@Test
public void testValidIssueKey() {
assertTrue(JiraKeyUtils.isValidIssueKey("MARVADMIN-2"));
assertTrue(JiraKeyUtils.isValidIssueKey("MARVADMIN-20"));
assertFalse(JiraKeyUtils.isValidIssueKey("MARVadmin2"));
}
/**
* Test validating a valid issue key
*/
@Test
public void testValidIssueKeyOtherPattern() {
assertTrue(JiraKeyUtils.isValidIssueKey("MARVadmin-2", Pattern.compile("[A-Z]([a-zA-Z0-9]+)-([0-9]+)")));
}
/**
* Test validating a valid issue key
*/
@Test
public void testValidIssueKeyOtherPattern2() {
assertTrue(JiraKeyUtils.isValidIssueKey("MARVadmin-2", null));
}
/**
* Test validating a invalid issue key
*/
@Test
public void testInvalidIssueKey() {
assertFalse(JiraKeyUtils.isValidIssueKey("MARVADMIN2"));
assertFalse(JiraKeyUtils.isValidIssueKey("2-MARVADMIN"));
}
/**
* Test validating a valid issue key
*/
@Test
public void testInvalidIssueKeyOtherPattern() {
assertFalse(JiraKeyUtils.isValidIssueKey("MARVadmin2", Pattern.compile("[a-zA-Z]([a-zA-Z0-9]+)-([0-9]+)")));
}
/**
* Test validating a valid issue key
*/
@Test
public void testInvalidIssueKeyOtherPattern2() {
assertFalse(JiraKeyUtils.isValidIssueKey("MARVadmin2", null));
}
/**
* Test get all Issue keys for text
*/
@Test
public void testGetIssueKeysFromText() {
final String text = "This text contains two Issue keys: MARVADMIN-1, MARVSITE-10, marvadmin-2";
final Set<String> keys = JiraKeyUtils.getJiraIssueKeysFromText(text);
assertTrue(keys.size() == 3);
assertTrue(keys.contains("MARVADMIN-1"));
assertTrue(keys.contains("MARVSITE-10"));
assertTrue(keys.contains("marvadmin-2"));
}
/**
* Test get all Issue keys for text
*/
@Test
public void testGetIssueKeysFromTextOtherPattern() {
final String text = "This text contains two Issue keys: MaRVaDM1N-1, MARVSITE-10, marvadmin-2";
final Set<String> keys =
JiraKeyUtils.getJiraIssueKeysFromText(text, Pattern.compile("[a-zA-Z]([a-zA-Z0-9]+)-([0-9]+)"));
assertTrue(keys.size() == 3);
assertTrue(keys.contains("MaRVaDM1N-1"));
assertTrue(keys.contains("MARVSITE-10"));
assertTrue(keys.contains("marvadmin-2"));
}
/**
* Test get all Issue keys for text
*/
@Test
public void testGetIssueKeysFromTextOtherPattern2() {
final String text = "This text contains two Issue keys: MARVADMIN-1, MARVSITE-10, marvadmin-2";
final Set<String> keys = JiraKeyUtils.getJiraIssueKeysFromText(text, null);
assertTrue(keys.size() == 3);
assertTrue(keys.contains("MARVADMIN-1"));
assertTrue(keys.contains("MARVSITE-10"));
assertTrue(keys.contains("marvadmin-2"));
}
}