diff --git a/libreplan-business/src/main/java/org/libreplan/business/resources/entities/Resource.java b/libreplan-business/src/main/java/org/libreplan/business/resources/entities/Resource.java index e71ca7f04..df0202f05 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/resources/entities/Resource.java +++ b/libreplan-business/src/main/java/org/libreplan/business/resources/entities/Resource.java @@ -1187,7 +1187,7 @@ public abstract class Resource extends IntegrationEntity implements } @AssertTrue(message = "You have exceeded the maximum limit of resources") - public boolean checkMaxUsers() { + public boolean checkMaxResources() { Integer maxResources = Registry.getConfigurationDAO() .getConfiguration().getMaxResources(); if (maxResources != null && maxResources > 0) { diff --git a/libreplan-business/src/test/java/org/libreplan/business/test/externalcompanies/daos/ExternalCompanyDAOTest.java b/libreplan-business/src/test/java/org/libreplan/business/test/externalcompanies/daos/ExternalCompanyDAOTest.java index 5063242b0..eb829473d 100644 --- a/libreplan-business/src/test/java/org/libreplan/business/test/externalcompanies/daos/ExternalCompanyDAOTest.java +++ b/libreplan-business/src/test/java/org/libreplan/business/test/externalcompanies/daos/ExternalCompanyDAOTest.java @@ -33,8 +33,12 @@ import java.util.HashSet; import java.util.Set; import java.util.UUID; +import javax.annotation.Resource; + +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.libreplan.business.IDataBootstrap; import org.libreplan.business.common.IAdHocTransactionService; import org.libreplan.business.common.IOnTransaction; import org.libreplan.business.common.exceptions.InstanceNotFoundException; @@ -71,6 +75,14 @@ public class ExternalCompanyDAOTest { @Autowired private IAdHocTransactionService transactionService; + @Resource + private IDataBootstrap configurationBootstrap; + + @Before + public void loadRequiredaData() { + configurationBootstrap.loadRequiredData(); + } + @Test public void testInSpringContainer() { assertNotNull(externalCompanyDAO); diff --git a/libreplan-business/src/test/java/org/libreplan/business/test/resources/daos/MachineDAOTest.java b/libreplan-business/src/test/java/org/libreplan/business/test/resources/daos/MachineDAOTest.java index 7310da265..67444c7ee 100644 --- a/libreplan-business/src/test/java/org/libreplan/business/test/resources/daos/MachineDAOTest.java +++ b/libreplan-business/src/test/java/org/libreplan/business/test/resources/daos/MachineDAOTest.java @@ -25,19 +25,24 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; import static org.libreplan.business.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_FILE; import static org.libreplan.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE; import java.math.BigDecimal; import java.util.List; +import javax.annotation.Resource; + +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.libreplan.business.IDataBootstrap; import org.libreplan.business.common.IAdHocTransactionService; import org.libreplan.business.common.IOnTransaction; import org.libreplan.business.common.exceptions.InstanceNotFoundException; import org.libreplan.business.common.exceptions.ValidationException; +import org.libreplan.business.resources.daos.ICriterionDAO; +import org.libreplan.business.resources.daos.ICriterionTypeDAO; import org.libreplan.business.resources.daos.IMachineDAO; import org.libreplan.business.resources.daos.IWorkerDAO; import org.libreplan.business.resources.entities.Criterion; @@ -70,6 +75,20 @@ public class MachineDAOTest { @Autowired IWorkerDAO workerDAO; + @Autowired + private ICriterionTypeDAO criterionTypeDAO; + + @Autowired + private ICriterionDAO criterionDAO; + + @Resource + private IDataBootstrap configurationBootstrap; + + @Before + public void loadRequiredaData() { + configurationBootstrap.loadRequiredData(); + } + private Machine createValidMachine() { Machine machine = Machine.create(); machine.setCode("code"); @@ -108,40 +127,47 @@ public class MachineDAOTest { } @Test + @NotTransactional public void testSaveConfigurationUnits() throws InstanceNotFoundException { - Machine machine = createValidMachine(); + final Machine machine = createValidMachine(); MachineWorkersConfigurationUnit configurationUnit = MachineWorkersConfigurationUnit .create(machine, "Operation", new BigDecimal(1)); - Criterion criterion = CriterionDAOTest.createValidCriterion(); + final Criterion criterion = CriterionDAOTest.createValidCriterion(); configurationUnit.addRequiredCriterion(criterion); machine.addMachineWorkersConfigurationUnit(configurationUnit); - machineDAO.save(machine); + transactionService.runOnTransaction(new IOnTransaction() { + @Override + public Void execute() { + criterionTypeDAO.save(criterion.getType()); + criterionDAO.save(criterion); + machineDAO.save(machine); + return null; + } + }); assertTrue(machine.getId() != null); assertTrue(machine.getConfigurationUnits().size() != 0); assertTrue(machine.getConfigurationUnits().iterator().next() .getRequiredCriterions().size() != 0); } - @Test + @Test(expected = ValidationException.class) @NotTransactional public void testSaveTwoMachinesWithSameCodeForbidden() { - final Machine machine = createValidMachine(); - saveMachineInTransaction(machine); - try { - saveMachineInTransaction(machine); - fail("Expected ValidationException"); - } catch (ValidationException e) {} - } - - private void saveMachineInTransaction(final Machine machine) { - IOnTransaction createMachineTransaction = - new IOnTransaction() { - - @Override public Void execute() { - machineDAO.save(machine); + transactionService.runOnTransaction(new IOnTransaction() { + @Override + public Void execute() { + machineDAO.save(createValidMachine()); return null; } - }; - transactionService.runOnTransaction(createMachineTransaction); + }); + + transactionService.runOnTransaction(new IOnTransaction() { + @Override + public Void execute() { + machineDAO.save(createValidMachine()); + return null; + } + }); } + } diff --git a/libreplan-business/src/test/java/org/libreplan/business/test/workreports/daos/AbstractWorkReportTest.java b/libreplan-business/src/test/java/org/libreplan/business/test/workreports/daos/AbstractWorkReportTest.java index d83b74b3d..80860cfe7 100644 --- a/libreplan-business/src/test/java/org/libreplan/business/test/workreports/daos/AbstractWorkReportTest.java +++ b/libreplan-business/src/test/java/org/libreplan/business/test/workreports/daos/AbstractWorkReportTest.java @@ -78,6 +78,8 @@ public abstract class AbstractWorkReportTest { } public WorkReportLine createValidWorkReportLine() { + Resource resource = createValidWorker(); + WorkReport workReport = createValidWorkReport(); workReportDAO.save(workReport); @@ -85,7 +87,7 @@ public abstract class AbstractWorkReportTest { workReport.addWorkReportLine(workReportLine); workReportLine.setDate(new Date()); workReportLine.setEffort(EffortDuration.hours(100)); - workReportLine.setResource(createValidWorker()); + workReportLine.setResource(resource); workReportLine.setOrderElement(createValidOrderElement()); workReportLine.setTypeOfWorkHours(createValidTypeOfWorkHours()); return workReportLine; diff --git a/libreplan-business/src/test/java/org/libreplan/business/test/workreports/daos/WorkReportLineDAOTest.java b/libreplan-business/src/test/java/org/libreplan/business/test/workreports/daos/WorkReportLineDAOTest.java index 0a2a02e2d..6f83fce19 100644 --- a/libreplan-business/src/test/java/org/libreplan/business/test/workreports/daos/WorkReportLineDAOTest.java +++ b/libreplan-business/src/test/java/org/libreplan/business/test/workreports/daos/WorkReportLineDAOTest.java @@ -29,8 +29,12 @@ import static org.libreplan.business.test.BusinessGlobalNames.BUSINESS_SPRING_CO import java.util.List; +import javax.annotation.Resource; + +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.libreplan.business.IDataBootstrap; import org.libreplan.business.common.exceptions.InstanceNotFoundException; import org.libreplan.business.workreports.daos.IWorkReportLineDAO; import org.libreplan.business.workreports.entities.WorkReportLine; @@ -51,6 +55,14 @@ public class WorkReportLineDAOTest extends AbstractWorkReportTest { @Autowired private IWorkReportLineDAO workReportLineDAO; + @Resource + private IDataBootstrap configurationBootstrap; + + @Before + public void loadRequiredaData() { + configurationBootstrap.loadRequiredData(); + } + @Test public void testSaveWorkReportLine() { WorkReportLine workReportLine = createValidWorkReportLine(); diff --git a/libreplan-webapp/src/test/java/org/libreplan/web/test/users/bootstrap/UsersBootstrapInDBTest.java b/libreplan-webapp/src/test/java/org/libreplan/web/test/users/bootstrap/UsersBootstrapInDBTest.java index 07cea54d8..c58ac252c 100644 --- a/libreplan-webapp/src/test/java/org/libreplan/web/test/users/bootstrap/UsersBootstrapInDBTest.java +++ b/libreplan-webapp/src/test/java/org/libreplan/web/test/users/bootstrap/UsersBootstrapInDBTest.java @@ -30,6 +30,7 @@ import static org.libreplan.web.test.WebappGlobalNames.WEBAPP_SPRING_SECURITY_CO import org.junit.Test; import org.junit.runner.RunWith; +import org.libreplan.business.common.entities.IConfigurationBootstrap; import org.libreplan.business.common.exceptions.InstanceNotFoundException; import org.libreplan.business.users.bootstrap.IProfileBootstrap; import org.libreplan.business.users.daos.IUserDAO; @@ -60,11 +61,15 @@ public class UsersBootstrapInDBTest { @Autowired private IProfileBootstrap profileBootstrap; + @Autowired + private IConfigurationBootstrap configurationBootstrap; + @Autowired private IUserDAO userDAO; @Test public void testMandatoryUsersCreated() throws InstanceNotFoundException { + configurationBootstrap.loadRequiredData(); profileBootstrap.loadRequiredData(); usersBootstrap.loadRequiredData(); diff --git a/libreplan-webapp/src/test/java/org/libreplan/web/test/users/services/DBPasswordEncoderServiceTest.java b/libreplan-webapp/src/test/java/org/libreplan/web/test/users/services/DBPasswordEncoderServiceTest.java index 5e2885b0b..f79bc9b1a 100644 --- a/libreplan-webapp/src/test/java/org/libreplan/web/test/users/services/DBPasswordEncoderServiceTest.java +++ b/libreplan-webapp/src/test/java/org/libreplan/web/test/users/services/DBPasswordEncoderServiceTest.java @@ -30,7 +30,9 @@ import static org.libreplan.web.test.WebappGlobalNames.WEBAPP_SPRING_SECURITY_CO import org.junit.Test; import org.junit.runner.RunWith; +import org.libreplan.business.common.entities.IConfigurationBootstrap; import org.libreplan.business.common.exceptions.InstanceNotFoundException; +import org.libreplan.business.users.bootstrap.IProfileBootstrap; import org.libreplan.business.users.daos.IUserDAO; import org.libreplan.business.users.entities.User; import org.libreplan.web.users.bootstrap.IUsersBootstrapInDB; @@ -60,12 +62,20 @@ public class DBPasswordEncoderServiceTest { @Autowired private IUsersBootstrapInDB usersBootstrap; + @Autowired + private IProfileBootstrap profileBootstrap; + + @Autowired + private IConfigurationBootstrap configurationBootstrap; + @Autowired private IUserDAO userDAO; @Test public void testEncodePassword() throws InstanceNotFoundException { + configurationBootstrap.loadRequiredData(); + profileBootstrap.loadRequiredData(); usersBootstrap.loadRequiredData(); for (PredefinedUsers u : PredefinedUsers.values()) { diff --git a/libreplan-webapp/src/test/java/org/libreplan/web/test/users/services/DBUserDetailsServiceTest.java b/libreplan-webapp/src/test/java/org/libreplan/web/test/users/services/DBUserDetailsServiceTest.java index 5a88c18c7..d08e07642 100644 --- a/libreplan-webapp/src/test/java/org/libreplan/web/test/users/services/DBUserDetailsServiceTest.java +++ b/libreplan-webapp/src/test/java/org/libreplan/web/test/users/services/DBUserDetailsServiceTest.java @@ -36,6 +36,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.libreplan.business.common.IAdHocTransactionService; import org.libreplan.business.common.IOnTransaction; +import org.libreplan.business.common.entities.IConfigurationBootstrap; import org.libreplan.business.scenarios.bootstrap.IScenariosBootstrap; import org.libreplan.business.users.bootstrap.IProfileBootstrap; import org.libreplan.business.users.bootstrap.PredefinedProfiles; @@ -74,11 +75,14 @@ public class DBUserDetailsServiceTest { @Autowired private IProfileBootstrap profileBootstrap; + @Autowired + private IConfigurationBootstrap configurationBootstrap; + @Autowired private IAdHocTransactionService transactionService; @Before - public void loadScenariosBootsrap() { + public void loadRequiredData() { /* * the required data is loaded in another transaction because if it's * loaded on the same transaction the added scenario could not be @@ -89,6 +93,7 @@ public class DBUserDetailsServiceTest { transactionService.runOnAnotherTransaction(new IOnTransaction() { @Override public Void execute() { + configurationBootstrap.loadRequiredData(); scenariosBootstrap.loadRequiredData(); profileBootstrap.loadRequiredData(); return null; diff --git a/libreplan-webapp/src/test/java/org/libreplan/web/test/users/services/LDAPUserDetailsServiceTest.java b/libreplan-webapp/src/test/java/org/libreplan/web/test/users/services/LDAPUserDetailsServiceTest.java index 563caa962..d037966a2 100644 --- a/libreplan-webapp/src/test/java/org/libreplan/web/test/users/services/LDAPUserDetailsServiceTest.java +++ b/libreplan-webapp/src/test/java/org/libreplan/web/test/users/services/LDAPUserDetailsServiceTest.java @@ -34,6 +34,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.libreplan.business.common.IAdHocTransactionService; import org.libreplan.business.common.IOnTransaction; +import org.libreplan.business.common.entities.IConfigurationBootstrap; import org.libreplan.business.scenarios.bootstrap.IScenariosBootstrap; import org.libreplan.business.users.bootstrap.IProfileBootstrap; import org.libreplan.business.users.bootstrap.PredefinedProfiles; @@ -77,11 +78,14 @@ public class LDAPUserDetailsServiceTest { @Autowired private IProfileBootstrap profileBootstrap; + @Autowired + private IConfigurationBootstrap configurationBootstrap; + @Autowired private IAdHocTransactionService transactionService; @Before - public void loadScenariosBootsrap() { + public void loadRequiredData() { /* * the required data is loaded in another transaction because if it's * loaded on the same transaction the added scenario could not be @@ -92,6 +96,7 @@ public class LDAPUserDetailsServiceTest { transactionService.runOnAnotherTransaction(new IOnTransaction() { @Override public Void execute() { + configurationBootstrap.loadRequiredData(); scenariosBootstrap.loadRequiredData(); profileBootstrap.loadRequiredData(); return null;