Fix tests broken in commit b940c78826
The problem was that now when a user or resource is saved, it's checked the limit in the configuration fields. For that reason, we need to load the configuration data before saving any user or resource.
This commit is contained in:
parent
032a7c0eaf
commit
b8ae09471d
9 changed files with 102 additions and 25 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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<Void>() {
|
||||
@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<Void> createMachineTransaction =
|
||||
new IOnTransaction<Void>() {
|
||||
|
||||
@Override public Void execute() {
|
||||
machineDAO.save(machine);
|
||||
transactionService.runOnTransaction(new IOnTransaction<Void>() {
|
||||
@Override
|
||||
public Void execute() {
|
||||
machineDAO.save(createValidMachine());
|
||||
return null;
|
||||
}
|
||||
};
|
||||
transactionService.runOnTransaction(createMachineTransaction);
|
||||
});
|
||||
|
||||
transactionService.runOnTransaction(new IOnTransaction<Void>() {
|
||||
@Override
|
||||
public Void execute() {
|
||||
machineDAO.save(createValidMachine());
|
||||
return null;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
|
|
@ -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()) {
|
||||
|
|
|
|||
|
|
@ -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<Void>() {
|
||||
@Override
|
||||
public Void execute() {
|
||||
configurationBootstrap.loadRequiredData();
|
||||
scenariosBootstrap.loadRequiredData();
|
||||
profileBootstrap.loadRequiredData();
|
||||
return null;
|
||||
|
|
|
|||
|
|
@ -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<Void>() {
|
||||
@Override
|
||||
public Void execute() {
|
||||
configurationBootstrap.loadRequiredData();
|
||||
scenariosBootstrap.loadRequiredData();
|
||||
profileBootstrap.loadRequiredData();
|
||||
return null;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue