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);
}
}
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
}
};
}
Aggregations