+ def test_hide_sidecar(self):
+ xattr.setxattr(self.randomFile, "user.foo", bytes("bar", "utf-8"))
+ self.assertTrue(os.path.isfile(self.randomFile))
+ self.assertFalse(os.path.isfile(self.randomFileSidecar))
+
+ sidecarFilename = self.randomFilename + ".xattr"
+ files_mount = os.listdir(self.mountDir)
+ self.assertTrue(self.randomFilename in files_mount)
+ self.assertTrue(sidecarFilename not in files_mount)
+
+ files_source = os.listdir(self.sourceDir)
+ self.assertTrue(self.randomFilename in files_source)
+ self.assertTrue(sidecarFilename in files_source)
+
+ def test_create_new_file(self):
+ test_filename = "test_create_new_file"
+ self.assertFalse(os.path.isfile(self.sourceDir + test_filename))
+ self.assertFalse(os.path.isfile(self.mountDir + test_filename))
+
+ open(self.mountDir + test_filename, "a").close()
+ self.assertTrue(os.path.isfile(self.sourceDir + test_filename))
+ self.assertTrue(os.path.isfile(self.mountDir + test_filename))
+ # FIXME: if one assert fails, the file isn't going to be deleted
+ os.remove(self.mountDir + test_filename)
+
+ def test_remove_file_with_sidecar(self):
+ xattr.setxattr(self.randomFile, "user.foo", bytes("bar", "utf-8"))
+ self.assertTrue(os.path.isfile(self.randomFile))
+ self.assertTrue(os.path.isfile(self.randomSourceFile))
+ self.assertTrue(os.path.isfile(self.randomSourceFileSidecar))
+
+ os.remove(self.randomFile)
+ self.assertFalse(os.path.isfile(self.randomFile))
+ self.assertFalse(os.path.isfile(self.randomSourceFile))
+ self.assertFalse(os.path.isfile(self.randomSourceFileSidecar))
+
+ def test_remove_file_without_sidecar(self):
+ self.assertTrue(os.path.isfile(self.randomFile))
+ self.assertTrue(os.path.isfile(self.randomSourceFile))
+ self.assertFalse(os.path.isfile(self.randomSourceFileSidecar))
+
+ os.remove(self.randomFile)
+ self.assertFalse(os.path.isfile(self.randomFile))
+ self.assertFalse(os.path.isfile(self.randomSourceFile))
+ self.assertFalse(os.path.isfile(self.randomSourceFileSidecar))