def test_filesystem_storage_works(self):
     gsettings = GlobalSettings(self.portal)
     _dir = mkdtemp()
     gsettings.storage_location = _dir
     gsettings.storage_type = 'File'
     fi = self.createFile('test.pdf')
     notify(ObjectInitializedEvent(fi))
     uid = fi.UID()
     fi.reindexObject()  # for pc
     fiobj = self.portal.unrestrictedTraverse(
         '@@dvpdffiles/%s/%s/%s/small/dump_1.gif' % (uid[0], uid[1], uid))
     self.assertEquals(
         fiobj.context.path,
         join(_dir, uid[0], uid[1], uid, 'small', 'dump_1.gif'))
     fiobj = self.portal.unrestrictedTraverse(
         '@@dvpdffiles/%s/%s/%s/normal/dump_1.gif' % (uid[0], uid[1], uid))
     self.assertEquals(
         fiobj.context.path,
         join(_dir, uid[0], uid[1], uid, 'normal', 'dump_1.gif'))
     fiobj = self.portal.unrestrictedTraverse(
         '@@dvpdffiles/%s/%s/%s/large/dump_1.gif' % (uid[0], uid[1], uid))
     self.assertEquals(
         fiobj.context.path,
         join(_dir, uid[0], uid[1], uid, 'large', 'dump_1.gif'))
     fiobj = self.portal.unrestrictedTraverse(
         '@@dvpdffiles/%s/%s/%s/text/dump_1.txt' % (uid[0], uid[1], uid))
     self.assertEquals(
         fiobj.context.path,
         join(_dir, uid[0], uid[1], uid, 'text', 'dump_1.txt'))
