use of io.vertigo.commons.transaction.VTransactionWritable in project vertigo by KleeGroup.
the class AbstractStoreManagerTest method testTxNativeInsertNativeSelectRollback.
@Test
public void testTxNativeInsertNativeSelectRollback() {
try (final VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
final Car car = createNewCar();
nativeInsertCar(car);
// on récupère la liste des voitures
checkNativeCarsCount(1);
}
}
use of io.vertigo.commons.transaction.VTransactionWritable in project vertigo by KleeGroup.
the class AbstractStoreManagerTest method testTxCrudInsertNativeSelectRollback.
@Test
public void testTxCrudInsertNativeSelectRollback() {
try (final VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
final Car car = createNewCar();
storeManager.getDataStore().create(car);
// on récupère la liste des voitures
checkNativeCarsCount(1);
}
}
use of io.vertigo.commons.transaction.VTransactionWritable in project vertigo by KleeGroup.
the class AbstractStoreManagerTest method testTxNativeInsertCommitCrudSelectRollback.
@Test
public void testTxNativeInsertCommitCrudSelectRollback() {
try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
final Car car = createNewCar();
nativeInsertCar(car);
transaction.commit();
}
try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
// on récupère la liste des voitures
checkCrudCarsCount(1);
}
}
use of io.vertigo.commons.transaction.VTransactionWritable in project vertigo by KleeGroup.
the class AbstractStoreManagerTest method testAddFamille.
/**
* On charge une liste, ajoute un element et recharge la liste pour verifier l'ajout.
*/
@Test
public void testAddFamille() {
try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
final DtListURI allFamilles = new DtListURIForCriteria<>(dtDefinitionFamille, null, null);
DtList<Famille> dtc = storeManager.getDataStore().findAll(allFamilles);
Assert.assertEquals(0, dtc.size());
// -----
final Famille famille = new Famille();
famille.setLibelle("encore un");
final Famille createdFamille = storeManager.getDataStore().create(famille);
// on attend un objet avec un ID non null ?
Assert.assertNotNull(createdFamille.getFamId());
// -----
dtc = storeManager.getDataStore().findAll(allFamilles);
Assert.assertEquals(1, dtc.size());
transaction.commit();
}
}
use of io.vertigo.commons.transaction.VTransactionWritable in project vertigo by KleeGroup.
the class AbstractStoreManagerTest method testGetFamilleLocationCars.
/**
* Test que les listes NN ne reste pas en cache après une mise à jour.
* Ici l'entité en cache est la destination de la navigation : Car
*/
@Test
public void testGetFamilleLocationCars() {
try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
// on crée une famille
final Famille famille = new Famille();
famille.setLibelle("Ma famille");
final Famille createdFamille = storeManager.getDataStore().create(famille);
// on récupère la liste des voitures
final DtList<Car> cars = storeManager.getDataStore().findAll(allCarsUri);
Assert.assertNotNull(cars);
Assert.assertFalse("La liste des cars est vide", cars.isEmpty());
// on associe la liste de voiture à la famille en NN
final List<URI> carUriList = new ArrayList<>();
for (final Car car : cars) {
carUriList.add(new URI(dtDefinitionCar, car.getId()));
}
familleDAO.updateNN(createdFamille.getVoituresLocationDtListURI(), carUriList);
// On garde le résultat de l'association NN
final DtList<Car> firstResult = createdFamille.getVoituresLocationList();
Assert.assertEquals("Test tailles du nombre de voiture dans une NN", cars.size(), firstResult.size());
// On met à jour l'association en retirant le premier élément
carUriList.remove(0);
familleDAO.updateNN(createdFamille.getVoituresLocationDtListURI(), carUriList);
// on garde le résultat en lazy : il doit avoir le meme nombre de voiture qu'au début
final DtList<Car> lazyResult = createdFamille.getVoituresLocationList();
Assert.assertEquals("Test tailles du nombre de voiture pour une NN", firstResult.size(), lazyResult.size());
// on recharge la famille et on recharge la liste issus de l'association NN : il doit avoir une voiture de moins qu'au début
final DtDefinition dtFamille = DtObjectUtil.findDtDefinition(Famille.class);
final Famille famille2 = storeManager.getDataStore().readOne(new URI<Famille>(dtFamille, createdFamille.getFamId()));
final DtList<Car> secondResult = famille2.getVoituresLocationList();
Assert.assertEquals("Test tailles du nombre de voiture dans une NN", firstResult.size() - 1, secondResult.size());
transaction.commit();
}
}
Aggregations