FINERACT-1021 - Update to JUnit 5

This commit is contained in:
xurror
2020-06-14 12:52:18 +02:00
committed by Michael Vorburger ⛑️
parent 2aa01b93b4
commit f2624b584c
120 changed files with 2599 additions and 2504 deletions
@@ -18,7 +18,7 @@
*/
package org.apache.fineract.accounting.common;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.springframework.util.Assert;
public class AccountingConstantsTest {
@@ -24,8 +24,8 @@ import javax.ws.rs.core.UriInfo;
import org.apache.fineract.batch.domain.BatchRequest;
import org.apache.fineract.batch.domain.BatchResponse;
import org.apache.fineract.batch.service.BatchApiService;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
/**
@@ -60,6 +60,6 @@ public class BatchBuilder {
Mockito.verify(serviceTest).handleBatchRequestsWithoutEnclosingTransaction(requestList, uriInfo);
// Verifies a non-empty response by the BatchApiResource
Assert.assertNotNull(result);
Assertions.assertNotNull(result);
}
}
@@ -18,22 +18,23 @@
*/
package org.apache.fineract.commands.provider;
import static org.junit.Assert.assertEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.apache.fineract.commands.exception.UnsupportedCommandException;
import org.apache.fineract.commands.handler.NewCommandSourceHandler;
import org.apache.fineract.infrastructure.configuration.spring.TestsWithoutDatabaseAndNoJobsConfiguration;
import org.apache.fineract.infrastructure.core.api.JsonCommand;
import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.context.web.WebAppConfiguration;
@RunWith(SpringJUnit4ClassRunner.class)
@ExtendWith(SpringExtension.class)
@WebAppConfiguration
@ActiveProfiles("basicauth")
@ContextConfiguration(classes = TestsWithoutDatabaseAndNoJobsConfiguration.class)
@@ -58,8 +59,10 @@ public class CommandHandlerProviderTest {
assertEquals(testCommandId, result.commandId());
}
@Test(expected = UnsupportedCommandException.class)
public void shouldThrowUnsupportedCommandException() {
this.commandHandlerProvider.getHandler("WHATEVER", "DOSOMETHING");
@Test
public void shouldThrowUnsupportedCommandException() throws UnsupportedCommandException {
Assertions.assertThrows(UnsupportedCommandException.class, () -> {
this.commandHandlerProvider.getHandler("WHATEVER", "DOSOMETHING");
});
}
}
@@ -22,7 +22,7 @@ import static io.restassured.RestAssured.given;
import static io.restassured.path.json.JsonPath.from;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.fail;
import static org.junit.jupiter.api.Assertions.fail;
import io.restassured.RestAssured;
import io.restassured.path.json.JsonPath;
@@ -20,10 +20,9 @@ package org.apache.fineract.infrastructure.classdupes;
import java.util.List;
import java.util.Map;
import junit.framework.AssertionFailedError;
import org.junit.rules.TestRule;
import org.junit.runner.Description;
import org.junit.runners.model.Statement;
import org.junit.jupiter.api.extension.AfterEachCallback;
import org.junit.jupiter.api.extension.ExtensionContext;
import org.opentest4j.AssertionFailedError;
/**
* JUnit Rule to run detect duplicate entries on the classpath. Usage:
@@ -39,22 +38,21 @@ import org.junit.runners.model.Statement;
*
* @author Michael Vorburger.ch
*/
public class ClasspathHellDuplicatesCheckRule implements TestRule {
public class ClasspathHellDuplicatesCheckExtension implements AfterEachCallback {
private final ClasspathHellDuplicatesChecker checker;
public ClasspathHellDuplicatesCheckRule(ClasspathHellDuplicatesChecker checker) {
public ClasspathHellDuplicatesCheckExtension(ClasspathHellDuplicatesChecker checker) {
this.checker = checker;
}
public ClasspathHellDuplicatesCheckRule() {
public ClasspathHellDuplicatesCheckExtension() {
this(ClasspathHellDuplicatesChecker.INSTANCE);
}
@Override
public Statement apply(Statement base, Description description) {
public void afterEach(ExtensionContext context) throws Exception {
checkClasspath();
return base;
}
protected void checkClasspath() {
@@ -18,17 +18,17 @@
*/
package org.apache.fineract.infrastructure.classdupes;
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
/**
* {@link ClasspathHellDuplicatesCheckRule} test.
*
* @author Michael Vorburger
*/
@ExtendWith(ClasspathHellDuplicatesCheckExtension.class)
public class ClasspathHellDuplicatesCheckRuleTest {
@ClassRule public static ClasspathHellDuplicatesCheckRule jHades = new ClasspathHellDuplicatesCheckRule();
// @ClassRule public static ClasspathHellDuplicatesCheckRule jHades = new ClasspathHellDuplicatesCheckRule();
@Test // we just need this because JUnit doesn't like a *Test class with only a Rule
public void testIfThereAreAnyDuplicatesOnTheClasspath() throws Exception { }
@@ -18,11 +18,11 @@
*/
package org.apache.fineract.infrastructure.configuration.spring;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.context.web.WebAppConfiguration;
/**
@@ -37,7 +37,7 @@ import org.springframework.test.context.web.WebAppConfiguration;
* TestsWithoutDatabaseAndNoJobsConfiguration used extends
* AbstractApplicationConfiguration).
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ExtendWith(SpringExtension.class)
@WebAppConfiguration
@ActiveProfiles("basicauth")
@ContextConfiguration(classes = TestsWithoutDatabaseAndNoJobsConfiguration.class)
@@ -19,13 +19,13 @@
package org.apache.fineract.infrastructure.core.boot.tests;
import org.apache.fineract.ServerWithMariaDB4jApplication;
import org.junit.runner.RunWith;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.context.web.WebAppConfiguration;
@RunWith(SpringJUnit4ClassRunner.class)
@ExtendWith(SpringExtension.class)
@SpringBootTest(classes = ServerWithMariaDB4jApplication.Configuration.class)
@WebAppConfiguration
@ActiveProfiles("basicauth")
@@ -18,13 +18,13 @@
*/
package org.apache.fineract.infrastructure.core.boot.tests;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.File;
import java.io.IOException;
import org.apache.fineract.infrastructure.core.boot.EmbeddedTomcatWithSSLConfiguration;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
@@ -19,15 +19,15 @@
package org.apache.fineract.infrastructure.core.boot.tests;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
import static org.junit.jupiter.api.Assertions.assertThat;
import java.util.List;
import java.util.Map;
import org.apache.fineract.ServerApplication;
import org.apache.fineract.common.RestAssuredFixture;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
/**
* This is an integration test for the Spring Boot launch stuff.
@@ -39,7 +39,7 @@ public class SpringBootServerLoginTest extends AbstractSpringBootWithMariaDB4jIn
protected RestAssuredFixture util;
@Test
@Ignore("Failing on Cloubees")
@Disabled("Failing on Cloubees")
public void hasPlatformStarted() {
util = new RestAssuredFixture(8443);
List<Map<String, String>> response = util.httpGet("/users");
@@ -18,7 +18,7 @@
*/
package org.apache.fineract.infrastructure.core.exception;
import static org.junit.Assert.assertThrows;
import static org.junit.jupiter.api.Assertions.assertThrows;
import java.util.Collections;
import java.util.List;
@@ -18,11 +18,11 @@
*/
package org.apache.fineract.infrastructure.security.utils;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThrows;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import org.junit.Test;
import org.junit.jupiter.api.Test;
/**
* Unit Test for {@link SQLBuilder}.
@@ -67,20 +67,46 @@ public class SQLBuilderTest {
}
@Test
public void testAddIllegalArguments() {
assertThrows("space between column and operator", IllegalArgumentException.class, () -> new SQLBuilder().addCriteria("age<", 123));
assertThrows("null Criteria Fragment", IllegalArgumentException.class, () -> new SQLBuilder().addCriteria(null, "argument"));
assertThrows("empty Criteria Fragment", IllegalArgumentException.class, () -> new SQLBuilder().addCriteria("", "argument"));
assertThrows("space only Criteria Fragment", IllegalArgumentException.class, () -> new SQLBuilder().addCriteria(" ", "argument"));
assertThrows("Criteria Fragment with ?", IllegalArgumentException.class, () -> new SQLBuilder().addCriteria("age = ?", 123));
assertThrows("Criteria Fragment missing operator", IllegalArgumentException.class, () -> new SQLBuilder().addCriteria("age", 123));
assertThrows("Criteria starts with AND", IllegalArgumentException.class, () -> new SQLBuilder().addCriteria("and age = ?", 123));
assertThrows("Criteria ends with AND", IllegalArgumentException.class, () -> new SQLBuilder().addCriteria("age = ? and", 123));
assertThrows("Criteria starts with OR", IllegalArgumentException.class, () -> new SQLBuilder().addCriteria("or age =", 123));
assertThrows("Criteria ends with OR", IllegalArgumentException.class, () -> new SQLBuilder().addCriteria("age = ? or", 123));
assertThrows("Criteria contains opening parentheis", IllegalArgumentException.class, () -> new SQLBuilder().addCriteria("(age =", 123));
assertThrows("Criteria contains closing parentheis", IllegalArgumentException.class, () -> new SQLBuilder().addCriteria("age = ?)", 123));
assertThrows("Offset corner case", IllegalArgumentException.class, () -> new SQLBuilder().addCriteria("age< = ?)", 123));
public void testAddIllegalArguments() throws Exception {
assertThrows(IllegalArgumentException.class, ()-> {
new SQLBuilder().addCriteria("age<", 123);
}, "space between column and operator" );
assertThrows(IllegalArgumentException.class, () -> {
new SQLBuilder().addCriteria(null, "argument");
}, "null Criteria Fragment");
assertThrows(IllegalArgumentException.class, () -> {
new SQLBuilder().addCriteria("", "argument");
}, "empty Criteria Fragment" );
assertThrows(IllegalArgumentException.class, () -> {
new SQLBuilder().addCriteria(" ", "argument");
}, "space only Criteria Fragment");
assertThrows(IllegalArgumentException.class, () -> {
new SQLBuilder().addCriteria("age = ?", 123);
}, "Criteria Fragment with ?");
assertThrows(IllegalArgumentException.class, () -> {
new SQLBuilder().addCriteria("age", 123);
}, "Criteria Fragment missing operator");
assertThrows(IllegalArgumentException.class, () -> {
new SQLBuilder().addCriteria("and age = ?", 123);
}, "Criteria starts with AND");
assertThrows(IllegalArgumentException.class, () -> {
new SQLBuilder().addCriteria("age = ? and", 123);
}, "Criteria ends with AND");
assertThrows(IllegalArgumentException.class, () -> {
new SQLBuilder().addCriteria("or age =", 123);
}, "Criteria starts with OR");
assertThrows(IllegalArgumentException.class, () -> {
new SQLBuilder().addCriteria("age = ? or", 123);
}, "Criteria ends with OR");
assertThrows(IllegalArgumentException.class, () -> {
new SQLBuilder().addCriteria("(age =", 123);
}, "Criteria contains opening parentheis");
assertThrows(IllegalArgumentException.class, () -> {
new SQLBuilder().addCriteria("age = ?)", 123);
}, "Criteria contains closing parentheis");
assertThrows(IllegalArgumentException.class, () -> {
new SQLBuilder().addCriteria("age< = ?)", 123);
}, "Offset corner case");
}
}
@@ -18,23 +18,23 @@
*/
package org.apache.fineract.mix.report.service;
import static org.junit.Assert.assertEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.ArrayList;
import org.apache.fineract.infrastructure.core.service.RoutingDataSource;
import org.apache.fineract.mix.service.XBRLResultServiceImpl;
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.Mockito;
import org.mockito.junit.MockitoJUnitRunner;
import org.mockito.junit.jupiter.MockitoExtension;
@RunWith(MockitoJUnitRunner.class)
@ExtendWith(MockitoExtension.class)
public class ReadTaxonomyMappingServiceImplTest {
private XBRLResultServiceImpl readService;
@Before
@BeforeEach
public void setUp() throws Exception {
final RoutingDataSource dataSource = Mockito.mock(RoutingDataSource.class);
this.readService = new XBRLResultServiceImpl(dataSource, null, null);
@@ -18,8 +18,8 @@
*/
package org.apache.fineract.mix.report.service;
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.lenient;
import static org.mockito.Mockito.when;
@@ -35,20 +35,20 @@ import org.apache.fineract.mix.data.MixTaxonomyData;
import org.apache.fineract.mix.data.NamespaceData;
import org.apache.fineract.mix.service.NamespaceReadPlatformServiceImpl;
import org.apache.fineract.mix.service.XBRLBuilder;
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.ArgumentMatchers;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnitRunner;
import org.mockito.junit.jupiter.MockitoExtension;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
@RunWith(MockitoJUnitRunner.class)
@ExtendWith(MockitoExtension.class)
public class XBRLBuilderTest {
private final static Logger LOG = LoggerFactory.getLogger(XBRLBuilderTest.class);
@Mock
@@ -57,7 +57,7 @@ public class XBRLBuilderTest {
@InjectMocks
private final XBRLBuilder xbrlBuilder = new XBRLBuilder();
@Before
@BeforeEach
public void setUp() {
this.readNamespaceService = Mockito.mock(NamespaceReadPlatformServiceImpl.class);
lenient().when(this.readNamespaceService.retrieveNamespaceByPrefix(ArgumentMatchers.anyString()))
@@ -21,20 +21,20 @@ package org.apache.fineract.notification;
import javax.jms.JMSException;
import javax.jms.Session;
import javax.jms.TextMessage;
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.Mockito;
import org.mockito.junit.MockitoJUnitRunner;
import org.mockito.junit.jupiter.MockitoExtension;
@RunWith(MockitoJUnitRunner.class)
@ExtendWith(MockitoExtension.class)
public class ListenerTest {
private Listener listener;
private Session session;
private TextMessage textMessageMock;
@Before
@BeforeEach
public void setUp() {
listener = new Listener();
session = Mockito.mock(Session.class);
@@ -18,7 +18,7 @@
*/
package org.apache.fineract.notification;
import static org.junit.Assert.assertEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.ArgumentMatchers.refEq;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@@ -36,15 +36,15 @@ import org.apache.fineract.notification.service.NotificationMapperWritePlatformS
import org.apache.fineract.notification.service.NotificationWritePlatformServiceImpl;
import org.apache.fineract.useradministration.domain.AppUser;
import org.apache.fineract.useradministration.domain.AppUserRepository;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
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 org.springframework.security.core.userdetails.User;
@RunWith(MockitoJUnitRunner.class)
@ExtendWith(MockitoExtension.class)
public class StorageTest {
private NotificationWritePlatformServiceImpl notificationWritePlatformServiceImpl;
@@ -61,7 +61,7 @@ public class StorageTest {
@Mock
private AppUserRepository appUserRepository;
@Before
@BeforeEach
public void setUp() {
notificationWritePlatformServiceImpl = new NotificationWritePlatformServiceImpl(
notificationGeneratorWritePlatformService,
@@ -71,7 +71,7 @@ public class StorageTest {
}
@Test
@Ignore // TODO FINERACT-828
@Disabled // TODO FINERACT-828
public void testNotificationStorage() {
Long userId = 1L;
String objectType = "CLIENT";
@@ -18,7 +18,7 @@
*/
package org.apache.fineract.notification;
import static org.junit.Assert.assertEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.ArgumentMatchers.refEq;
import static org.mockito.Mockito.lenient;
import static org.mockito.Mockito.times;
@@ -37,12 +37,12 @@ import org.apache.fineract.useradministration.domain.AppUser;
import org.apache.fineract.useradministration.domain.AppUserRepository;
import org.apache.fineract.useradministration.domain.Role;
import org.apache.fineract.useradministration.domain.RoleRepository;
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;
@RunWith(MockitoJUnitRunner.class)
@ExtendWith(MockitoExtension.class)
public class TopicTest {
@Mock
@@ -26,13 +26,13 @@ import org.apache.fineract.organisation.monetary.domain.MoneyHelper;
import org.apache.fineract.portfolio.loanaccount.domain.LoanRepaymentScheduleInstallment;
import org.apache.fineract.portfolio.loanaccount.domain.transactionprocessor.impl.RBILoanRepaymentScheduleTransactionProcessor;
import org.joda.time.LocalDate;
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;
@SuppressWarnings("unused")
@RunWith(MockitoJUnitRunner.class)
@ExtendWith(MockitoExtension.class)
public class AdhikarLoanRepaymentScheduleTransactionProcessorTest {
// class under test
@@ -43,7 +43,7 @@ public class AdhikarLoanRepaymentScheduleTransactionProcessorTest {
private final MonetaryCurrency usDollars = new MonetaryCurrencyBuilder().withCode("USD").withDigitsAfterDecimal(2).build();
private List<LoanRepaymentScheduleInstallment> installments;
@Before
@BeforeEach
public void setUpForEachTestCase() throws Exception {
Field field = MoneyHelper.class.getDeclaredField("roundingMode");
@@ -26,13 +26,13 @@ import org.apache.fineract.organisation.monetary.domain.MoneyHelper;
import org.apache.fineract.portfolio.loanaccount.domain.LoanRepaymentScheduleInstallment;
import org.apache.fineract.portfolio.loanaccount.domain.transactionprocessor.impl.HeavensFamilyLoanRepaymentScheduleTransactionProcessor;
import org.joda.time.LocalDate;
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;
@SuppressWarnings("unused")
@RunWith(MockitoJUnitRunner.class)
@ExtendWith(MockitoExtension.class)
public class HeavensFamilyLoanRepaymentScheduleTransactionProcessorTest {
// class under test
@@ -43,7 +43,7 @@ public class HeavensFamilyLoanRepaymentScheduleTransactionProcessorTest {
private final MonetaryCurrency usDollars = new MonetaryCurrencyBuilder().withCode("USD").withDigitsAfterDecimal(2).build();
private List<LoanRepaymentScheduleInstallment> installments;
@Before
@BeforeEach
public void setUpForEachTestCase() throws Exception {
Field field = MoneyHelper.class.getDeclaredField("roundingMode");
@@ -18,7 +18,7 @@
*/
package org.apache.fineract.template;
import static org.junit.Assert.assertEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import com.google.common.io.Resources;
import com.google.common.reflect.TypeToken;
@@ -45,14 +45,14 @@ import org.apache.fineract.template.domain.Template;
import org.apache.fineract.template.domain.TemplateMapper;
import org.apache.fineract.template.service.TemplateMergeService;
import org.joda.time.LocalDate;
import org.junit.Before;
import org.junit.Test;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
public class TemplateMergeServiceTest {
private TemplateMergeService tms = new TemplateMergeService();
@Before
@BeforeEach
public void setUpForEachTestCase() throws Exception {
Field field = MoneyHelper.class.getDeclaredField("roundingMode");