Skip to content
Snippets Groups Projects
Commit e1c4afe5 authored by Tobias Ullerich's avatar Tobias Ullerich
Browse files

Changed test execution runner for unit tests, load localization in prepare

parent ac78c072
Branches
Tags
No related merge requests found
Pipeline #4116 failed
package de.deadlocker8.budgetmaster.integration; package de.deadlocker8.budgetmaster.integration;
import de.deadlocker8.budgetmaster.Main; import de.deadlocker8.budgetmaster.Main;
import de.deadlocker8.budgetmaster.integration.helpers.SeleniumTest;
import de.deadlocker8.budgetmaster.tags.Tag; import de.deadlocker8.budgetmaster.tags.Tag;
import de.deadlocker8.budgetmaster.transactions.Transaction; import de.deadlocker8.budgetmaster.transactions.Transaction;
import de.deadlocker8.budgetmaster.transactions.TransactionRepository; import de.deadlocker8.budgetmaster.transactions.TransactionRepository;
...@@ -31,6 +32,7 @@ import static org.assertj.core.api.Assertions.assertThat; ...@@ -31,6 +32,7 @@ import static org.assertj.core.api.Assertions.assertThat;
@SpringBootTest(classes = Main.class) @SpringBootTest(classes = Main.class)
@Import(DateRepairTest.TestDatabaseConfiguration.class) @Import(DateRepairTest.TestDatabaseConfiguration.class)
@ActiveProfiles("test") @ActiveProfiles("test")
@SeleniumTest
@Transactional @Transactional
public class DateRepairTest public class DateRepairTest
{ {
......
...@@ -4,33 +4,31 @@ import de.deadlocker8.budgetmaster.categories.Category; ...@@ -4,33 +4,31 @@ import de.deadlocker8.budgetmaster.categories.Category;
import de.deadlocker8.budgetmaster.categories.CategoryRepository; import de.deadlocker8.budgetmaster.categories.CategoryRepository;
import de.deadlocker8.budgetmaster.categories.CategoryService; import de.deadlocker8.budgetmaster.categories.CategoryService;
import de.deadlocker8.budgetmaster.categories.CategoryType; import de.deadlocker8.budgetmaster.categories.CategoryType;
import de.deadlocker8.budgetmaster.unit.helpers.LocalizedTest;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor; import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito; import org.mockito.Mockito;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.BDDMockito.given;
@RunWith(SpringRunner.class) @RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest @LocalizedTest
public class CategoryServiceTest public class CategoryServiceTest
{ {
private static final Category CATEGORY_NONE = new Category("No Category", "#FFFFFF", CategoryType.NONE); private static final Category CATEGORY_NONE = new Category("No Category", "#FFFFFF", CategoryType.NONE);
private static final Category CATEGORY_REST = new Category("Rest", "#FFFF00", CategoryType.REST); private static final Category CATEGORY_REST = new Category("Rest", "#FFFF00", CategoryType.REST);
@MockBean(CategoryRepository.class) @Mock
private CategoryRepository categoryRepository; private CategoryRepository categoryRepository;
@Autowired @InjectMocks
private CategoryService categoryService; private CategoryService categoryService;
@Test @Test
......
package de.deadlocker8.budgetmaster.unit; package de.deadlocker8.budgetmaster.unit;
import de.deadlocker8.budgetmaster.Main; import de.deadlocker8.budgetmaster.Main;
import de.deadlocker8.budgetmaster.accounts.Account;
import de.deadlocker8.budgetmaster.accounts.AccountService; import de.deadlocker8.budgetmaster.accounts.AccountService;
import de.deadlocker8.budgetmaster.accounts.AccountType; import de.deadlocker8.budgetmaster.accounts.AccountType;
import de.deadlocker8.budgetmaster.categories.Category;
import de.deadlocker8.budgetmaster.categories.CategoryType;
import de.deadlocker8.budgetmaster.filter.FilterConfiguration; import de.deadlocker8.budgetmaster.filter.FilterConfiguration;
import de.deadlocker8.budgetmaster.repeating.RepeatingOption; import de.deadlocker8.budgetmaster.integration.helpers.SeleniumTest;
import de.deadlocker8.budgetmaster.repeating.RepeatingOptionRepository;
import de.deadlocker8.budgetmaster.repeating.endoption.RepeatingEndAfterXTimes;
import de.deadlocker8.budgetmaster.repeating.modifier.RepeatingModifierDays;
import de.deadlocker8.budgetmaster.transactions.Transaction; import de.deadlocker8.budgetmaster.transactions.Transaction;
import de.deadlocker8.budgetmaster.transactions.TransactionRepository;
import de.deadlocker8.budgetmaster.transactions.TransactionService; import de.deadlocker8.budgetmaster.transactions.TransactionService;
import de.deadlocker8.budgetmaster.transactions.TransactionSpecifications;
import de.deadlocker8.budgetmaster.utils.eventlistener.DateRepair;
import org.joda.time.DateTime; import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormat;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Mockito;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.jdbc.DataSourceBuilder; import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.test.context.TestConfiguration;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Import; import org.springframework.context.annotation.Import;
import org.springframework.context.annotation.Primary; import org.springframework.context.annotation.Primary;
import org.springframework.core.io.Resource; import org.springframework.core.io.Resource;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -40,7 +27,6 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -40,7 +27,6 @@ import org.springframework.transaction.annotation.Transactional;
import javax.sql.DataSource; import javax.sql.DataSource;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.Optional;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
...@@ -48,6 +34,7 @@ import static org.assertj.core.api.Assertions.assertThat; ...@@ -48,6 +34,7 @@ import static org.assertj.core.api.Assertions.assertThat;
@SpringBootTest(classes = Main.class) @SpringBootTest(classes = Main.class)
@Import(TransactionServiceDatabaseTest.TestDatabaseConfiguration.class) @Import(TransactionServiceDatabaseTest.TestDatabaseConfiguration.class)
@ActiveProfiles("test") @ActiveProfiles("test")
@SeleniumTest
@Transactional @Transactional
public class TransactionServiceDatabaseTest public class TransactionServiceDatabaseTest
{ {
......
...@@ -7,20 +7,24 @@ import de.deadlocker8.budgetmaster.categories.CategoryType; ...@@ -7,20 +7,24 @@ import de.deadlocker8.budgetmaster.categories.CategoryType;
import de.deadlocker8.budgetmaster.transactions.Transaction; import de.deadlocker8.budgetmaster.transactions.Transaction;
import de.deadlocker8.budgetmaster.transactions.TransactionRepository; import de.deadlocker8.budgetmaster.transactions.TransactionRepository;
import de.deadlocker8.budgetmaster.transactions.TransactionService; import de.deadlocker8.budgetmaster.transactions.TransactionService;
import de.deadlocker8.budgetmaster.unit.helpers.LocalizedTest;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito; import org.mockito.Mockito;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import java.util.Optional; import java.util.Optional;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
@RunWith(SpringRunner.class) @RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest @LocalizedTest
public class TransactionServiceTest public class TransactionServiceTest
{ {
private static final Category CATEGORY_REST = new Category("Rest", "#FFFF00", CategoryType.REST); private static final Category CATEGORY_REST = new Category("Rest", "#FFFF00", CategoryType.REST);
...@@ -28,10 +32,10 @@ public class TransactionServiceTest ...@@ -28,10 +32,10 @@ public class TransactionServiceTest
private static final Account ACCOUNT = new Account("MyAccount", AccountType.CUSTOM); private static final Account ACCOUNT = new Account("MyAccount", AccountType.CUSTOM);
@MockBean(TransactionRepository.class) @Mock
private TransactionRepository transactionRepository; private TransactionRepository transactionRepository;
@Autowired @InjectMocks
private TransactionService transactionService; private TransactionService transactionService;
@Test @Test
......
package de.deadlocker8.budgetmaster.unit.helpers;
import de.thecodelabs.utils.util.Localization;
import de.thecodelabs.utils.util.localization.LocalizationMessageFormatter;
import de.thecodelabs.utils.util.localization.formatter.JavaMessageFormatter;
import org.springframework.test.context.TestContext;
import org.springframework.test.context.support.AbstractTestExecutionListener;
import java.util.Locale;
public class LocalizationHelpers extends AbstractTestExecutionListener
{
@Override
public void beforeTestClass(TestContext testContext) throws Exception
{
Localization.setDelegate(new Localization.LocalizationDelegate()
{
@Override
public Locale getLocale()
{
return Locale.ENGLISH;
}
@Override
public String[] getBaseResources()
{
return new String[]{"languages/base", "languages/news"};
}
@Override
public LocalizationMessageFormatter messageFormatter()
{
return new JavaMessageFormatter();
}
@Override
public boolean useMultipleResourceBundles()
{
return true;
}
});
Localization.load();
}
}
package de.deadlocker8.budgetmaster.unit.helpers;
import org.springframework.test.context.TestExecutionListeners;
import java.lang.annotation.*;
import static org.springframework.test.context.TestExecutionListeners.MergeMode.MERGE_WITH_DEFAULTS;
@Documented
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@TestExecutionListeners(
listeners = LocalizationHelpers.class,
mergeMode = MERGE_WITH_DEFAULTS)
public @interface LocalizedTest
{
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment