[Checkins] SVN: ZEO/branches/patricks-blob-dir-permissions/src/ZEO/ tests passing

Patrick Strawderman cvs-admin at zope.org
Thu Oct 18 19:29:42 UTC 2012


Log message for revision 128068:
  tests passing
  

Changed:
  U   ZEO/branches/patricks-blob-dir-permissions/src/ZEO/ClientStorage.py
  U   ZEO/branches/patricks-blob-dir-permissions/src/ZEO/tests/testConfig.py
  U   ZEO/branches/patricks-blob-dir-permissions/src/ZEO/tests/testZEO.py

-=-
Modified: ZEO/branches/patricks-blob-dir-permissions/src/ZEO/ClientStorage.py
===================================================================
--- ZEO/branches/patricks-blob-dir-permissions/src/ZEO/ClientStorage.py	2012-10-18 16:19:40 UTC (rev 128067)
+++ ZEO/branches/patricks-blob-dir-permissions/src/ZEO/ClientStorage.py	2012-10-18 19:29:36 UTC (rev 128068)
@@ -387,13 +387,13 @@
             import ZODB.blob
             if shared_blob_dir:
                 self.fshelper = ZODB.blob.FilesystemHelper(blob_dir,
-                    blob_dir_permissions=blob_dir_permissions)
+                    permissions=blob_dir_permissions)
             else:
                 if 'zeocache' not in ZODB.blob.LAYOUTS:
                     ZODB.blob.LAYOUTS['zeocache'] = BlobCacheLayout()
                 self.fshelper = ZODB.blob.FilesystemHelper(
                     blob_dir, layout_name='zeocache',
-                    blob_dir_permissions=blob_dir_permissions)
+                    permissions=blob_dir_permissions)
                 self.fshelper.create()
             self.fshelper.checkSecure()
         else:

Modified: ZEO/branches/patricks-blob-dir-permissions/src/ZEO/tests/testConfig.py
===================================================================
--- ZEO/branches/patricks-blob-dir-permissions/src/ZEO/tests/testConfig.py	2012-10-18 16:19:40 UTC (rev 128067)
+++ ZEO/branches/patricks-blob-dir-permissions/src/ZEO/tests/testConfig.py	2012-10-18 19:29:36 UTC (rev 128068)
@@ -60,5 +60,25 @@
                          'blobs')
         self.assertRaises(ClientDisconnected, self._test, cfg)
 
+        cfg = """
+        <zodb>
+          <zeoclient>
+            blob-dir blobs
+            blob-dir-permissions 0777
+            server localhost:56897
+            wait false
+          </zeoclient>
+        </zodb>
+        """
+        config, handle = ZConfig.loadConfigFile(getDbSchema(), StringIO(cfg))
+        self.assertEqual(config.database[0].config.storage.config.blob_dir,
+                         'blobs')
+        storage = config.database[0].config.storage.open()
+        self.assertEqual(storage.fshelper.blob_dir_permissions, 0777)
+        storage.close()
+        self.assertRaises(ClientDisconnected, self._test, cfg)
+
+
+
 def test_suite():
     return unittest.makeSuite(ZEOConfigTest)

Modified: ZEO/branches/patricks-blob-dir-permissions/src/ZEO/tests/testZEO.py
===================================================================
--- ZEO/branches/patricks-blob-dir-permissions/src/ZEO/tests/testZEO.py	2012-10-18 16:19:40 UTC (rev 128067)
+++ ZEO/branches/patricks-blob-dir-permissions/src/ZEO/tests/testZEO.py	2012-10-18 19:29:36 UTC (rev 128068)
@@ -1694,23 +1694,29 @@
         def tpc_abort(self, id):
             self.rpc.call('tpc_abort', id)
 
-    def __init__(self, name, blob_dir, shared=False, extrafsoptions=''):
+    def __init__(self, name, blob_dir, shared=False, extrafsoptions='',
+        blob_dir_permissions=None):
         if shared:
             server_blob_dir = blob_dir
         else:
             server_blob_dir = 'server-'+blob_dir
         self.globs = {}
         port = forker.get_port2(self)
+        if blob_dir_permissions:
+            options = "blob-dir-permissions %s" % (oct(blob_dir_permissions),)
+        else:
+            options = ""
         addr, admin, pid, config = forker.start_zeo_server(
             """
             <blobstorage>
                 blob-dir %s
+                %s
                 <filestorage>
                    path %s
                    %s
                 </filestorage>
             </blobstorage>
-            """ % (server_blob_dir, name+'.fs', extrafsoptions),
+            """ % (server_blob_dir, options, name+'.fs', extrafsoptions),
             port=port,
             )
         os.remove(config)
@@ -1719,16 +1725,19 @@
             self, forker.shutdown_zeo_server, admin)
         if shared:
             ClientStorage.__init__(self, addr, blob_dir=blob_dir,
-                                   shared_blob_dir=True)
+                shared_blob_dir=True,
+                blob_dir_permissions=blob_dir_permissions)
         else:
-            ClientStorage.__init__(self, addr, blob_dir=blob_dir)
+            ClientStorage.__init__(self, addr, blob_dir=blob_dir,
+                blob_dir_permissions=blob_dir_permissions)
 
     def close(self):
         ClientStorage.close(self)
         zope.testing.setupstack.tearDown(self)
 
-def create_storage_shared(name, blob_dir):
-    return ServerManagingClientStorage(name, blob_dir, True)
+def create_storage_shared(name, blob_dir, blob_dir_permissions=None):
+    return ServerManagingClientStorage(name, blob_dir, True,
+        blob_dir_permissions=blob_dir_permissions)
 
 class ServerManagingClientStorageForIExternalGCTest(
     ServerManagingClientStorage):



More information about the checkins mailing list