1 package com.proalpha.pds.projconf;
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertTrue;
5 import static org.junit.Assert.fail;
7 import java.io.IOException;
8 import java.util.Arrays;
9 import java.util.HashSet;
10 import java.util.List;
13 import org.eclipse.core.resources.IProject;
14 import org.eclipse.core.resources.ResourcesPlugin;
15 import org.eclipse.core.runtime.CoreException;
16 import org.eclipse.core.runtime.NullProgressMonitor;
17 import org.eclipse.mylyn.commons.net.AuthenticationCredentials;
18 import org.eclipse.mylyn.commons.net.AuthenticationType;
19 import org.eclipse.mylyn.internal.tasks.core.RepositoryQuery;
20 import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
21 import org.eclipse.mylyn.tasks.core.TaskRepository;
22 import org.eclipse.mylyn.tasks.ui.TasksUi;
23 import org.junit.After;
24 import org.junit.Before;
25 import org.junit.Test;
26 import org.slf4j.Logger;
27 import org.slf4j.LoggerFactory;
29 import com.atlassian.connector.eclipse.internal.jira.core.JiraCorePlugin;
30 import com.proalpha.pds.projconf.configure.ConfigurePdsProject;
31 import com.proalpha.pds.projconf.importwizards.ReadDemasFile;
37 private static final String RES_DIR = System.getProperty(
"user.dir") +
"\\test\\resources";
44 propertiesFile =
new ReadDemasFile(RES_DIR +
"\\PDSconfig.properties");
49 public void tearDown() {
56 testProject.installPaProject(
new NullProgressMonitor());
57 }
catch (Exception e) {
58 logger.error(e.getMessage(), e);
62 List<IProject> projects = Arrays.asList(ResourcesPlugin.getWorkspace().getRoot().getProjects());
64 for (IProject p : projects) {
65 System.out.println(p.getName());
66 if (p.getName().equals(
"proalpha-de-72b00-dev")) {
67 assertEquals(
"proalpha-de-72b00-dev", p.getName());
74 public void checkRepositoryUrlIsSet()
throws CoreException, IOException {
75 testProject.configureMylyn(
"https://jira.proalpha.com",
"proAlpha", propertiesFile.getJiraProject(),
76 "Mir zugewiesene Vorgänge");
78 @SuppressWarnings(
"restriction")
79 Set<TaskRepository> repositories = TasksUi.getRepositoryManager()
80 .getRepositories(JiraCorePlugin.CONNECTOR_KIND);
82 Set<String> repositoryUrlSet =
new HashSet<String>();
84 for (TaskRepository taskRepository : repositories) {
85 repositoryUrlSet.add(taskRepository.getRepositoryUrl());
88 String expected =
"https://jira.proalpha.com";
89 assertTrue(repositoryUrlSet.contains(expected));
93 public void checkRepositoryLabelIsSet()
throws CoreException, IOException {
94 testProject.configureMylyn(propertiesFile.getJiraUrl(),
"proAlpha",
"proALPHA JIRA",
95 "Mir zugewiesene Vorgänge");
97 @SuppressWarnings(
"restriction")
98 Set<TaskRepository> repositories = TasksUi.getRepositoryManager()
99 .getRepositories(JiraCorePlugin.CONNECTOR_KIND);
101 Set<String> repositoryLabelSet =
new HashSet<String>();
103 for (TaskRepository taskRepository : repositories) {
104 repositoryLabelSet.add(taskRepository.getRepositoryLabel());
107 String expected =
"proALPHA JIRA";
108 assertTrue(repositoryLabelSet.contains(expected));
112 public void checkRepositoryCategoryIsSet() {
113 testProject.configureMylyn(propertiesFile.getJiraUrl(),
"proAlpha", propertiesFile.getJiraProject(),
114 "Mir zugewiesene Vorgänge");
116 @SuppressWarnings(
"restriction")
117 Set<TaskRepository> repositories = TasksUi.getRepositoryManager()
118 .getRepositories(JiraCorePlugin.CONNECTOR_KIND);
120 Set<String> repositoryCategorySet =
new HashSet<String>();
122 for (TaskRepository taskRepository : repositories) {
123 repositoryCategorySet.add(taskRepository.getCategory());
126 String expected =
"proAlpha";
127 assertTrue(repositoryCategorySet.contains(expected));
131 public void checkRepositoryCredentialsAreSet() {
132 testProject.configureMylyn(propertiesFile.getJiraUrl(),
"proAlpha", propertiesFile.getJiraProject(),
133 "Mir zugewiesene Vorgänge");
135 @SuppressWarnings(
"restriction")
136 Set<TaskRepository> repositories = TasksUi.getRepositoryManager()
137 .getRepositories(JiraCorePlugin.CONNECTOR_KIND);
139 Set<AuthenticationCredentials> credentialsSet =
new HashSet<AuthenticationCredentials>();
141 for (TaskRepository taskRepository : repositories) {
142 credentialsSet.add(taskRepository.getCredentials(AuthenticationType.REPOSITORY));
145 String expectedUsername =
"";
146 String expectedPassword =
"";
148 if (credentialsSet.size() != 1) {
149 fail(
"There must be only one authentication credentials set!");
152 for (AuthenticationCredentials authenticationCredentials : credentialsSet) {
153 assertEquals(expectedUsername, authenticationCredentials.getUserName());
154 assertEquals(expectedPassword, authenticationCredentials.getPassword());
159 @SuppressWarnings(
"restriction")
161 public void checkRepositoryIsAdded() {
162 String repositoryUrl =
"https://jira.proalpha.com";
163 String category =
"proAlpha";
164 String repositorySummary =
"Mir zugewiesene Vorgänge";
165 testProject.configureMylyn(repositoryUrl, category, propertiesFile.getJiraProject(),
168 TaskRepository expected =
new TaskRepository(JiraCorePlugin.CONNECTOR_KIND, repositoryUrl);
169 expected.setCategory(category);
170 expected.setRepositoryLabel(propertiesFile.getJiraProject());
171 expected.setCredentials(AuthenticationType.REPOSITORY,
new AuthenticationCredentials(
"",
""),
true);
173 TasksUi.getRepositoryManager().addRepository(expected);
175 Set<TaskRepository> repositories = TasksUi.getRepositoryManager()
176 .getRepositories(JiraCorePlugin.CONNECTOR_KIND);
178 for (TaskRepository actual : repositories) {
179 assertEquals(expected, actual);
184 public void checkRepositoryIsAddedOnlyOnce() {
185 String category =
"proAlpha";
186 String repositorySummary =
"Mir zugewiesene Vorgänge";
187 testProject.configureMylyn(propertiesFile.getJiraUrl(), category, propertiesFile.getJiraProject(),
190 @SuppressWarnings(
"restriction")
191 TaskRepository expected =
new TaskRepository(JiraCorePlugin.CONNECTOR_KIND, propertiesFile.getJiraUrl());
192 expected.setCategory(category);
193 expected.setRepositoryLabel(propertiesFile.getJiraProject());
194 expected.setCredentials(AuthenticationType.REPOSITORY,
new AuthenticationCredentials(
"",
""),
true);
196 TasksUi.getRepositoryManager().addRepository(expected);
197 TasksUi.getRepositoryManager().addRepository(expected);
199 List<TaskRepository> repositories = TasksUi.getRepositoryManager().getAllRepositories();
201 int repositoryCounter = 0;
203 for (TaskRepository actual : repositories) {
204 if (actual.getUrl() == propertiesFile.getJiraUrl()) {
209 int expectedRepositoryCounter = 1;
211 assertEquals(expectedRepositoryCounter, repositoryCounter);
214 @SuppressWarnings(
"restriction")
216 public void checkRepositoryQueryAddedMoreThenOnceThrowsException() {
217 String category =
"proAlpha";
218 String repositorySummary =
"Mir zugewiesene Vorgänge";
219 testProject.configureMylyn(propertiesFile.getJiraUrl(), category, propertiesFile.getJiraProject(),
222 TaskRepository repository =
new TaskRepository(JiraCorePlugin.CONNECTOR_KIND, propertiesFile.getJiraUrl());
223 repository.setCategory(category);
224 repository.setRepositoryLabel(propertiesFile.getJiraProject());
225 repository.setCredentials(AuthenticationType.REPOSITORY,
new AuthenticationCredentials(
"",
""),
true);
226 TasksUi.getRepositoryManager().addRepository(repository);
228 RepositoryQuery repQuery = (RepositoryQuery) TasksUi.getRepositoryModel().createRepositoryQuery(repository);
229 repQuery.setSummary(repositorySummary);
230 TasksUiPlugin.getTaskList().addQuery(repQuery);
233 TasksUiPlugin.getTaskList().addQuery(repQuery);
234 }
catch (Exception actual) {
235 assertTrue(actual instanceof IllegalArgumentException);
239 @SuppressWarnings(
"restriction")
241 public void checkRepositoryQuerySummaryIsSet() {
242 String category =
"proAlpha";
243 String expected =
"Mir zugewiesene Vorgänge";
244 testProject.configureMylyn(propertiesFile.getJiraUrl(), category, propertiesFile.getJiraProject(),
247 TaskRepository repository =
new TaskRepository(JiraCorePlugin.CONNECTOR_KIND, propertiesFile.getJiraUrl());
248 repository.setCategory(category);
249 repository.setRepositoryLabel(propertiesFile.getJiraProject());
250 repository.setCredentials(AuthenticationType.REPOSITORY,
new AuthenticationCredentials(
"",
""),
true);
251 TasksUi.getRepositoryManager().addRepository(repository);
253 RepositoryQuery repQuery = (RepositoryQuery) TasksUi.getRepositoryModel().createRepositoryQuery(repository);
254 repQuery.setSummary(expected);
255 TasksUiPlugin.getTaskList().addQuery(repQuery);
257 Set<RepositoryQuery> repQueries = TasksUiPlugin.getTaskList().getRepositoryQueries(propertiesFile.getJiraUrl());
259 for (RepositoryQuery repositoryQuery : repQueries) {
260 assertEquals(expected, repositoryQuery.getSummary());