use of com.seleniumtests.connectors.bugtracker.jira.JiraConnector in project seleniumRobot by bhecquet.
the class TestJiraConnector method testCreateIssueMissingDetailedResultFile.
/**
* Test the case where the detailed result file (.zip) is not present
* @throws URISyntaxException
*/
@Test(groups = { "ut" })
public void testCreateIssueMissingDetailedResultFile() throws URISyntaxException {
JiraConnector jiraConnector = new JiraConnector("http://foo/bar", PROJECT_KEY, "user", "password", jiraOptions);
// simulate screenshot file not present
detailedResult.delete();
JiraBean jiraBean = new JiraBean(null, "issue 1", "issue 1 descr", "P1", "Bug", null, null, null, null, Arrays.asList(), detailedResult, new HashMap<>(), new ArrayList<>());
jiraConnector.createIssue(jiraBean);
// check attachments (screenshots) have not been added because screenshot file was not available
verify(issueRestClient, never()).addAttachments(eq(new URI("http://foo/bar/i/1/attachments")), any(File.class));
}
use of com.seleniumtests.connectors.bugtracker.jira.JiraConnector in project seleniumRobot by bhecquet.
the class TestJiraConnector method testCreateIssueWithWrongComponent.
/**
* Test issue creation with bad component name. No error raised
* @throws URISyntaxException
*/
@Test(groups = { "ut" })
public void testCreateIssueWithWrongComponent() throws URISyntaxException {
ArgumentCaptor<IssueInput> issueArgument = ArgumentCaptor.forClass(IssueInput.class);
JiraConnector jiraConnector = new JiraConnector("http://foo/bar", PROJECT_KEY, "user", "password", jiraOptions);
JiraBean jiraBean = new JiraBean(null, "issue 1", "issue 1 descr", "", "Bug", "", null, "", "", new ArrayList<>(), null, new HashMap<>(), Arrays.asList("unknown"));
jiraConnector.createIssue(jiraBean);
verify(issueRestClient).createIssue(issueArgument.capture());
// check unknown component has not been added, but no error
IssueInput issueInput = ((IssueInput) issueArgument.getValue());
Assert.assertEquals(ImmutableList.copyOf(((Iterable<ComplexIssueInputFieldValue>) (issueInput.getField("components").getValue()))).size(), 0);
}
use of com.seleniumtests.connectors.bugtracker.jira.JiraConnector in project seleniumRobot by bhecquet.
the class TestJiraConnector method testCreateJiraBeanWithOrigin.
/**
* Create a new jira bean with all parameters
* @throws Exception
*/
@Test(groups = { "ut" })
public void testCreateJiraBeanWithOrigin() throws Exception {
jiraOptions.put("priority", "P1");
jiraOptions.put("assignee", "me");
jiraOptions.put("reporter", "you");
jiraOptions.put("jira.issueType", "Bug");
jiraOptions.put("jira.components", "comp1,comp2");
jiraOptions.put("jira.field.foo", "bar");
SeleniumTestsContextManager.getThreadContext().setStartedBy("http://foo/bar/job/1");
JiraConnector jiraConnector = new JiraConnector("http://foo/bar", PROJECT_KEY, "user", "password", jiraOptions);
IssueBean issueBean = jiraConnector.createIssueBean("[Selenium][selenium][DEV][ngName] test myTest KO", "testCreateJiraBean", "some description", Arrays.asList(step1, step2, stepEnd), jiraOptions);
Assert.assertTrue(issueBean instanceof JiraBean);
JiraBean jiraBean = (JiraBean) issueBean;
Assert.assertEquals(jiraBean.getAssignee(), "me");
// check only step2 is seen as a failed step
// detailed result is not provided because 'startedBy' is set
Assert.assertEquals(jiraBean.getDescription(), "*Test:* testCreateJiraBean\n" + "*Description:* some description\n" + "*Started by:* http://foo/bar/job/1\n" + "*Error step #1 (step 2):* *{color:#de350b}java.lang.NullPointerException: Error clicking{color}*\n" + "h2. Steps in error\n" + "* *Step 1: step 2*\n" + "{code:java}Step step 2\n" + " - action1\n" + " - action2{code}\n" + "\n" + "h2. Last logs\n" + "{code:java}Step Test end{code}\n" + "\n" + "h2. Associated screenshots\n" + "!N-A_0-2_Test_end--123456.png|thumbnail!\n" + "!N-A_0-2_Test_end--123456.png|thumbnail!\n");
Assert.assertEquals(jiraBean.getSummary(), "[Selenium][selenium][DEV][ngName] test myTest KO");
Assert.assertEquals(jiraBean.getReporter(), "you");
Assert.assertEquals(jiraBean.getTestName(), "testCreateJiraBean");
// screenshots from the last step
Assert.assertEquals(jiraBean.getScreenShots(), Arrays.asList(screenshot, screenshot));
Assert.assertEquals(jiraBean.getTestStep(), step2);
Assert.assertEquals(jiraBean.getDateTime().getDayOfMonth(), ZonedDateTime.now().plusHours(3).getDayOfMonth());
Assert.assertEquals(jiraBean.getComponents(), Arrays.asList("comp1", "comp2"));
Assert.assertEquals(jiraBean.getIssueType(), "Bug");
Assert.assertEquals(jiraBean.getPriority(), "P1");
Assert.assertEquals(jiraBean.getCustomFields().get("foo"), "bar");
// detailed result is not provided because 'startedBy' is set
Assert.assertNull(jiraBean.getDetailedResult());
// not inistialized by default
Assert.assertNull(jiraBean.getId());
}
use of com.seleniumtests.connectors.bugtracker.jira.JiraConnector in project seleniumRobot by bhecquet.
the class TestJiraConnector method testOpenStates.
@Test(groups = { "ut" })
public void testOpenStates() {
JiraConnector jiraConnector = new JiraConnector("http://foo/bar", PROJECT_KEY, "user", "password", jiraOptions);
Assert.assertEquals(jiraConnector.getOpenStates().size(), 2);
Assert.assertEquals(jiraConnector.getOpenStates().get(0), "Open");
}
use of com.seleniumtests.connectors.bugtracker.jira.JiraConnector in project seleniumRobot by bhecquet.
the class TestJiraConnector method testCloseIssueInvalidTransition.
@Test(groups = { "ut" }, expectedExceptions = ConfigurationException.class, expectedExceptionsMessageRegExp = "'bugtracker.jira.closeTransition' values \\[closed\\] are unknown for this issue, allowed transitions are \\[reopen, close\\]")
public void testCloseIssueInvalidTransition() {
jiraOptions.put("jira.closeTransition", "closed");
ArgumentCaptor<TransitionInput> transitionArgument = ArgumentCaptor.forClass(TransitionInput.class);
JiraConnector jiraConnector = new JiraConnector("http://foo/bar", PROJECT_KEY, "user", "password", jiraOptions);
jiraConnector.closeIssue("ISSUE-1", "closed");
verify(issueRestClient).transition(eq(issue1), transitionArgument.capture());
Assert.assertEquals(transitionArgument.getValue().getId(), 1);
}
Aggregations