credentials = jiraPluginConfiguration.getCredentials();
+ assertTrue(credentials.isPresent());
+ assertEquals("testuser", credentials.get().getUser());
+ assertEquals("secret", credentials.get().getPassword());
+
+
+ assertEquals(2, jiraPluginConfiguration.getProjects().size());
+ assertEquals("Project X", jiraPluginConfiguration.getProjects().get(0).getKey());
+ assertEquals("Project Y", jiraPluginConfiguration.getProjects().get(1).getKey());
+ }
+
+ @Test
+ public void pluginConfigurationWithoutCredentials() throws JDOMException, IOException {
+
+ JiraPluginConfiguration jiraPluginConfiguration = xmlParser.parseConfiguration(
+ this.getClass().getClassLoader().getResourceAsStream(TEST_CONFIGURATION_WITHOUT_CREDENTIALS_FILE_NAME));
- Assert.assertEquals("testuser", xmlJiraPluginConfiguration.getCredentials().getUser());
- Assert.assertEquals("secret", xmlJiraPluginConfiguration.getCredentials().getPassword());
+ assertEquals("http://localhost:32763", jiraPluginConfiguration.getUrl());
+ assertFalse(jiraPluginConfiguration.getCredentials().isPresent());
- Assert.assertEquals(2, xmlJiraPluginConfiguration.getProjects().size());
- Assert.assertEquals("Project X", xmlJiraPluginConfiguration.getProjects().get(0).getKey());
- Assert.assertEquals("Project Y", xmlJiraPluginConfiguration.getProjects().get(1).getKey());
+ assertEquals(2, jiraPluginConfiguration.getProjects().size());
+ assertEquals("Project X", jiraPluginConfiguration.getProjects().get(0).getKey());
+ assertEquals("Project Y", jiraPluginConfiguration.getProjects().get(1).getKey());
}
}
diff --git a/src/test/java/org/jqassistant/contrib/plugin/jira/jjrc/MockedProject.java b/src/test/java/org/jqassistant/contrib/plugin/jira/jjrc/MockedProject.java
index 573dd4f..87fd47c 100644
--- a/src/test/java/org/jqassistant/contrib/plugin/jira/jjrc/MockedProject.java
+++ b/src/test/java/org/jqassistant/contrib/plugin/jira/jjrc/MockedProject.java
@@ -1,8 +1,13 @@
package org.jqassistant.contrib.plugin.jira.jjrc;
import com.atlassian.jira.rest.client.api.OptionalIterable;
-import com.atlassian.jira.rest.client.api.domain.*;
-import org.parboiled.common.StringUtils;
+import com.atlassian.jira.rest.client.api.domain.BasicComponent;
+import com.atlassian.jira.rest.client.api.domain.BasicProject;
+import com.atlassian.jira.rest.client.api.domain.BasicUser;
+import com.atlassian.jira.rest.client.api.domain.IssueType;
+import com.atlassian.jira.rest.client.api.domain.Project;
+import com.atlassian.jira.rest.client.api.domain.Version;
+import org.apache.commons.lang3.StringUtils;
import java.net.URI;
import java.util.Collections;
diff --git a/src/test/java/org/jqassistant/contrib/plugin/jira/rate_limits/RateLimitsTest.java b/src/test/java/org/jqassistant/contrib/plugin/jira/rate_limits/RateLimitsTest.java
index 53c8ab0..b77822e 100644
--- a/src/test/java/org/jqassistant/contrib/plugin/jira/rate_limits/RateLimitsTest.java
+++ b/src/test/java/org/jqassistant/contrib/plugin/jira/rate_limits/RateLimitsTest.java
@@ -5,12 +5,15 @@
import com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClientFactory;
import io.atlassian.util.concurrent.Promise;
import lombok.extern.slf4j.Slf4j;
-import org.junit.BeforeClass;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.Assumptions;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
import java.net.URI;
+import static org.junit.jupiter.api.Assumptions.assumeTrue;
+
/**
* This test can be used to test the rate limits of the Jira REST API.
*
@@ -27,14 +30,14 @@ public class RateLimitsTest {
private static JiraRestClient jiraRestClient;
- @BeforeClass
+ @BeforeAll
public static void setUpJiraRestClient() {
-
+ assumeTrue(URL != null);
jiraRestClient = new AsynchronousJiraRestClientFactory()
.createWithBasicHttpAuthentication(URI.create(URL), USERNAME, PASSWORD);
}
- @Ignore
+ @Disabled
@Test
public void when_oneRequestIsMadeAgainstJira_succeed() {
@@ -47,7 +50,7 @@ public void when_oneRequestIsMadeAgainstJira_succeed() {
}
}
- @Ignore
+ @Disabled
@Test
public void when_fivehundredRequestAreMadeAgainstJira_succeed() {
diff --git a/src/test/java/org/jqassistant/contrib/plugin/jira/scanner/InvalidConfigurationTestIT.java b/src/test/java/org/jqassistant/contrib/plugin/jira/scanner/InvalidConfigurationTestIT.java
index 18cbd0f..1740270 100644
--- a/src/test/java/org/jqassistant/contrib/plugin/jira/scanner/InvalidConfigurationTestIT.java
+++ b/src/test/java/org/jqassistant/contrib/plugin/jira/scanner/InvalidConfigurationTestIT.java
@@ -2,7 +2,7 @@
import com.buschmais.jqassistant.core.scanner.api.DefaultScope;
import com.buschmais.jqassistant.plugin.common.test.AbstractPluginIT;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.io.File;
import java.util.Objects;
diff --git a/src/test/java/org/jqassistant/contrib/plugin/jira/scanner/ScannerTestIT.java b/src/test/java/org/jqassistant/contrib/plugin/jira/scanner/ScannerTestIT.java
index d3c38a9..a33fb37 100644
--- a/src/test/java/org/jqassistant/contrib/plugin/jira/scanner/ScannerTestIT.java
+++ b/src/test/java/org/jqassistant/contrib/plugin/jira/scanner/ScannerTestIT.java
@@ -3,25 +3,28 @@
import com.buschmais.jqassistant.core.scanner.api.DefaultScope;
import com.buschmais.jqassistant.core.store.api.model.Descriptor;
import com.buschmais.jqassistant.plugin.common.test.AbstractPluginIT;
-import org.hamcrest.CoreMatchers;
+import org.jqassistant.contrib.plugin.jira.jjrc.JiraRestClientWrapper;
+import org.jqassistant.contrib.plugin.jira.jjrc.MockedJiraRestClientWrapper;
import org.jqassistant.contrib.plugin.jira.jjrc.MockedProject;
import org.jqassistant.contrib.plugin.jira.jjrc.MockedServerInfo;
import org.jqassistant.contrib.plugin.jira.model.JiraServer;
-import org.jqassistant.contrib.plugin.jira.utils.EnvironmentOverrider;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
import java.io.File;
import java.util.Objects;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.jqassistant.contrib.plugin.jira.utils.TimeConverter.convertTime;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
public class ScannerTestIT extends AbstractPluginIT {
- @BeforeClass
- public static void setTestEnvironmentVariables() throws Exception {
- EnvironmentOverrider.setTestEnvironmentVariables();
+ @BeforeAll
+ public static void setTestEnvironmentVariables() {
+ System.setProperty(JiraRestClientWrapper.class.getName(), MockedJiraRestClientWrapper.class.getName());
}
@Test
@@ -33,8 +36,7 @@ public void scanJira() {
File file = new File(Objects.requireNonNull(classLoader.getResource("scanner/jira-plugin-configuration.xml")).getFile());
Descriptor descriptor = getScanner().scan(file, "/scanner/jira-plugin-configuration.xml", DefaultScope.NONE);
-
- assertThat(descriptor, CoreMatchers.instanceOf(JiraServer.class));
+ assertThat(descriptor).isInstanceOf(JiraServer.class);
JiraServer jiraServer = (JiraServer) descriptor;
assertEquals(MockedServerInfo.BASE_URI.toString(), jiraServer.getBaseUri());
diff --git a/src/test/java/org/jqassistant/contrib/plugin/jira/utils/EnvironmentOverrider.java b/src/test/java/org/jqassistant/contrib/plugin/jira/utils/EnvironmentOverrider.java
deleted file mode 100644
index 00eb6bc..0000000
--- a/src/test/java/org/jqassistant/contrib/plugin/jira/utils/EnvironmentOverrider.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.jqassistant.contrib.plugin.jira.utils;
-
-import org.jqassistant.contrib.plugin.jira.jjrc.MockedJiraRestClientWrapper;
-import org.jqassistant.contrib.plugin.jira.scanner.GraphBuilder;
-import org.jqassistant.contrib.plugin.jira.scanner.ScannerTestIT;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.lang.reflect.Field;
-import java.util.Collections;
-import java.util.Map;
-
-import static org.jqassistant.contrib.plugin.jira.scanner.GraphBuilder.TEST_ENV;
-
-public abstract class EnvironmentOverrider {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(ScannerTestIT.class);
-
- public static void setTestEnvironmentVariables() throws Exception {
-
- LOGGER.info("Overriding environment variables inside JVM to make the Jira plugin use the mocked service.");
-
- Map environmentVariables = Collections.singletonMap(TEST_ENV, "true");
- setEnvironmentVariables(environmentVariables);
- }
- public static void setEmptyEnvironmentVariables() throws Exception {
-
- LOGGER.info("Resetting environment variables inside JVM to make the Jira plugin use the default service.");
-
- setEnvironmentVariables(Collections.emptyMap());
- }
-
- /**
- * This is a rather hacky approach to make {@link GraphBuilder} use the
- * {@link MockedJiraRestClientWrapper}
- * instead of the {@link org.jqassistant.contrib.plugin.jira.jjrc.DefaultJiraRestClientWrapper}.
- *
- * According to the stackoverflow post this hack does not modify the actual environment but just those in the JVM:
- * https://stackoverflow.com/questions/318239/how-do-i-set-environment-variables-from-java
- */
- @SuppressWarnings({"unchecked"})
- private static void setEnvironmentVariables(Map environmentVariables ) throws Exception {
-
- try {
- Class> processEnvironmentClass = Class.forName("java.lang.ProcessEnvironment");
- Field theEnvironmentField = processEnvironmentClass.getDeclaredField("theEnvironment");
- theEnvironmentField.setAccessible(true);
- Map env = (Map) theEnvironmentField.get(null);
- env.putAll(environmentVariables);
- Field theCaseInsensitiveEnvironmentField = processEnvironmentClass.getDeclaredField("theCaseInsensitiveEnvironment");
- theCaseInsensitiveEnvironmentField.setAccessible(true);
- Map cienv = (Map) theCaseInsensitiveEnvironmentField.get(null);
- cienv.putAll(environmentVariables);
- } catch (NoSuchFieldException e) {
- Class[] classes = Collections.class.getDeclaredClasses();
- Map env = System.getenv();
- for (Class cl : classes) {
- if ("java.util.Collections$UnmodifiableMap".equals(cl.getName())) {
- Field field = cl.getDeclaredField("m");
- field.setAccessible(true);
- Object obj = field.get(env);
- Map map = (Map) obj;
- map.clear();
- map.putAll(environmentVariables);
- }
- }
- }
- }
-}
diff --git a/src/test/java/org/jqassistant/contrib/plugin/jira/utils/TimeConverterTest.java b/src/test/java/org/jqassistant/contrib/plugin/jira/utils/TimeConverterTest.java
index 25c80ed..640eae9 100644
--- a/src/test/java/org/jqassistant/contrib/plugin/jira/utils/TimeConverterTest.java
+++ b/src/test/java/org/jqassistant/contrib/plugin/jira/utils/TimeConverterTest.java
@@ -1,8 +1,8 @@
package org.jqassistant.contrib.plugin.jira.utils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
public class TimeConverterTest {
diff --git a/src/test/resources/jdom/jira-plugin-configuration_without_credentials.xml b/src/test/resources/jdom/jira-plugin-configuration_without_credentials.xml
new file mode 100644
index 0000000..1fe8390
--- /dev/null
+++ b/src/test/resources/jdom/jira-plugin-configuration_without_credentials.xml
@@ -0,0 +1,14 @@
+
+
+ http://localhost:32763
+
+
+
+ Project X
+
+
+ Project Y
+
+
+
+
\ No newline at end of file