Example #1
0
    def test_ioerror_directory(self):
        pool_dir = self.pool_dir

        path = pjoin(pool_dir, "88", "8843d7f92416211de9ebb963ff4ce28125932878")
        os.chmod(pool_dir, 0o444)
        hd = HashedDirectory(self.temp_dir).connect(self.POOL)
        with self.assertRaises(OSError):
            hd.create(b"foobar")
Example #2
0
    def test_delete(self):
        pool_dir = self.pool_dir
        path = pjoin(pool_dir, "88", "8843d7f92416211de9ebb963ff4ce28125932878")
        hd = HashedDirectory(self.temp_dir).connect(self.POOL)
        value = hd.create(b"foobar")
        value.write(b"example")
        value.close()

        self.assertEqual(open(path, "rb").read(), b"example")

        hd.delete(b"foobar")

        self.assertFalse(os.path.isfile(path), msg="File must not exist after delete")
Example #3
0
 def test_create(self):
     pool_dir = self.pool_dir
     path = pjoin(pool_dir, "88", "8843d7f92416211de9ebb963ff4ce28125932878")
     hd = HashedDirectory(self.temp_dir).connect(self.POOL)
     value = hd.create(b"foobar")
     value.write("abcde")
     value.flush()
     data = open(path, "rb").read()
     self.assertEqual(data, b"abcde")
     value.write("fgh")
     value.close()
     data = open(path, "rb").read()
     self.assertEqual(data, b"abcdefgh")