Esempio n. 2
0
 def test_publish_unpublish_again_works_with_obfuscation(self):
     gsettings = GlobalSettings(self.portal)
     _dir = mkdtemp()
     gsettings.storage_location = _dir
     gsettings.storage_type = 'File'
     gsettings.storage_obfuscate = True
     fi = self.createFile('test.pdf')
     uid = fi.UID()
     fi.reindexObject()
     notify(ObjectInitializedEvent(fi))
     settings = Settings(fi)
     self.assertTrue(
         exists(join(_dir, uid[0], uid[1], uid, settings.obfuscate_secret)))
     self.assertTrue(
         listdir(join(_dir, uid[0], uid[1], uid, settings.obfuscate_secret))
         > 3)
     # publish now
     workflowTool = getToolByName(fi, 'portal_workflow')
     workflowTool.doActionFor(fi, 'publish')
     self.assertTrue(not exists(
         join(_dir, uid[0], uid[1], uid, settings.obfuscate_secret)))
     workflowTool.doActionFor(fi, 'retract')
     self.assertTrue(
         exists(join(_dir, uid[0], uid[1], uid, settings.obfuscate_secret)))
     self.assertTrue(
         listdir(join(_dir, uid[0], uid[1], uid, settings.obfuscate_secret))
         > 3)
 def test_filesystem_storage_works(self):
     gsettings = GlobalSettings(self.portal)
     _dir = mkdtemp()
     gsettings.storage_location = _dir
     gsettings.storage_type = 'File'
     fi = self.createFile('test.pdf')
     notify(ObjectInitializedEvent(fi))
     uid = fi.UID()
     fi.reindexObject()  # for pc
     fiobj = self.portal.unrestrictedTraverse(
         '@@dvpdffiles/%s/%s/%s/small/dump_1.gif' % (
             uid[0], uid[1], uid))
     self.assertEquals(fiobj.context.path,
         join(_dir, uid[0], uid[1], uid, 'small', 'dump_1.gif'))
     fiobj = self.portal.unrestrictedTraverse(
         '@@dvpdffiles/%s/%s/%s/normal/dump_1.gif' % (
             uid[0], uid[1], uid))
     self.assertEquals(fiobj.context.path,
         join(_dir, uid[0], uid[1], uid, 'normal', 'dump_1.gif'))
     fiobj = self.portal.unrestrictedTraverse(
         '@@dvpdffiles/%s/%s/%s/large/dump_1.gif' % (
             uid[0], uid[1], uid))
     self.assertEquals(fiobj.context.path,
         join(_dir, uid[0], uid[1], uid, 'large', 'dump_1.gif'))
     fiobj = self.portal.unrestrictedTraverse(
         '@@dvpdffiles/%s/%s/%s/text/dump_1.txt' % (
             uid[0], uid[1], uid))
     self.assertEquals(fiobj.context.path,
         join(_dir, uid[0], uid[1], uid, 'text', 'dump_1.txt'))
 def test_publish_unpublish_again_works_with_obfuscation(self):
     gsettings = GlobalSettings(self.portal)
     _dir = mkdtemp()
     gsettings.storage_location = _dir
     gsettings.storage_type = 'File'
     gsettings.storage_obfuscate = True
     fi = self.createFile('test.pdf')
     uid = fi.UID()
     fi.reindexObject()
     notify(ObjectInitializedEvent(fi))
     settings = Settings(fi)
     self.assertTrue(exists(join(_dir, uid[0], uid[1], uid,
         settings.obfuscate_secret)))
     self.assertTrue(listdir(join(_dir, uid[0], uid[1], uid,
         settings.obfuscate_secret)) > 3)
     # publish now
     workflowTool = getToolByName(fi, 'portal_workflow')
     workflowTool.doActionFor(fi, 'publish')
     self.assertTrue(not exists(join(_dir, uid[0], uid[1], uid,
         settings.obfuscate_secret)))
     workflowTool.doActionFor(fi, 'retract')
     self.assertTrue(exists(join(_dir, uid[0], uid[1], uid,
         settings.obfuscate_secret)))
     self.assertTrue(listdir(join(_dir, uid[0], uid[1], uid,
         settings.obfuscate_secret)) > 3)
 def test_cleanup_file_storage(self):
     gsettings = GlobalSettings(self.portal)
     _dir = mkdtemp()
     gsettings.storage_location = _dir
     gsettings.storage_type = 'File'
     fi = self.createFile('test.pdf')
     uid = fi.UID()
     self.assertTrue(exists(join(_dir, uid[0], uid[1], uid)))
     self.portal.manage_delObjects([fi.getId()])
     self.assertTrue(not exists(join(_dir, uid[0], uid[1], uid)))
 def test_filesystem_missing_gives_404(self):
     gsettings = GlobalSettings(self.portal)
     _dir = mkdtemp()
     gsettings.storage_location = _dir
     gsettings.storage_type = 'File'
     fi = self.createFile('test.pdf')
     notify(ObjectInitializedEvent(fi))
     uid = fi.UID()
     self.assertRaises(
         KeyError, self.portal.unrestrictedTraverse,
         '@@dvpdffiles/%s/%s/%s/small/foobar.gif' % (uid[0], uid[1], uid))
 def test_cleanup_file_storage_does_not_delete_good_files(self):
     gsettings = GlobalSettings(self.portal)
     _dir = mkdtemp()
     gsettings.storage_location = _dir
     gsettings.storage_type = 'File'
     fi = self.createFile('test.pdf')
     uid = fi.UID()
     fi.reindexObject()
     notify(ObjectInitializedEvent(fi))
     self.assertTrue(exists(join(_dir, uid[0], uid[1], uid)))
     self.portal.unrestrictedTraverse('@@dvcleanup-filestorage')()
     self.assertTrue(exists(join(_dir, uid[0], uid[1], uid)))
 def test_cleanup_file_storage_does_not_delete_good_files(self):
     gsettings = GlobalSettings(self.portal)
     _dir = mkdtemp()
     gsettings.storage_location = _dir
     gsettings.storage_type = 'File'
     fi = self.createFile('test.pdf')
     uid = fi.UID()
     fi.reindexObject()
     notify(ObjectInitializedEvent(fi))
     self.assertTrue(exists(join(_dir, uid[0], uid[1], uid)))
     self.portal.unrestrictedTraverse('@@dvcleanup-filestorage')()
     self.assertTrue(exists(join(_dir, uid[0], uid[1], uid)))
 def test_filesystem_missing_gives_404(self):
     gsettings = GlobalSettings(self.portal)
     _dir = mkdtemp()
     gsettings.storage_location = _dir
     gsettings.storage_type = 'File'
     fi = self.createFile('test.pdf')
     notify(ObjectInitializedEvent(fi))
     uid = fi.UID()
     self.assertRaises(KeyError,
         self.portal.unrestrictedTraverse,
             '@@dvpdffiles/%s/%s/%s/small/foobar.gif' % (
                 uid[0], uid[1], uid))
