Search in sources :

Example 1 with BasicUser

use of com.atlassian.jira.rest.client.api.domain.BasicUser 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 BasicUser

use of com.atlassian.jira.rest.client.api.domain.BasicUser 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 BasicUser

use of com.atlassian.jira.rest.client.api.domain.BasicUser in project jira-plugin by jenkinsci.

the class JiraRestService method getComponents.

public List<Component> getComponents(String projectKey) {
    final URIBuilder builder = new URIBuilder(uri).setPath(String.format("%s/project/%s/components", baseApiPath, projectKey));
    try {
        final Content content = buildGetRequest(builder.build()).execute().returnContent();
        final List<Map<String, Object>> decoded = objectMapper.readValue(content.asString(), new TypeReference<List<Map<String, Object>>>() {
        });
        final List<Component> components = new ArrayList<>();
        for (final Map<String, Object> decodeComponent : decoded) {
            BasicUser lead = null;
            if (decodeComponent.containsKey("lead")) {
                final Map<String, Object> decodedLead = (Map<String, Object>) decodeComponent.get("lead");
                lead = new BasicUser(URI.create((String) decodedLead.get("self")), (String) decodedLead.get("name"), (String) decodedLead.get("displayName"), (String) decodedLead.get("accountId"));
            }
            final Component component = new Component(URI.create((String) decodeComponent.get("self")), Long.parseLong((String) decodeComponent.get("id")), (String) decodeComponent.get("name"), (String) decodeComponent.get("description"), lead);
            components.add(component);
        }
        return components;
    } catch (Exception e) {
        LOGGER.log(WARNING, "Jira REST client process workflow action error. cause: " + e.getMessage(), e);
        return Collections.emptyList();
    }
}
Also used : ArrayList(java.util.ArrayList) TimeoutException(java.util.concurrent.TimeoutException) RestClientException(com.atlassian.jira.rest.client.api.RestClientException) UnsupportedEncodingException(java.io.UnsupportedEncodingException) URIBuilder(org.apache.http.client.utils.URIBuilder) BasicUser(com.atlassian.jira.rest.client.api.domain.BasicUser) Content(org.apache.http.client.fluent.Content) List(java.util.List) ArrayList(java.util.ArrayList) Component(com.atlassian.jira.rest.client.api.domain.Component) Map(java.util.Map) HashMap(java.util.HashMap)

Example 4 with BasicUser

use of com.atlassian.jira.rest.client.api.domain.BasicUser 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 5 with BasicUser

use of com.atlassian.jira.rest.client.api.domain.BasicUser 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)5 ArrayList (java.util.ArrayList)5 BasicWatchers (com.atlassian.jira.rest.client.api.domain.BasicWatchers)4 Watchers (com.atlassian.jira.rest.client.api.domain.Watchers)4 HashMap (java.util.HashMap)4 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)4 Issue (com.atlassian.jira.rest.client.api.domain.Issue)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 RestClientException (com.atlassian.jira.rest.client.api.RestClientException)1 Component (com.atlassian.jira.rest.client.api.domain.Component)1 UnsupportedEncodingException (java.io.UnsupportedEncodingException)1 URI (java.net.URI)1 List (java.util.List)1 Map (java.util.Map)1