Search in sources :

Example 1 with Watchers

use of com.atlassian.jira.rest.client.api.domain.Watchers in project camel-spring-boot by apache.

the class WatcherProducerTest method removeWatchers.

@Test
public void removeWatchers() throws InterruptedException {
    List<String> watchersToRemove = new ArrayList<>();
    watchersToRemove.add("user2");
    watchersToRemove.add("user3");
    Map<String, Object> headers = new HashMap<>();
    headers.put(ISSUE_KEY, backendIssue.getKey());
    headers.put(ISSUE_WATCHERS_REMOVE, watchersToRemove);
    template.sendBodyAndHeaders(null, headers);
    Issue retrievedIssue = issueRestClient.getIssue(backendIssue.getKey()).claim();
    assertEquals(backendIssue, retrievedIssue);
    assertEquals(retrievedIssue.getWatchers().getNumWatchers(), backendwatchers.size());
    Watchers watchers = issueRestClient.getWatchers(retrievedIssue.getWatchers().getSelf()).claim();
    for (BasicUser user : watchers.getUsers()) {
        assertTrue(backendwatchers.contains(user.getName()));
    }
    mockResult.expectedMessageCount(1);
    mockResult.assertIsSatisfied();
}
Also used : BasicUser(com.atlassian.jira.rest.client.api.domain.BasicUser) Issue(com.atlassian.jira.rest.client.api.domain.Issue) Utils.createIssue(org.apache.camel.component.jira.springboot.test.Utils.createIssue) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) Watchers(com.atlassian.jira.rest.client.api.domain.Watchers) BasicWatchers(com.atlassian.jira.rest.client.api.domain.BasicWatchers) CamelSpringBootTest(org.apache.camel.test.spring.junit5.CamelSpringBootTest) Test(org.junit.jupiter.api.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 2 with Watchers

use of com.atlassian.jira.rest.client.api.domain.Watchers in project camel-spring-boot by apache.

the class WatcherProducerTest method contextConfiguration.

@Bean
CamelContextConfiguration contextConfiguration() {
    return new CamelContextConfiguration() {

        @Override
        public void beforeApplicationStart(CamelContext context) {
            // get chance to mock camelContext/Registry
            jiraRestClientFactory = mock(JiraRestClientFactory.class);
            jiraClient = mock(JiraRestClient.class);
            issueRestClient = mock(IssueRestClient.class);
            lenient().when(jiraRestClientFactory.createWithBasicHttpAuthentication(any(), any(), any())).thenReturn(jiraClient);
            lenient().when(jiraClient.getIssueClient()).thenReturn(issueRestClient);
            backendwatchers.add("user1");
            backendwatchers.add("user2");
            backendwatchers.add("user3");
            backendwatchers.add("user4");
            backendwatchers.add("user5");
            URI watchersUri = URI.create(TEST_JIRA_URL + "/rest/api/2/backendIssue/" + KEY + "-11/backendwatchers");
            BasicWatchers initialBasicWatchers = new BasicWatchers(watchersUri, true, backendwatchers.size());
            backendIssue = createIssue(11L, "Test backendIssue", KEY + "-" + 11, null, null, null, null, null, initialBasicWatchers);
            lenient().when(issueRestClient.addWatcher(any(URI.class), anyString())).then(inv -> {
                String username = inv.getArgument(1);
                backendwatchers.add(username);
                BasicWatchers basicWatchers = new BasicWatchers(watchersUri, true, backendwatchers.size());
                backendIssue = createIssue(backendIssue.getId(), backendIssue.getSummary(), backendIssue.getKey(), backendIssue.getIssueType(), backendIssue.getDescription(), backendIssue.getPriority(), backendIssue.getAssignee(), null, basicWatchers);
                return null;
            });
            lenient().when(issueRestClient.removeWatcher(any(URI.class), anyString())).then(inv -> {
                String username = inv.getArgument(1);
                backendwatchers.remove(username);
                BasicWatchers basicWatchers = new BasicWatchers(watchersUri, true, backendwatchers.size());
                backendIssue = createIssue(backendIssue.getId(), backendIssue.getSummary(), backendIssue.getKey(), backendIssue.getIssueType(), backendIssue.getDescription(), backendIssue.getPriority(), backendIssue.getAssignee(), null, basicWatchers);
                return null;
            });
            lenient().when(issueRestClient.getIssue(anyString())).then(inv -> Promises.promise(backendIssue));
            lenient().when(issueRestClient.getWatchers(any(URI.class))).then(inv -> {
                Collection<BasicUser> users = new ArrayList<>();
                for (String watcher : backendwatchers) {
                    users.add(new BasicUser(null, watcher, watcher));
                }
                BasicWatchers basicWatchers = new BasicWatchers(watchersUri, true, users.size());
                Watchers watchers = new Watchers(basicWatchers, users);
                return Promises.promise(watchers);
            });
            camelContext.getRegistry().bind(JIRA_REST_CLIENT_FACTORY, jiraRestClientFactory);
        }

        @Override
        public void afterApplicationStart(CamelContext camelContext) {
        // do nothing here
        }
    };
}
Also used : CamelContext(org.apache.camel.CamelContext) CamelContextConfiguration(org.apache.camel.spring.boot.CamelContextConfiguration) BasicUser(com.atlassian.jira.rest.client.api.domain.BasicUser) JiraRestClientFactory(com.atlassian.jira.rest.client.api.JiraRestClientFactory) BasicWatchers(com.atlassian.jira.rest.client.api.domain.BasicWatchers) JiraRestClient(com.atlassian.jira.rest.client.api.JiraRestClient) ArrayList(java.util.ArrayList) IssueRestClient(com.atlassian.jira.rest.client.api.IssueRestClient) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) URI(java.net.URI) Watchers(com.atlassian.jira.rest.client.api.domain.Watchers) BasicWatchers(com.atlassian.jira.rest.client.api.domain.BasicWatchers) Bean(org.springframework.context.annotation.Bean)