Esempio n. 10
0
 def test_filesystem_old_storage_works(self):
     gsettings = GlobalSettings(self.portal)
     _dir = mkdtemp()
     gsettings.storage_location = _dir
     gsettings.storage_type = 'File'
     fi = self.createFile('test.pdf')
     uid = fi.UID()
     fiobj = self.portal.unrestrictedTraverse(
         '@@dvpdffiles/{}/{}/{}/small/dump_1.gif'.format(
             uid[0], uid[1], uid))
     self.assertEqual(
         fiobj.context.path,
         join(_dir, uid[0], uid[1], uid, 'small', 'dump_1.gif'))
 def test_blob_new_storage_works(self):
     gsettings = GlobalSettings(self.portal)
     gsettings.storage_type = 'Blob'
     fi = self.createFile('test.pdf')
     notify(ObjectInitializedEvent(fi))
     uid = fi.UID()
     fi.reindexObject()  # for pc
     req = self.request
     files = self.portal.unrestrictedTraverse('@@dvpdffiles')
     files = files.publishTraverse(req, uid[0])
     files = files.publishTraverse(req, uid[1])
     blobtraverser = files.publishTraverse(req, uid)
     blobtraverser = blobtraverser.publishTraverse(req, 'small')
     blobtraverser = blobtraverser.publishTraverse(req, 'dump_1.gif')
     self.assertTrue(isinstance(blobtraverser, BlobFileWrapper))
 def test_filesystem_old_storage_works(self):
     gsettings = GlobalSettings(self.portal)
     _dir = mkdtemp()
     gsettings.storage_location = _dir
     gsettings.storage_type = 'File'
     fi = self.createFile('test.pdf')
     settings = Settings(fi)
     del settings._metadata['storage_version']
     notify(ObjectInitializedEvent(fi))
     uid = fi.UID()
     fi.reindexObject()  # for pc
     fiobj = self.portal.unrestrictedTraverse(
         '@@dvpdffiles/%s/small/dump_1.gif' % uid)
     self.assertEquals(fiobj.context.path,
                       join(_dir, uid, 'small', 'dump_1.gif'))
Esempio n. 13
0
 def test_blob_old_storage_works(self):
     gsettings = GlobalSettings(self.portal)
     gsettings.storage_type = 'Blob'
     fi = self.createFile('test.pdf')
     settings = Settings(fi)
     del settings._metadata['storage_version']
     notify(ObjectModifiedEvent(fi))
     uid = fi.UID()
     fi.reindexObject()  # for pc
     req = self.request
     files = self.portal.unrestrictedTraverse('@@dvpdffiles')
     blobtraverser = files.publishTraverse(req, uid)
     blobtraverser = blobtraverser.publishTraverse(req, 'small')
     blobtraverser = blobtraverser.publishTraverse(req, 'dump_1.gif')
     self.assertTrue(isinstance(blobtraverser, BlobFileWrapper))
 def test_blob_new_storage_works(self):
     gsettings = GlobalSettings(self.portal)
     gsettings.storage_type = 'Blob'
     fi = self.createFile('test.pdf')
     notify(ObjectInitializedEvent(fi))
     uid = fi.UID()
     fi.reindexObject()  # for pc
     req = self.request
     files = self.portal.unrestrictedTraverse('@@dvpdffiles')
     files = files.publishTraverse(req, uid[0])
     files = files.publishTraverse(req, uid[1])
     blobtraverser = files.publishTraverse(req, uid)
     blobtraverser = blobtraverser.publishTraverse(req, 'small')
     blobtraverser = blobtraverser.publishTraverse(req, 'dump_1.gif')
     self.assertTrue(isinstance(blobtraverser, BlobFileWrapper))
 def test_storage_obsfucates_dir(self):
     gsettings = GlobalSettings(self.portal)
     _dir = mkdtemp()
     gsettings.storage_location = _dir
     gsettings.storage_type = 'File'
     gsettings.storage_obfuscate = True
     fi = self.createFile('test.pdf')
     uid = fi.UID()
     fi.reindexObject()
     notify(ObjectInitializedEvent(fi))
     settings = Settings(fi)
     self.assertTrue(exists(join(_dir, uid[0], uid[1], uid,
         settings.obfuscate_secret)))
     self.assertTrue(listdir(join(_dir, uid[0], uid[1], uid,
         settings.obfuscate_secret)) > 3)
 def test_filesystem_old_storage_works(self):
     gsettings = GlobalSettings(self.portal)
     _dir = mkdtemp()
     gsettings.storage_location = _dir
     gsettings.storage_type = 'File'
     fi = self.createFile('test.pdf')
     settings = Settings(fi)
     del settings._metadata['storage_version']
     notify(ObjectInitializedEvent(fi))
     uid = fi.UID()
     fi.reindexObject()  # for pc
     fiobj = self.portal.unrestrictedTraverse(
         '@@dvpdffiles/%s/small/dump_1.gif' % uid)
     self.assertEquals(fiobj.context.path,
         join(_dir, uid, 'small', 'dump_1.gif'))
