Search in sources :

Example 1 with BasicWatchers

use of com.atlassian.jira.rest.client.api.domain.BasicWatchers in project camel-quarkus by apache.

the class JiraTest method watchers.

@Test
public void watchers() {
    // Create issue
    String issueKey = createIssue();
    try {
        // Unwatch issue
        JiraRestClient client = getClient();
        String username = client.getSessionClient().getCurrentSession().claim().getUsername();
        RestAssured.given().contentType(ContentType.TEXT).pathParam("key", issueKey).queryParam("action", "unwatch").body(username).when().post("/jira/issue/{key}/watch").then().statusCode(200);
        // Verify unwatch
        await().atMost(10, TimeUnit.SECONDS).pollDelay(1, TimeUnit.SECONDS).until(() -> {
            Issue issue = getClient().getIssueClient().getIssue(issueKey).claim();
            assertNotNull(issue);
            BasicWatchers watchers = issue.getWatchers();
            return watchers != null && !watchers.isWatching();
        });
        // Watch issue
        RestAssured.given().contentType(ContentType.TEXT).pathParam("key", issueKey).queryParam("action", "watch").body(username).when().post("/jira/issue/{key}/watch").then().statusCode(200);
        // Verify unwatch
        await().atMost(10, TimeUnit.SECONDS).pollDelay(1, TimeUnit.SECONDS).until(() -> {
            Issue issue = getClient().getIssueClient().getIssue(issueKey).claim();
            assertNotNull(issue);
            BasicWatchers watchers = issue.getWatchers();
            return watchers != null && watchers.isWatching();
        });
    } finally {
        deleteIssue(issueKey);
    }
}
Also used : Issue(com.atlassian.jira.rest.client.api.domain.Issue) BasicWatchers(com.atlassian.jira.rest.client.api.domain.BasicWatchers) JiraRestClient(com.atlassian.jira.rest.client.api.JiraRestClient) QuarkusTest(io.quarkus.test.junit.QuarkusTest) Test(org.junit.jupiter.api.Test)

Example 2 with BasicWatchers

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

Aggregations

JiraRestClient (com.atlassian.jira.rest.client.api.JiraRestClient)2 BasicWatchers (com.atlassian.jira.rest.client.api.domain.BasicWatchers)2 IssueRestClient (com.atlassian.jira.rest.client.api.IssueRestClient)1 JiraRestClientFactory (com.atlassian.jira.rest.client.api.JiraRestClientFactory)1 BasicUser (com.atlassian.jira.rest.client.api.domain.BasicUser)1 Issue (com.atlassian.jira.rest.client.api.domain.Issue)1 Watchers (com.atlassian.jira.rest.client.api.domain.Watchers)1 QuarkusTest (io.quarkus.test.junit.QuarkusTest)1 URI (java.net.URI)1 ArrayList (java.util.ArrayList)1 CamelContext (org.apache.camel.CamelContext)1 CamelContextConfiguration (org.apache.camel.spring.boot.CamelContextConfiguration)1 Test (org.junit.jupiter.api.Test)1 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)1 Bean (org.springframework.context.annotation.Bean)1