def test_file_persistance(self): filepath = os.path.join(self.tempdir, 'file.txt') file = File(name=filepath) file.direct_sync = True self.assertFalse(os.path.exists(filepath)) file() self.assertFalse(os.path.isdir(filepath)) self.assertTrue(os.path.exists(filepath)) with open(filepath) as f: out = f.read() self.assertEqual(out, '')
def test_file_permissions(self): filepath = os.path.join(self.tempdir, 'file.txt') file = File(name=filepath) self.assertEqual(file.fs_mode, None) file.fs_mode = 0o644 file.direct_sync = True file() self.assertTrue(os.path.exists(filepath)) self.assertEqual(os.stat(filepath).st_mode & 0o777, 0o644) file.fs_mode = 0o600 file() self.assertEqual(os.stat(filepath).st_mode & 0o777, 0o600) file = File(name=filepath) self.assertEqual(file.fs_mode, 0o600)
def test_file_mode_text(self): filepath = os.path.join(self.tempdir, 'file.txt') file = File(name=filepath) file.direct_sync = True self.assertEqual(file.mode, MODE_TEXT) self.assertEqual(file.data, '') self.assertEqual(file.lines, []) file.data = 'abc\ndef' file() with open(filepath) as f: out = f.readlines() self.assertEqual(out, ['abc\n', 'def']) file = File(name=filepath) self.assertEqual(file.data, 'abc\ndef') self.assertEqual(file.lines, ['abc', 'def']) file.lines = ['a', 'b', 'c'] file() with open(filepath) as f: out = f.read() self.assertEqual(out, 'a\nb\nc')