def test_allow_writes(self):
     """Test for allow_writes."""
     set_dir_readonly(self.basedir)
     with allow_writes(self.basedir):
         foo_dir = os.path.join(self.basedir, 'foo')
         os.mkdir(foo_dir)
         self.assertTrue(path_exists(foo_dir))
 def add_share(self, share):
     """Add share to the shares dict."""
     self.shares[share.id] = share
     # if the share don't exists, create it
     if not path_exists(share.path):
         make_dir(share.path)
     # if it's a ro share, change the perms
     if not share.can_write():
         set_dir_readonly(share.path)
    def test_set_dir_readwrite(self):
        """Test for set_dir_readwrite."""
        set_dir_readonly(self.basedir)
        # do not queue up any cleanup function since we're restoring perms in
        # the next call

        set_dir_readwrite(self.basedir)
        foo_dir = os.path.join(self.basedir, 'foo')
        os.mkdir(foo_dir)
        self.assertTrue(path_exists(foo_dir))
    def test_set_dir_readonly(self):
        """Test for set_dir_readonly."""
        set_dir_readonly(self.basedir)
        self.addCleanup(set_dir_readwrite, self.basedir)

        self.assertRaises(OSError, make_dir, os.path.join(self.basedir, 'foo'))