Example 3 with Watchers

use of com.atlassian.jira.rest.client.api.domain.Watchers in project camel-spring-boot by apache.

the class WatcherProducerTest method addWatchers.

@Test
public void addWatchers() throws InterruptedException {
    List<String> watchersToAdd = new ArrayList<>();
    watchersToAdd.add("user1A");
    watchersToAdd.add("user1B");
    Map<String, Object> headers = new HashMap<>();
    headers.put(ISSUE_KEY, backendIssue.getKey());
    headers.put(ISSUE_WATCHERS_ADD, watchersToAdd);
    template.sendBodyAndHeaders(null, headers);
    Issue retrievedIssue = issueRestClient.getIssue(backendIssue.getKey()).claim();
    assertEquals(backendIssue, retrievedIssue);
    assertEquals(retrievedIssue.getWatchers().getNumWatchers(), backendwatchers.size());
    Watchers watchers = issueRestClient.getWatchers(retrievedIssue.getWatchers().getSelf()).claim();
    for (BasicUser user : watchers.getUsers()) {
        assertTrue(backendwatchers.contains(user.getName()));
    }
    mockResult.expectedMessageCount(1);
    mockResult.assertIsSatisfied();
}
Also used : BasicUser(com.atlassian.jira.rest.client.api.domain.BasicUser) Issue(com.atlassian.jira.rest.client.api.domain.Issue) Utils.createIssue(org.apache.camel.component.jira.springboot.test.Utils.createIssue) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) Watchers(com.atlassian.jira.rest.client.api.domain.Watchers) BasicWatchers(com.atlassian.jira.rest.client.api.domain.BasicWatchers) CamelSpringBootTest(org.apache.camel.test.spring.junit5.CamelSpringBootTest) Test(org.junit.jupiter.api.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 4 with Watchers

use of com.atlassian.jira.rest.client.api.domain.Watchers in project camel-spring-boot by apache.

the class WatcherProducerTest method addRemoveWatchers.

@Test
public void addRemoveWatchers() throws InterruptedException {
    List<String> watchersToAdd = new ArrayList<>();
    watchersToAdd.add("user2A");
    watchersToAdd.add("user2B");
    List<String> watchersToRemove = new ArrayList<>();
    watchersToRemove.add("user4");
    watchersToRemove.add("user5");
    Map<String, Object> headers = new HashMap<>();
    headers.put(ISSUE_KEY, backendIssue.getKey());
    headers.put(ISSUE_WATCHERS_ADD, watchersToAdd);
    headers.put(ISSUE_WATCHERS_REMOVE, watchersToRemove);
    template.sendBodyAndHeaders(null, headers);
    Issue retrievedIssue = issueRestClient.getIssue(backendIssue.getKey()).claim();
    assertEquals(backendIssue, retrievedIssue);
    assertEquals(retrievedIssue.getWatchers().getNumWatchers(), backendwatchers.size());
    Watchers watchers = issueRestClient.getWatchers(retrievedIssue.getWatchers().getSelf()).claim();
    for (BasicUser user : watchers.getUsers()) {
        assertTrue(backendwatchers.contains(user.getName()));
    }
    mockResult.expectedMessageCount(1);
    mockResult.assertIsSatisfied();
}
Also used : BasicUser(com.atlassian.jira.rest.client.api.domain.BasicUser) Issue(com.atlassian.jira.rest.client.api.domain.Issue) Utils.createIssue(org.apache.camel.component.jira.springboot.test.Utils.createIssue) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) Watchers(com.atlassian.jira.rest.client.api.domain.Watchers) BasicWatchers(com.atlassian.jira.rest.client.api.domain.BasicWatchers) CamelSpringBootTest(org.apache.camel.test.spring.junit5.CamelSpringBootTest) Test(org.junit.jupiter.api.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Aggregations

BasicUser (com.atlassian.jira.rest.client.api.domain.BasicUser)4 BasicWatchers (com.atlassian.jira.rest.client.api.domain.BasicWatchers)4 Watchers (com.atlassian.jira.rest.client.api.domain.Watchers)4 ArrayList (java.util.ArrayList)4 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)4 Issue (com.atlassian.jira.rest.client.api.domain.Issue)3 HashMap (java.util.HashMap)3 Utils.createIssue (org.apache.camel.component.jira.springboot.test.Utils.createIssue)3 CamelSpringBootTest (org.apache.camel.test.spring.junit5.CamelSpringBootTest)3 Test (org.junit.jupiter.api.Test)3 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)3 IssueRestClient (com.atlassian.jira.rest.client.api.IssueRestClient)1 JiraRestClient (com.atlassian.jira.rest.client.api.JiraRestClient)1 JiraRestClientFactory (com.atlassian.jira.rest.client.api.JiraRestClientFactory)1 URI (java.net.URI)1 CamelContext (org.apache.camel.CamelContext)1 CamelContextConfiguration (org.apache.camel.spring.boot.CamelContextConfiguration)1 Bean (org.springframework.context.annotation.Bean)1