Search in sources :

Example 6 with IssueBean

use of com.seleniumtests.connectors.bugtracker.IssueBean in project seleniumRobot by bhecquet.

the class TestJiraConnector method testIssueAlreadyExistsIssueBean.

/**
 * Test JiraConnector only accepts JiraBean instances
 */
@Test(groups = { "ut" }, expectedExceptions = ClassCastException.class)
public void testIssueAlreadyExistsIssueBean() {
    when(promiseSearch.claim()).thenReturn(new SearchResult(0, 2, 2, Arrays.asList(issue1, issue2)));
    IssueBean jiraBean = new IssueBean(null, "issue 1", "issue 1");
    JiraConnector jiraConnector = new JiraConnector("http://foo/bar", PROJECT_KEY, "user", "password", jiraOptions);
    jiraConnector.issueAlreadyExists(jiraBean);
}
Also used : IssueBean(com.seleniumtests.connectors.bugtracker.IssueBean) SearchResult(com.atlassian.jira.rest.client.api.domain.SearchResult) JiraConnector(com.seleniumtests.connectors.bugtracker.jira.JiraConnector) Test(org.testng.annotations.Test) MockitoTest(com.seleniumtests.MockitoTest) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest)

Example 7 with IssueBean

use of com.seleniumtests.connectors.bugtracker.IssueBean 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());
}
Also used : IssueBean(com.seleniumtests.connectors.bugtracker.IssueBean) JiraBean(com.seleniumtests.connectors.bugtracker.jira.JiraBean) JiraConnector(com.seleniumtests.connectors.bugtracker.jira.JiraConnector) Test(org.testng.annotations.Test) MockitoTest(com.seleniumtests.MockitoTest) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest)

Example 8 with IssueBean

use of com.seleniumtests.connectors.bugtracker.IssueBean in project seleniumRobot by bhecquet.

the class TestJiraConnector method testCreateJiraBeanNoFinalStep.

@Test(groups = { "ut" })
public void testCreateJiraBeanNoFinalStep() 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");
    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), jiraOptions);
    // issue bean is not created when "Test end" is not present
    Assert.assertNull(issueBean);
}
Also used : IssueBean(com.seleniumtests.connectors.bugtracker.IssueBean) JiraConnector(com.seleniumtests.connectors.bugtracker.jira.JiraConnector) Test(org.testng.annotations.Test) MockitoTest(com.seleniumtests.MockitoTest) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest)

Example 9 with IssueBean

use of com.seleniumtests.connectors.bugtracker.IssueBean in project seleniumRobot by bhecquet.

the class TestJiraConnector method testIssueDoesNotExist.

/**
 * The issue does not exist on jira, we return null
 */
@Test(groups = { "ut" })
public void testIssueDoesNotExist() {
    when(promiseSearch.claim()).thenReturn(new SearchResult(0, 2, 2, Arrays.asList()));
    JiraBean jiraBean = new JiraBean(null, "issue 1", "issue 1", "Bug", "P1");
    JiraConnector jiraConnector = new JiraConnector("http://foo/bar", PROJECT_KEY, "user", "password", jiraOptions);
    IssueBean newJiraBean = jiraConnector.issueAlreadyExists(jiraBean);
    // check issue has not been found
    Assert.assertNull(newJiraBean);
}
Also used : IssueBean(com.seleniumtests.connectors.bugtracker.IssueBean) SearchResult(com.atlassian.jira.rest.client.api.domain.SearchResult) JiraBean(com.seleniumtests.connectors.bugtracker.jira.JiraBean) JiraConnector(com.seleniumtests.connectors.bugtracker.jira.JiraConnector) Test(org.testng.annotations.Test) MockitoTest(com.seleniumtests.MockitoTest) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest)

Example 10 with IssueBean

use of com.seleniumtests.connectors.bugtracker.IssueBean in project seleniumRobot by bhecquet.

the class TestJiraConnector method testCreateJiraBeanWithErrorCauseNoDetails.

@Test(groups = { "ut" })
public void testCreateJiraBeanWithErrorCauseNoDetails() 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, stepWithErrorCause, stepEnd), jiraOptions);
    Assert.assertTrue(issueBean instanceof JiraBean);
    JiraBean jiraBean = (JiraBean) issueBean;
    // 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 4):* *{color:#de350b}java.lang.NullPointerException: Error clicking{color}*\n" + "h2. Steps in error\n" + "* *Step 1: step 4*\n" + "+Possible cause:+ REGRESSION\n" + "{code:java}Step step 4\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");
}
Also used : IssueBean(com.seleniumtests.connectors.bugtracker.IssueBean) JiraBean(com.seleniumtests.connectors.bugtracker.jira.JiraBean) JiraConnector(com.seleniumtests.connectors.bugtracker.jira.JiraConnector) Test(org.testng.annotations.Test) MockitoTest(com.seleniumtests.MockitoTest) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest)

Aggregations

IssueBean (com.seleniumtests.connectors.bugtracker.IssueBean)18 MockitoTest (com.seleniumtests.MockitoTest)16 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)16 Test (org.testng.annotations.Test)16 BugTracker (com.seleniumtests.connectors.bugtracker.BugTracker)9 JiraConnector (com.seleniumtests.connectors.bugtracker.jira.JiraConnector)9 FakeBugTracker (com.seleniumtests.connectors.bugtracker.FakeBugTracker)7 JiraBean (com.seleniumtests.connectors.bugtracker.jira.JiraBean)6 SearchResult (com.atlassian.jira.rest.client.api.domain.SearchResult)3 TestStep (com.seleniumtests.reporter.logger.TestStep)2 HashMap (java.util.HashMap)2 Map (java.util.Map)2 IssueRestClient (com.atlassian.jira.rest.client.api.IssueRestClient)1 JiraRestClient (com.atlassian.jira.rest.client.api.JiraRestClient)1 RestClientException (com.atlassian.jira.rest.client.api.RestClientException)1 SearchRestClient (com.atlassian.jira.rest.client.api.SearchRestClient)1 BasicComponent (com.atlassian.jira.rest.client.api.domain.BasicComponent)1 BasicIssue (com.atlassian.jira.rest.client.api.domain.BasicIssue)1 BasicPriority (com.atlassian.jira.rest.client.api.domain.BasicPriority)1 BasicProject (com.atlassian.jira.rest.client.api.domain.BasicProject)1