Search in sources :

Example 11 with Car

use of io.vertigo.dynamo.store.data.domain.car.Car in project vertigo by KleeGroup.

the class AbstractStoreManagerTest method testCrudInsertNoTx.

@Test(expected = NullPointerException.class)
public void testCrudInsertNoTx() {
    final Car car = createNewCar();
    storeManager.getDataStore().create(car);
}
Also used : Car(io.vertigo.dynamo.store.data.domain.car.Car) Test(org.junit.Test)

Example 12 with Car

use of io.vertigo.dynamo.store.data.domain.car.Car 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);
    }
}
Also used : Car(io.vertigo.dynamo.store.data.domain.car.Car) VTransactionWritable(io.vertigo.commons.transaction.VTransactionWritable) Test(org.junit.Test)

Example 13 with Car

use of io.vertigo.dynamo.store.data.domain.car.Car 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();
    }
}
Also used : Famille(io.vertigo.dynamo.store.data.domain.famille.Famille) Car(io.vertigo.dynamo.store.data.domain.car.Car) ArrayList(java.util.ArrayList) DtDefinition(io.vertigo.dynamo.domain.metamodel.DtDefinition) VTransactionWritable(io.vertigo.commons.transaction.VTransactionWritable) URI(io.vertigo.dynamo.domain.model.URI) DtListURI(io.vertigo.dynamo.domain.model.DtListURI) Test(org.junit.Test)

Example 14 with Car

use of io.vertigo.dynamo.store.data.domain.car.Car in project vertigo by KleeGroup.

the class AbstractStoreManagerTest method testTxCrudInsertCommitCrudSelectRollback.

@Test
public void testTxCrudInsertCommitCrudSelectRollback() {
    try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
        final Car car = createNewCar();
        storeManager.getDataStore().create(car);
        transaction.commit();
    }
    try (VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
        // on récupère la liste des voitures
        checkCrudCarsCount(1);
    }
}
Also used : Car(io.vertigo.dynamo.store.data.domain.car.Car) VTransactionWritable(io.vertigo.commons.transaction.VTransactionWritable) Test(org.junit.Test)

Example 15 with Car

use of io.vertigo.dynamo.store.data.domain.car.Car in project vertigo by KleeGroup.

the class AbstractStoreManagerTest method testTxNativeInsertCommitNativeSelectRollback.

@Test
public void testTxNativeInsertCommitNativeSelectRollback() {
    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
        checkNativeCarsCount(1);
    }
}
Also used : Car(io.vertigo.dynamo.store.data.domain.car.Car) VTransactionWritable(io.vertigo.commons.transaction.VTransactionWritable) Test(org.junit.Test)

Aggregations

Car (io.vertigo.dynamo.store.data.domain.car.Car)25 Test (org.junit.Test)23 VTransactionWritable (io.vertigo.commons.transaction.VTransactionWritable)22 DtDefinition (io.vertigo.dynamo.domain.metamodel.DtDefinition)2 DtListURI (io.vertigo.dynamo.domain.model.DtListURI)2 Famille (io.vertigo.dynamo.store.data.domain.famille.Famille)2 DtListURIForCriteria (io.vertigo.dynamo.domain.model.DtListURIForCriteria)1 URI (io.vertigo.dynamo.domain.model.URI)1 ArrayList (java.util.ArrayList)1