package com.thinkbiganalytics.jira; /*- * #%L * thinkbig-jira-rest-client * %% * Copyright (C) 2017 ThinkBig Analytics * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * #L% */ import com.thinkbiganalytics.jira.domain.Issue; import org.junit.Ignore; import org.junit.Test; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; /** */ @Ignore("Ignore Jira tests") public class JerseyClientTest { @Test public void testJerseyClient() { JiraRestClientConfig config = new JiraRestClientConfig("/rest/api/latest/"); config.setUsername("USERNAME"); config.setPassword("PASSWORD"); config.setHttps(true); config.setKeystoreOnClasspath(true); config.setKeystorePath("/kylo_jira.jks"); config.setKeystorePassword("changeit"); config.setHost("bugs.thinkbiganalytics.com"); final JiraJerseyClient client = new JiraJerseyClient(config); Map<String, String> params = new HashMap<String, String>(); params.put("projectKeys", "JRTT"); params.put("expand", "projects.issuetypes.fields"); try { // final Issue issue1 = client.createIssue("JRTT","Jira Client Pooling Test 1 ","Test Description","Task","scott.reisdorf"); // final Issue issue2 = client.createIssue("JRTT","Jira Client Pooling Test 2","Test Description","Task","scott.reisdorf"); ExecutorService executorService = Executors.newFixedThreadPool(10); Set<Callable<Issue>> callables = new HashSet<Callable<Issue>>(); for (int i = 0; i < 10; i++) { callables.add(new Callable<Issue>() { public Issue call() throws Exception { return client.getIssue("JRTT-927"); } }); } /* callables.add(new Callable<Issue>() { public Issue call() throws Exception { return client.getIssue(issue2.getKey()); } }); callables.add(new Callable<Issue>() { public Issue call() throws Exception { Issue issue = client.createIssue("JRTT", "Jira Client Pooling Test 3", "Test Description", "Task", "scott.reisdorf"); return client.getIssue(issue.getKey()); } }); callables.add(new Callable<Issue>() { public Issue call() throws Exception { return client.getIssue(issue1.getKey()); } }); */ List<Future<Issue>> futures = executorService.invokeAll(callables); for (Future<Issue> future : futures) { System.out.println("future.get = " + future.get().getKey() + " - " + future.get().getSummary()); } executorService.shutdown(); } catch (Exception e) { e.printStackTrace(); } } }