Esempio n. 17
0
 def test_storage_obsfucates_dir(self):
     gsettings = GlobalSettings(self.portal)
     _dir = mkdtemp()
     gsettings.storage_location = _dir
     gsettings.storage_type = 'File'
     gsettings.storage_obfuscate = True
     fi = self.createFile('test.pdf')
     uid = fi.UID()
     fi.reindexObject()
     notify(ObjectInitializedEvent(fi))
     settings = Settings(fi)
     self.assertTrue(
         exists(join(_dir, uid[0], uid[1], uid, settings.obfuscate_secret)))
     self.assertTrue(
         listdir(join(_dir, uid[0], uid[1], uid, settings.obfuscate_secret))
         > 3)
Esempio n. 18
0
    def test_saves_with_file_storage(self):
        fi = self.createFile('test.odp')
        gsettings = GlobalSettings(self.portal)
        gsettings.auto_select_layout = True
        gsettings.auto_layout_file_types = ['ppt']
        gsettings.storage_type = 'File'
        _dir = mkdtemp()
        gsettings.storage_location = _dir
        notify(ObjectInitializedEvent(fi))

        fi_dir = storage.getResourceDirectory(obj=fi)
        self.assertEqual(len(listdir(fi_dir)), 4)
        self.assertEqual(len(listdir(join(fi_dir, 'normal'))), 1)
        self.assertEqual(len(listdir(join(fi_dir, 'small'))), 1)
        self.assertEqual(len(listdir(join(fi_dir, 'large'))), 1)
        self.assertEqual(len(listdir(join(fi_dir, 'text'))), 1)
        shutil.rmtree(fi_dir)
Esempio n. 19
0
    def test_saves_with_file_storage(self):
        fi = self.createFile('test.odp')
        gsettings = GlobalSettings(self.portal)
        gsettings.auto_select_layout = True
        gsettings.auto_layout_file_types = ['ppt']
        gsettings.storage_type = 'File'
        _dir = mkdtemp()
        gsettings.storage_location = _dir
        notify(ObjectInitializedEvent(fi))

        fi_dir = storage.getResourceDirectory(obj=fi)
        self.assertEqual(len(listdir(fi_dir)), 4)
        self.assertEqual(len(listdir(join(fi_dir, 'normal'))), 1)
        self.assertEqual(len(listdir(join(fi_dir, 'small'))), 1)
        self.assertEqual(len(listdir(join(fi_dir, 'large'))), 1)
        self.assertEqual(len(listdir(join(fi_dir, 'text'))), 1)
        shutil.rmtree(fi_dir)
 def test_migrate_old_storage(self):
     gsettings = GlobalSettings(self.portal)
     _dir = mkdtemp()
     gsettings.storage_location = _dir
     gsettings.storage_type = 'File'
     fi = self.createFile('test.pdf')
     settings = Settings(fi)
     del settings._metadata['storage_version']
     fi.reindexObject()
     notify(ObjectInitializedEvent(fi))
     self.assertEquals(settings.storage_version, 1)
     old_path = storage.getResourceDirectory(obj=fi)
     self.assertTrue(exists(old_path))
     from collective.documentviewer.upgrades import migrate_old_storage
     migrate_old_storage(self.portal)
     self.assertTrue(not exists(old_path))
     self.assertEquals(settings.storage_version, STORAGE_VERSION)
     new_path = storage.getResourceDirectory(obj=fi)
     self.assertTrue(exists(new_path))
     self.assertEquals(len(listdir(new_path)), 4)
 def test_migrate_old_storage(self):
     gsettings = GlobalSettings(self.portal)
     _dir = mkdtemp()
     gsettings.storage_location = _dir
     gsettings.storage_type = 'File'
     fi = self.createFile('test.pdf')
     settings = Settings(fi)
     del settings._metadata['storage_version']
     fi.reindexObject()
     notify(ObjectInitializedEvent(fi))
     self.assertEquals(settings.storage_version, 1)
     old_path = storage.getResourceDirectory(obj=fi)
     self.assertTrue(exists(old_path))
     from collective.documentviewer.upgrades import migrate_old_storage
     migrate_old_storage(self.portal)
     self.assertTrue(not exists(old_path))
     self.assertEquals(settings.storage_version, STORAGE_VERSION)
     new_path = storage.getResourceDirectory(obj=fi)
     self.assertTrue(exists(new_path))
     self.assertEquals(len(listdir(new_path)), 6)