Esempio n. 1
0
 def test_ioerror_file(self):
     pool_dir = self.pool_dir
     path = pjoin(pool_dir, "88", "8843d7f92416211de9ebb963ff4ce28125932878")
     os.makedirs(path)
     hd = HashedDirectory(self.temp_dir).connect(self.POOL)
     with self.assertRaises(IOError):
         hd.get(b"foobar")
Esempio n. 2
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")
Esempio n. 3
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")
Esempio n. 4
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")
Esempio n. 5
0
    def test_read(self):
        pool_dir = self.pool_dir
        os.mkdir(pjoin(pool_dir, "88"))
        with open(pjoin(pool_dir, "88", "8843d7f92416211de9ebb963ff4ce28125932878"), "wb") as outfile:
            outfile.write(b"abcde")

        hd = HashedDirectory(self.temp_dir).connect(self.POOL)
        value = hd.get(b"foobar")
        self.assertEqual(value.read(2), b"ab")
        value.seek(0)
        self.assertEqual(value.read(), b"abcde")
        with self.assertRaises(KeyError):
            hd.get(b"no_such_key")