diff --git a/pom.xml b/pom.xml index 3eeaa42..d4fd75c 100644 --- a/pom.xml +++ b/pom.xml @@ -60,10 +60,11 @@ 8.0.2 ${project.groupId}.${project.artifactId} 2.1.5 - 0.0.32-SNAPSHOT + 0.5.0 2.2.4 6.1.5.Final 3.0.0 + 4.0.1 7.13.0 UTF-8 @@ -230,12 +231,6 @@ provided - - javax.ws.rs - jsr311-api - provided - - javax.xml.bind jaxb-api @@ -251,6 +246,7 @@ javax.servlet javax.servlet-api + ${javax.servlet-api.version} provided @@ -277,8 +273,8 @@ - junit - junit + org.junit.jupiter + junit-jupiter test @@ -288,6 +284,12 @@ test + + org.mockito + mockito-junit-jupiter + test + + org.apache.wink wink-client diff --git a/src/test/java/de/aservo/confapi/jira/filter/SysadminOnlyResourceFilterTest.java b/src/test/java/de/aservo/confapi/jira/filter/SysadminOnlyResourceFilterTest.java index a5496b6..bb0245f 100644 --- a/src/test/java/de/aservo/confapi/jira/filter/SysadminOnlyResourceFilterTest.java +++ b/src/test/java/de/aservo/confapi/jira/filter/SysadminOnlyResourceFilterTest.java @@ -5,19 +5,18 @@ import com.atlassian.sal.api.user.UserKey; import com.atlassian.sal.api.user.UserManager; import com.atlassian.sal.api.user.UserProfile; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.mockito.Matchers.any; +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class SysadminOnlyResourceFilterTest { @Mock @@ -25,7 +24,7 @@ public class SysadminOnlyResourceFilterTest { private SysadminOnlyResourceFilter sysadminOnlyResourceFilter; - @Before + @BeforeEach public void setup() { sysadminOnlyResourceFilter = new SysadminOnlyResourceFilter(userManager); } @@ -36,17 +35,21 @@ public void testFilterDefaults() { assertEquals(sysadminOnlyResourceFilter, sysadminOnlyResourceFilter.getRequestFilter()); } - @Test(expected = AuthenticationRequiredException.class) + @Test public void testAdminAccessNoUser() { - sysadminOnlyResourceFilter.filter(null); + assertThrows(AuthenticationRequiredException.class, () -> { + sysadminOnlyResourceFilter.filter(null); + }); } - @Test(expected = AuthorisationException.class) + @Test public void testNonSysadminAccess() { final UserProfile userProfile = mock(UserProfile.class); doReturn(userProfile).when(userManager).getRemoteUser(); - sysadminOnlyResourceFilter.filter(null); + assertThrows(AuthorisationException.class, () -> { + sysadminOnlyResourceFilter.filter(null); + }); } @Test diff --git a/src/test/java/de/aservo/confapi/jira/model/util/ApplicationLinkBeanUtilTest.java b/src/test/java/de/aservo/confapi/jira/model/util/ApplicationLinkBeanUtilTest.java index 91db92b..97c960b 100644 --- a/src/test/java/de/aservo/confapi/jira/model/util/ApplicationLinkBeanUtilTest.java +++ b/src/test/java/de/aservo/confapi/jira/model/util/ApplicationLinkBeanUtilTest.java @@ -16,19 +16,18 @@ import de.aservo.confapi.commons.model.ApplicationLinkBean; import de.aservo.confapi.commons.model.ApplicationLinkBean.ApplicationLinkType; import org.apache.commons.lang3.NotImplementedException; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import java.net.URI; import java.net.URISyntaxException; import java.util.UUID; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.mock; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class ApplicationLinkBeanUtilTest { @Test @@ -92,14 +91,17 @@ public void testLinkTypeGenerator() throws URISyntaxException { } } - @Test(expected = NotImplementedException.class) + @Test public void testNonImplementedLinkTypeGenerator() throws URISyntaxException { ApplicationType applicationType = mock(RefAppApplicationType.class); ApplicationId applicationId = new ApplicationId(UUID.randomUUID().toString()); URI uri = new URI("http://localhost"); ApplicationLink applicationLink = new DefaultApplicationLink( applicationId, applicationType, "test", uri, uri, false, false); - ApplicationLinkBeanUtil.toApplicationLinkBean(applicationLink); + + assertThrows(NotImplementedException.class, () -> { + ApplicationLinkBeanUtil.toApplicationLinkBean(applicationLink); + }); } } diff --git a/src/test/java/de/aservo/confapi/jira/model/util/DirectoryBeanUtilTest.java b/src/test/java/de/aservo/confapi/jira/model/util/DirectoryBeanUtilTest.java index 32ff9a8..c4b473f 100644 --- a/src/test/java/de/aservo/confapi/jira/model/util/DirectoryBeanUtilTest.java +++ b/src/test/java/de/aservo/confapi/jira/model/util/DirectoryBeanUtilTest.java @@ -4,18 +4,18 @@ import com.atlassian.crowd.embedded.api.DirectoryType; import com.atlassian.crowd.model.directory.DirectoryImpl; import de.aservo.confapi.commons.model.DirectoryCrowdBean; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import java.util.Map; import static com.atlassian.crowd.directory.RemoteCrowdDirectory.*; import static com.atlassian.crowd.directory.SynchronisableDirectoryProperties.INCREMENTAL_SYNC_ENABLED; import static com.atlassian.crowd.model.directory.DirectoryImpl.ATTRIBUTE_KEY_USE_NESTED_GROUPS; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class DirectoryBeanUtilTest { @Test diff --git a/src/test/java/de/aservo/confapi/jira/model/util/LicenseBeanUtilTest.java b/src/test/java/de/aservo/confapi/jira/model/util/LicenseBeanUtilTest.java index 8639fec..617a38d 100644 --- a/src/test/java/de/aservo/confapi/jira/model/util/LicenseBeanUtilTest.java +++ b/src/test/java/de/aservo/confapi/jira/model/util/LicenseBeanUtilTest.java @@ -4,18 +4,18 @@ import com.atlassian.jira.license.LicenseDetails; import com.atlassian.jira.license.LicensedApplications; import de.aservo.confapi.commons.model.LicenseBean; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import java.util.Collections; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class LicenseBeanUtilTest { @Test diff --git a/src/test/java/de/aservo/confapi/jira/model/util/MailServerPopBeanUtilTest.java b/src/test/java/de/aservo/confapi/jira/model/util/MailServerPopBeanUtilTest.java index 48fef6b..bdc42a6 100644 --- a/src/test/java/de/aservo/confapi/jira/model/util/MailServerPopBeanUtilTest.java +++ b/src/test/java/de/aservo/confapi/jira/model/util/MailServerPopBeanUtilTest.java @@ -3,13 +3,13 @@ import atlassian.mail.server.DefaultTestPopMailServerImpl; import com.atlassian.mail.server.PopMailServer; import de.aservo.confapi.commons.model.MailServerPopBean; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class MailServerPopBeanUtilTest { @Test diff --git a/src/test/java/de/aservo/confapi/jira/model/util/MailServerSmtpBeanUtilTest.java b/src/test/java/de/aservo/confapi/jira/model/util/MailServerSmtpBeanUtilTest.java index 42b138f..88e1382 100644 --- a/src/test/java/de/aservo/confapi/jira/model/util/MailServerSmtpBeanUtilTest.java +++ b/src/test/java/de/aservo/confapi/jira/model/util/MailServerSmtpBeanUtilTest.java @@ -3,13 +3,13 @@ import atlassian.mail.server.DefaultTestSmtpMailServerImpl; import com.atlassian.mail.server.SMTPMailServer; import de.aservo.confapi.commons.model.MailServerSmtpBean; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class MailServerSmtpBeanUtilTest { @Test diff --git a/src/test/java/de/aservo/confapi/jira/model/util/SettingsColourSchemeBeanUtilTest.java b/src/test/java/de/aservo/confapi/jira/model/util/SettingsColourSchemeBeanUtilTest.java index 81898a0..7d1fc27 100644 --- a/src/test/java/de/aservo/confapi/jira/model/util/SettingsColourSchemeBeanUtilTest.java +++ b/src/test/java/de/aservo/confapi/jira/model/util/SettingsColourSchemeBeanUtilTest.java @@ -3,20 +3,20 @@ import com.atlassian.jira.config.properties.APKeys; import com.atlassian.jira.config.properties.ApplicationProperties; import de.aservo.confapi.commons.model.SettingsBrandingColorSchemeBean; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import java.util.HashMap; import java.util.Map; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.verify; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class SettingsColourSchemeBeanUtilTest { @Mock diff --git a/src/test/java/de/aservo/confapi/jira/service/ApplicationLinkServiceTest.java b/src/test/java/de/aservo/confapi/jira/service/ApplicationLinkServiceTest.java index 2160938..4cee651 100644 --- a/src/test/java/de/aservo/confapi/jira/service/ApplicationLinkServiceTest.java +++ b/src/test/java/de/aservo/confapi/jira/service/ApplicationLinkServiceTest.java @@ -25,11 +25,11 @@ import de.aservo.confapi.commons.model.ApplicationLinksBean; import de.aservo.confapi.jira.model.type.DefaultAuthenticationScenario; import de.aservo.confapi.jira.model.util.ApplicationLinkBeanUtil; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import java.net.URI; import java.net.URISyntaxException; @@ -42,11 +42,11 @@ import static de.aservo.confapi.commons.model.ApplicationLinkBean.ApplicationLinkStatus.AVAILABLE; import static de.aservo.confapi.commons.model.ApplicationLinkBean.ApplicationLinkStatus.CONFIGURATION_ERROR; import static de.aservo.confapi.commons.model.ApplicationLinkBean.ApplicationLinkType.CROWD; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.*; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class ApplicationLinkServiceTest { @Mock @@ -60,7 +60,7 @@ public class ApplicationLinkServiceTest { private ApplicationLinkServiceImpl applicationLinkService; - @Before + @BeforeEach public void setup() { applicationLinkService = new ApplicationLinkServiceImpl(mutatingApplicationLinkService, typeAccessor, applinkStatusService); } @@ -205,7 +205,7 @@ public void testAddApplicationLinkWithAuthenticatorErrorIgnored() throws URISynt assertNotEquals(applicationLinkResponse, applicationLinkBean); } - @Test(expected = BadRequestException.class) + @Test public void testAddApplicationLinkWithAuthenticatorErrorNOTIgnored() throws URISyntaxException, ManifestNotFoundException, AuthenticationConfigurationException { ApplicationLink applicationLink = createApplicationLink(); ApplicationLinkBean applicationLinkBean = createApplicationLinkBean(); @@ -216,7 +216,9 @@ public void testAddApplicationLinkWithAuthenticatorErrorNOTIgnored() throws URIS doReturn(new DefaultApplicationType()).when(typeAccessor).getApplicationType(any()); doThrow(new AuthenticationConfigurationException("")).when(mutatingApplicationLinkService).configureAuthenticationForApplicationLink(any(), any(), any(), any()); - applicationLinkService.addApplicationLink(applicationLinkBean, false); + assertThrows(BadRequestException.class, () -> { + applicationLinkService.addApplicationLink(applicationLinkBean, false); + }); } @Test @@ -247,9 +249,11 @@ public void testDeleteApplicationLinks() throws URISyntaxException { verify(mutatingApplicationLinkService).deleteApplicationLink(any()); } - @Test(expected = BadRequestException.class) + @Test public void testDeleteApplicationLinksWithoutForceParameter() { - applicationLinkService.deleteApplicationLinks(false); + assertThrows(BadRequestException.class, () -> { + applicationLinkService.deleteApplicationLinks(false); + }); } @Test diff --git a/src/test/java/de/aservo/confapi/jira/service/DirectoryServiceTest.java b/src/test/java/de/aservo/confapi/jira/service/DirectoryServiceTest.java index ea5e56c..3be9850 100644 --- a/src/test/java/de/aservo/confapi/jira/service/DirectoryServiceTest.java +++ b/src/test/java/de/aservo/confapi/jira/service/DirectoryServiceTest.java @@ -14,11 +14,11 @@ import de.aservo.confapi.commons.model.DirectoryCrowdBean; import de.aservo.confapi.commons.model.DirectoryLdapBean; import de.aservo.confapi.jira.model.util.DirectoryBeanUtil; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import java.util.Collections; import java.util.Date; @@ -29,12 +29,11 @@ import static com.atlassian.crowd.directory.SynchronisableDirectoryProperties.*; import static com.atlassian.crowd.directory.SynchronisableDirectoryProperties.SyncGroupMembershipsAfterAuth.WHEN_AUTHENTICATION_CREATED_THE_USER; import static com.atlassian.crowd.model.directory.DirectoryImpl.ATTRIBUTE_KEY_USE_NESTED_GROUPS; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.*; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.*; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class DirectoryServiceTest { @Mock @@ -42,7 +41,7 @@ public class DirectoryServiceTest { private DirectoryServiceImpl directoryService; - @Before + @BeforeEach public void setup() { directoryService = new DirectoryServiceImpl(crowdDirectoryService); } @@ -57,11 +56,14 @@ public void testGetDirectories() { assertEquals(directories.getDirectories().iterator().next(), DirectoryBeanUtil.toDirectoryBean(directory)); } - @Test(expected = IllegalArgumentException.class) + @Test public void testGetDirectoriesUriException() { Directory directory = createDirectory("öäöää://uhveuehvde"); doReturn(Collections.singletonList(directory)).when(crowdDirectoryService).findAllDirectories(); - directoryService.getDirectories(); + + assertThrows(IllegalArgumentException.class, () -> { + directoryService.getDirectories(); + }); } @Test @@ -74,9 +76,11 @@ public void testGetDirectory() { assertEquals(DirectoryBeanUtil.toDirectoryBean(directory), directoryBean); } - @Test(expected = NotFoundException.class) + @Test public void testGetDirectoryNotExisting() { - directoryService.getDirectory(1L); + assertThrows(NotFoundException.class, () -> { + directoryService.getDirectory(1L); + }); } @Test @@ -90,7 +94,7 @@ public void testSetDirectoriesWithoutExistingDirectory() { directoryBean.getServer().setAppPassword("test"); directoryService.setDirectories(new DirectoriesBean(Collections.singletonList(directoryBean)), false); - assertTrue("Update Successful", true); + assertTrue(true, "Update Successful"); } @Test @@ -156,18 +160,23 @@ public void testSetDirectoryWithConnectionTest() { assertEquals(directoryBean.getId(), directoryAdded.getId()); } - @Test(expected = BadRequestException.class) + @Test public void testSetDirectoryUnsupportedType() { - directoryService.setDirectory(1L, new DirectoryLdapBean(), false); + assertThrows(BadRequestException.class, () -> { + directoryService.setDirectory(1L, new DirectoryLdapBean(), false); + }); } - @Test(expected = NotFoundException.class) + @Test public void testSetDirectoryNotExisting() { Directory directory = createDirectory(); - directoryService.setDirectory(1L, DirectoryBeanUtil.toDirectoryBean(directory), false); + + assertThrows(NotFoundException.class, () -> { + directoryService.setDirectory(1L, DirectoryBeanUtil.toDirectoryBean(directory), false); + }); } - @Test(expected = IllegalArgumentException.class) + @Test public void testAddDirectoryUriException() { Directory responseDirectory = createDirectory("öäöää://uhveuehvde"); doReturn(responseDirectory).when(crowdDirectoryService).addDirectory(any()); @@ -175,7 +184,9 @@ public void testAddDirectoryUriException() { Directory directory = createDirectory(); DirectoryCrowdBean directoryBean = (DirectoryCrowdBean) DirectoryBeanUtil.toDirectoryBean(directory); - directoryService.addDirectory(directoryBean, false); + assertThrows(IllegalArgumentException.class, () -> { + directoryService.addDirectory(directoryBean, false); + }); } @Test @@ -191,14 +202,18 @@ public void testAddDirectory() { assertEquals(directoryAdded.getId(), directoryBean.getId()); } - @Test(expected = BadRequestException.class) + @Test public void testAddDirectoryUnsupportedType() { - directoryService.addDirectory(new DirectoryLdapBean(), false); + assertThrows(BadRequestException.class, () -> { + directoryService.addDirectory(new DirectoryLdapBean(), false); + }); } - @Test(expected = BadRequestException.class) + @Test public void testDeleteDirectoriesWithoutForceParameter() { - directoryService.deleteDirectories(false); + assertThrows(BadRequestException.class, () -> { + directoryService.deleteDirectories(false); + }); } @Test @@ -231,16 +246,21 @@ public void testDeleteDirectory() throws DirectoryCurrentlySynchronisingExceptio verify(crowdDirectoryService).removeDirectory(1L); } - @Test(expected = NotFoundException.class) + @Test public void testDeleteDirectoryNotExisting() { - directoryService.deleteDirectory(1L); + assertThrows(NotFoundException.class, () -> { + directoryService.deleteDirectory(1L); + }); } - @Test(expected = ServiceUnavailableException.class) + @Test public void testDeleteDirectoryCurrentlySynchronisingException() throws DirectoryCurrentlySynchronisingException { doReturn(createDirectory()).when(crowdDirectoryService).findDirectoryById(1L); doThrow(new DirectoryCurrentlySynchronisingException(1L)).when(crowdDirectoryService).removeDirectory(1L); - directoryService.deleteDirectory(1L); + + assertThrows(ServiceUnavailableException.class, () -> { + directoryService.deleteDirectory(1L); + }); } private Directory createDirectory() { diff --git a/src/test/java/de/aservo/confapi/jira/service/LicensesServiceTest.java b/src/test/java/de/aservo/confapi/jira/service/LicensesServiceTest.java index 6150a6a..1ac276b 100644 --- a/src/test/java/de/aservo/confapi/jira/service/LicensesServiceTest.java +++ b/src/test/java/de/aservo/confapi/jira/service/LicensesServiceTest.java @@ -6,20 +6,20 @@ import com.atlassian.jira.license.LicensedApplications; import de.aservo.confapi.commons.model.LicenseBean; import de.aservo.confapi.commons.model.LicensesBean; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import java.util.Collections; import static com.atlassian.extras.api.LicenseType.TESTING; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.mockito.Mockito.*; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class LicensesServiceTest { private static final String LICENSE_KEY = "Aaa..."; @@ -29,7 +29,7 @@ public class LicensesServiceTest { private LicensesServiceImpl licensesService; - @Before + @BeforeEach public void setup() { licensesService = new LicensesServiceImpl(licenseManager); } diff --git a/src/test/java/de/aservo/confapi/jira/service/MailServerServiceTest.java b/src/test/java/de/aservo/confapi/jira/service/MailServerServiceTest.java index b0b4074..7e3eb71 100644 --- a/src/test/java/de/aservo/confapi/jira/service/MailServerServiceTest.java +++ b/src/test/java/de/aservo/confapi/jira/service/MailServerServiceTest.java @@ -4,29 +4,26 @@ import atlassian.mail.server.DefaultTestSmtpMailServerImpl; import atlassian.mail.server.OtherTestPopMailServerImpl; import atlassian.mail.server.OtherTestSmtpMailServerImpl; -import com.atlassian.crowd.manager.mail.MailConfiguration; import com.atlassian.mail.MailException; -import com.atlassian.mail.server.MailServer; import com.atlassian.mail.server.MailServerManager; import com.atlassian.mail.server.PopMailServer; import com.atlassian.mail.server.SMTPMailServer; -import com.atlassian.mail.server.impl.SMTPMailServerImpl; import de.aservo.confapi.commons.exception.BadRequestException; import de.aservo.confapi.commons.model.MailServerPopBean; import de.aservo.confapi.commons.model.MailServerSmtpBean; import de.aservo.confapi.jira.model.util.MailServerPopBeanUtil; import de.aservo.confapi.jira.model.util.MailServerSmtpBeanUtil; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.*; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class MailServerServiceTest { @Mock @@ -34,7 +31,7 @@ public class MailServerServiceTest { private MailServerServiceImpl mailServerService; - @Before + @BeforeEach public void setup() { mailServerService = new MailServerServiceImpl(mailServerManager); } @@ -135,14 +132,17 @@ public void testPutSmtpMaiLServerWithoutPort() throws Exception { assertEquals(requestMailServerSmtpBean, responseMailServerSmtpBean); } - @Test(expected = BadRequestException.class) + @Test public void testPutSmtpMaiLServerException() throws MailException { doThrow(new MailException("SMTP test exception")).when(mailServerManager).create(any()); final SMTPMailServer createSmtpMailServer = new DefaultTestSmtpMailServerImpl(); final MailServerSmtpBean requestMailServerSmtpBean = MailServerSmtpBeanUtil.toMailServerSmtpBean(createSmtpMailServer); assertNotNull(requestMailServerSmtpBean); - mailServerService.setMailServerSmtp(requestMailServerSmtpBean); + + assertThrows(BadRequestException.class, () -> { + mailServerService.setMailServerSmtp(requestMailServerSmtpBean); + }); } @Test @@ -221,14 +221,17 @@ public void testPutPopMaiLServerWithoutPort() throws Exception { assertEquals(requestMailServerPopBean, responseMailServerPopBean); } - @Test(expected = BadRequestException.class) + @Test public void testPutPopMaiLServerException() throws Exception { doThrow(new MailException("POP test exception")).when(mailServerManager).create(any()); final PopMailServer createPopMailServer = new DefaultTestPopMailServerImpl(); final MailServerPopBean requestMailServerPopBean = MailServerPopBeanUtil.toMailServerPopBean(createPopMailServer); assertNotNull(requestMailServerPopBean); - mailServerService.setMailServerPop(requestMailServerPopBean); + + assertThrows(BadRequestException.class, () -> { + mailServerService.setMailServerPop(requestMailServerPopBean); + }); } } diff --git a/src/test/java/de/aservo/confapi/jira/service/SettingsBrandingServiceTest.java b/src/test/java/de/aservo/confapi/jira/service/SettingsBrandingServiceTest.java index fcdb0e5..5b51805 100644 --- a/src/test/java/de/aservo/confapi/jira/service/SettingsBrandingServiceTest.java +++ b/src/test/java/de/aservo/confapi/jira/service/SettingsBrandingServiceTest.java @@ -9,18 +9,19 @@ import com.atlassian.sal.api.pluginsettings.PluginSettingsFactory; import de.aservo.confapi.commons.exception.InternalServerErrorException; import de.aservo.confapi.commons.model.SettingsBrandingColorSchemeBean; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import java.util.Map; import static de.aservo.confapi.jira.model.util.SettingsColourSchemeBeanUtilTest.getDummyBaseColourScheme; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.*; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class SettingsBrandingServiceTest { private ApplicationProperties applicationProperties; @@ -28,7 +29,7 @@ public class SettingsBrandingServiceTest { private LookAndFeelProperties lookAndFeelProperties; private SettingsBrandingServiceImpl settingsBrandingService; - @Before + @BeforeEach public void setup() { //when using powermock we cannot initialize with @Mock or @InjectMocks unfortunately applicationProperties = mock(ApplicationProperties.class); @@ -70,44 +71,46 @@ public void testSetColourScheme() { } //InternalServerErrorException -> FileNotFoundException is expected because no logofile is present in the filesystem at test time - @Test(expected = InternalServerErrorException.class) + @Test public void testGetLogo() { - settingsBrandingService.getLogo(); - verify(uploadService).getLogoDirectory(); + assertThrows(InternalServerErrorException.class, () -> { + settingsBrandingService.getLogo(); + }); } - // @Test - // public void testSetLogo() { - // PowerMock.mockStatic(ComponentAccessor.class); - // expect(ComponentAccessor.getComponent(LnFDefaultColorProvider.class)).andStubReturn(mock(LnFDefaultColorProvider.class)); - // expect(ComponentAccessor.getComponent(LogoProvider.class)).andStubReturn(mock(LogoProvider.class)); - // expect(ComponentAccessor.getComponent(EventPublisher.class)).andStubReturn(mock(EventPublisher.class)); - // PowerMock.replay(ComponentAccessor.class); - // - // InputStream is = new ByteArrayInputStream("".getBytes()); - // settingsBrandingService.setLogo(is); - // - // verify(lookAndFeelProperties).setLogoChoice(LogoChoice.UPLOAD); - // } +// @Test +// public void testSetLogo() { +// PowerMock.mockStatic(ComponentAccessor.class); +// expect(ComponentAccessor.getComponent(LnFDefaultColorProvider.class)).andStubReturn(mock(LnFDefaultColorProvider.class)); +// expect(ComponentAccessor.getComponent(LogoProvider.class)).andStubReturn(mock(LogoProvider.class)); +// expect(ComponentAccessor.getComponent(EventPublisher.class)).andStubReturn(mock(EventPublisher.class)); +// PowerMock.replay(ComponentAccessor.class); +// +// InputStream is = new ByteArrayInputStream("".getBytes()); +// settingsBrandingService.setLogo(is); +// +// verify(lookAndFeelProperties).setLogoChoice(LogoChoice.UPLOAD); +// } //InternalServerErrorException -> FileNotFoundException is expected because no logofile is present in the filesystem at test time - @Test(expected = InternalServerErrorException.class) + @Test public void testGetFavicon() { - settingsBrandingService.getFavicon(); - verify(uploadService).getLogoDirectory(); + assertThrows(InternalServerErrorException.class, () -> { + settingsBrandingService.getFavicon(); + }); } - // @Test - // public void testSetFavicon() { - // PowerMock.mockStatic(ComponentAccessor.class); - // expect(ComponentAccessor.getComponent(LnFDefaultColorProvider.class)).andStubReturn(mock(LnFDefaultColorProvider.class)); - // expect(ComponentAccessor.getComponent(LogoProvider.class)).andStubReturn(mock(LogoProvider.class)); - // expect(ComponentAccessor.getComponent(EventPublisher.class)).andStubReturn(mock(EventPublisher.class)); - // PowerMock.replay(ComponentAccessor.class); - // - // InputStream is = new ByteArrayInputStream("".getBytes()); - // settingsBrandingService.setFavicon(is); - // - // verify(lookAndFeelProperties).setFaviconChoice(LogoChoice.UPLOAD); - // } +// @Test +// public void testSetFavicon() { +// PowerMock.mockStatic(ComponentAccessor.class); +// expect(ComponentAccessor.getComponent(LnFDefaultColorProvider.class)).andStubReturn(mock(LnFDefaultColorProvider.class)); +// expect(ComponentAccessor.getComponent(LogoProvider.class)).andStubReturn(mock(LogoProvider.class)); +// expect(ComponentAccessor.getComponent(EventPublisher.class)).andStubReturn(mock(EventPublisher.class)); +// PowerMock.replay(ComponentAccessor.class); +// +// InputStream is = new ByteArrayInputStream("".getBytes()); +// settingsBrandingService.setFavicon(is); +// +// verify(lookAndFeelProperties).setFaviconChoice(LogoChoice.UPLOAD); +// } } diff --git a/src/test/java/de/aservo/confapi/jira/service/SettingsServiceTest.java b/src/test/java/de/aservo/confapi/jira/service/SettingsServiceTest.java index b381e7c..b10de3d 100644 --- a/src/test/java/de/aservo/confapi/jira/service/SettingsServiceTest.java +++ b/src/test/java/de/aservo/confapi/jira/service/SettingsServiceTest.java @@ -3,19 +3,20 @@ import com.atlassian.jira.config.properties.ApplicationProperties; import de.aservo.confapi.commons.exception.BadRequestException; import de.aservo.confapi.commons.model.SettingsBean; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import java.net.URI; import static com.atlassian.jira.config.properties.APKeys.*; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.*; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class SettingsServiceTest { private static final URI BASE_URL = URI.create("https://jira.atlassian.com"); @@ -29,7 +30,7 @@ public class SettingsServiceTest { private SettingsServiceImpl settingsService; - @Before + @BeforeEach public void setup() { settingsService = new SettingsServiceImpl(applicationProperties); } @@ -81,22 +82,25 @@ public void testSetSettingsEmptyBean() { verify(applicationProperties, never()).setString(JIRA_CONTACT_ADMINISTRATORS_MESSSAGE, CONTACT_MESSAGE); } - @Test(expected = BadRequestException.class) + @Test public void testSetSettingsUnsupportedMode() { final SettingsBean settingsBean = new SettingsBean(); settingsBean.setMode("unsupported"); - settingsService.setSettings(settingsBean); + assertThrows(BadRequestException.class, () -> { + settingsService.setSettings(settingsBean); + }); } - @Test(expected = BadRequestException.class) + @Test public void testSetSettingsInvalidCombination() { final SettingsBean settingsBean = new SettingsBean(); settingsBean.setMode(MODE_PUBLIC); - doReturn(true).when(applicationProperties).getOption(JIRA_OPTION_USER_EXTERNALMGT); - settingsService.setSettings(settingsBean); + assertThrows(BadRequestException.class, () -> { + settingsService.setSettings(settingsBean); + }); } } diff --git a/src/test/java/de/aservo/confapi/jira/util/MailProtocolUtilTest.java b/src/test/java/de/aservo/confapi/jira/util/MailProtocolUtilTest.java index 920a226..1056c57 100644 --- a/src/test/java/de/aservo/confapi/jira/util/MailProtocolUtilTest.java +++ b/src/test/java/de/aservo/confapi/jira/util/MailProtocolUtilTest.java @@ -1,14 +1,14 @@ package de.aservo.confapi.jira.util; import com.atlassian.mail.MailProtocol; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class MailProtocolUtilTest { @Test