Search in sources :

Example 1 with FileInfoTemp

use of io.vertigo.dynamo.store.data.fileinfo.FileInfoTemp in project vertigo by KleeGroup.

the class MultiStoreManagerTest method testOtherStoreFile.

@Test
public void testOtherStoreFile() throws Exception {
    final VFile vFile = TestUtil.createVFile(fileManager, "../data/lautreamont.txt", AbstractStoreManagerTest.class);
    // 1.Création du fichier depuis un fichier texte du FS
    final FileInfo fileInfo = new FileInfoTemp(vFile);
    final FileInfo createdFileInfo;
    try (final VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
        // 2. Sauvegarde en Temp
        createdFileInfo = storeManager.getFileStore().create(fileInfo);
        // can't read file if not commited (TODO ?)
        transaction.commit();
    }
    try (final VTransactionWritable transaction = transactionManager.createCurrentTransaction()) {
        // 3.relecture du fichier
        final FileInfo readFileInfo = storeManager.getFileStore().read(createdFileInfo.getURI());
        // 4. comparaison du fichier créé et du fichier lu.
        final String source;
        try (final OutputStream sourceOS = new java.io.ByteArrayOutputStream()) {
            FileUtil.copy(vFile.createInputStream(), sourceOS);
            source = sourceOS.toString();
        }
        final String read;
        try (final OutputStream readOS = new java.io.ByteArrayOutputStream()) {
            FileUtil.copy(readFileInfo.getVFile().createInputStream(), readOS);
            read = readOS.toString();
        }
        // on vérifie que le contenu des fichiers est identique.
        // assertEquals("toto", "toto");
        // assertEquals("toto", "ti");
        Assert.assertEquals(source, read);
        Assert.assertTrue("Test contenu du fichier", read.startsWith("Chant I"));
        Assert.assertTrue("Test contenu du fichier : " + secureSubString(read, 16711, "ses notes langoureuses,"), read.indexOf("ses notes langoureuses,") > 0);
        Assert.assertTrue("Test contenu du fichier : " + secureSubString(read, 11004, "mal : \"Adolescent,"), read.indexOf("mal : \"Adolescent,") > 0);
    // On désactive pour l'instant
    // Ne marche pas sur la PIC pour cause de charset sur le àé
    // Assert.assertTrue("Test contenu du fichier : " + secureSubString(read, 15579, "adieu !à ;"), read.indexOf("adieu !à ;") > 0);
    }
}
Also used : FileInfo(io.vertigo.dynamo.file.model.FileInfo) OutputStream(java.io.OutputStream) VTransactionWritable(io.vertigo.commons.transaction.VTransactionWritable) VFile(io.vertigo.dynamo.file.model.VFile) FileInfoTemp(io.vertigo.dynamo.store.data.fileinfo.FileInfoTemp) Test(org.junit.Test) AbstractStoreManagerTest(io.vertigo.dynamo.store.datastore.AbstractStoreManagerTest)

Aggregations

VTransactionWritable (io.vertigo.commons.transaction.VTransactionWritable)1 FileInfo (io.vertigo.dynamo.file.model.FileInfo)1 VFile (io.vertigo.dynamo.file.model.VFile)1 FileInfoTemp (io.vertigo.dynamo.store.data.fileinfo.FileInfoTemp)1 AbstractStoreManagerTest (io.vertigo.dynamo.store.datastore.AbstractStoreManagerTest)1 OutputStream (java.io.OutputStream)1 Test (org.junit.Test)1