def test_Copy(self): target = '/tmp/work/__TEST__/a.txt' self.assertTrue(not File.IsExist(target)) File.CreateDummy(target, 1024) File.Copy(target, '/tmp/work/__TEST__/b.txt') self.assertTrue(File.IsExist('/tmp/work/__TEST__/b.txt')) self.assertTrue(1024 == File.GetSize('/tmp/work/__TEST__/a.txt')) self.assertTrue(1024 == File.GetSize('/tmp/work/__TEST__/b.txt')) self.assertTrue(not os.path.exists('/tmp/work/__TEST_2__')) with self.assertRaises(IsADirectoryError) as e: File.Copy('/tmp/work/__TEST__', '/tmp/work/__TEST_2__') self.assertTrue(not os.path.exists('/tmp/work/__TEST_2__')) with self.assertRaises(IsADirectoryError) as e: File.Copy('/tmp/work/__TEST__', '/tmp/work/__TEST_2__/c.txt') self.assertTrue(not os.path.exists('/tmp/work/__TEST_2__/c.txt')) File.Copy('/tmp/work/__TEST__/a.txt', '/tmp/work/__TEST_2__') self.assertTrue(os.path.exists('/tmp/work/__TEST_2__')) self.assertTrue(1024 == File.GetSize('/tmp/work/__TEST_2__')) File.Delete('/tmp/work/__TEST__/a.txt') File.Delete('/tmp/work/__TEST__/b.txt') File.Delete('/tmp/work/__TEST_2__') Directory.Delete('/tmp/work/__TEST__')
def test_Accessed(self): target_root = '/tmp/work/__TEST__' target_dummy = os.path.join(target_root, 'a.dummy') File.CreateDummy(target_dummy, 1024) s = File(target_root) self.assertTrue(tuple == type(s.Accessed)) self.assertTrue(2 == len(s.Accessed)) self.assertTrue(float == type(s.Accessed[0])) self.assertTrue(datetime.datetime == type(s.Accessed[1])) dt1 = datetime.datetime.strptime('1999/12/31 23:59:59', '%Y/%m/%d %H:%M:%S') dt2 = datetime.datetime.strptime('2345/01/02 12:34:56', '%Y/%m/%d %H:%M:%S') epoch, dt = s.Accessed self.assertTrue(dt1 != dt) self.assertTrue(dt2 != dt) s.Accessed = dt1 self.assertTrue(int(time.mktime(dt1.timetuple())) == s.Accessed[0]) self.assertTrue(dt1 == s.Accessed[1]) self.assertTrue(dt1 != s.Modified[1]) self.assertTrue(dt1 != s.Created[1]) self.assertTrue(dt1 != s.ChangedMeta[1]) Directory.Delete(target_root)
def test_Modified_Get_Set(self): target_root = '/tmp/work/__TEST__' target_dummy = os.path.join(target_root, 'a.dummy') File.CreateDummy(target_dummy, 1024) self.assertTrue(tuple == type(File.GetModified(target_dummy))) self.assertTrue(2 == len(File.GetModified(target_dummy))) self.assertTrue(float == type(File.GetModified(target_dummy)[0])) self.assertTrue( datetime.datetime == type(File.GetModified(target_dummy)[1])) #print(type(File.GetModified(target_dummy)[0])) #print(type(File.GetModified(target_dummy)[1])) dt1 = datetime.datetime.strptime('1999/12/31 23:59:59', '%Y/%m/%d %H:%M:%S') dt2 = datetime.datetime.strptime('2345/01/02 12:34:56', '%Y/%m/%d %H:%M:%S') epoch, dt = File.GetModified(target_dummy) self.assertTrue(dt1 != dt) self.assertTrue(dt2 != dt) File.SetModified(target_dummy, dt1) self.assertTrue( int(time.mktime(dt1.timetuple())) == File.GetModified(target_dummy) [0]) self.assertTrue(dt1 == File.GetModified(target_dummy)[1]) self.assertTrue(dt1 != File.GetChangedMeta(target_dummy)[1]) self.assertTrue(dt1 != File.GetAccessed(target_dummy)[1]) Directory.Delete(target_root)
def test_Path(self): target_root = '/tmp/work/__TEST__' target_dummy = os.path.join(target_root, 'a.dummy') File.CreateDummy(target_dummy, 1024) s = File(target_root) self.assertEqual('/tmp/work/__TEST__', s.Path) Directory.Delete(target_root)
def test_CreateDummy(self): target = '/tmp/work/__TEST__/a.txt' self.assertTrue(not File.IsExist(target)) File.CreateDummy(target, 1024) self.assertTrue(File.IsExist(target)) self.assertTrue(1024 == File.GetSize(target)) File.Delete(target) self.assertTrue(not File.IsExist(target)) target = '/tmp/work/__TEST__/A/B/C/d.e' self.assertTrue(not File.IsExist(target)) File.CreateDummy(target, 4096) self.assertTrue(File.IsExist(target)) self.assertTrue(4096 == File.GetSize(target)) File.Delete(target) self.assertTrue(not File.IsExist(target)) target = '/tmp/work/__TEST__' Directory.Delete(target)
def test_GetChangedMeta(self): target_root = '/tmp/work/__TEST__' target_dummy = os.path.join(target_root, 'a.dummy') File.CreateDummy(target_dummy, 1024) self.assertTrue(hasattr(File, 'GetChangedMeta')) self.assertTrue(hasattr(File, 'GetCreated')) print(File.GetChangedMeta(target_dummy)) print(File.GetCreated(target_dummy)) Directory.Delete(target_root)
def test_ChangedMeta(self): target_root = '/tmp/work/__TEST__' target_dummy = os.path.join(target_root, 'a.dummy') File.CreateDummy(target_dummy, 1024) s = File(target_root) self.assertTrue(hasattr(s, 'ChangedMeta')) self.assertTrue(hasattr(s, 'Created')) print(s.ChangedMeta) print(s.Created) Directory.Delete(target_root)
def test_GetSize(self): target_root = '/tmp/work/__TEST__' path_a = os.path.join(target_root, 'a.dummy') File.CreateDummy(path_a, 1024) self.assertEqual(1024, File.GetSize(path_a)) path_b = os.path.join(target_root, 'B', 'b.dummy') File.CreateDummy(path_b, 2048) self.assertEqual(2048, File.GetSize(path_b)) path_c = os.path.join(target_root, 'C', 'c.dummy') File.CreateDummy(path_c, 3072) self.assertEqual(3072, File.GetSize(path_c)) path_d = os.path.join(target_root, 'D/DD/d.dummy') File.CreateDummy(path_d, 4096) self.assertEqual(4096, File.GetSize(path_d)) Directory.Delete(target_root)
def test_SetModeFromName_Error(self): target_root = '/tmp/work/__TEST__' target_dummy = os.path.join(target_root, 'a.dummy') File.CreateDummy(target_dummy, 1024) mode_name = 'Invalid-Text' with self.assertRaises(ValueError) as e: File.SetMode(target_dummy, mode_name) mode_names = ['---', '--x', '-w-', '-wx', 'r--', 'r-x', 'rw-', 'rwx'] self.assertEqual( '引数mode_nameが不正値です。\'{}\'。\'-rwxrwxrwx\'の書式で入力してください。owner, group, other, の順に次のパターンのいずれかを指定します。pattern={}。r,w,xはそれぞれ、読込、書込、実行の権限です。-は権限なしを意味します。' .format(mode_name, mode_names), e.exception.args[0]) Directory.Delete(target_root)
def test_Ids(self): target_root = '/tmp/work/__TEST__' target_dummy = os.path.join(target_root, 'a.dummy') File.CreateDummy(target_dummy, 1024) self.assertTrue(hasattr(File, 'OwnUserId')) self.assertTrue(hasattr(File, 'OwnGroupId')) self.assertTrue(hasattr(File, 'HardLinkNum')) self.assertTrue(hasattr(File, 'INode')) self.assertTrue(hasattr(File, 'DeviceId')) print(File.GetOwnUserId(target_dummy)) print(File.GetOwnGroupId(target_dummy)) print(File.GetHardLinkNum(target_dummy)) print(File.GetINode(target_dummy)) print(File.GetDeviceId(target_dummy)) Directory.Delete(target_root)
def test_Ids_Property(self): target_root = '/tmp/work/__TEST__' target_dummy = os.path.join(target_root, 'a.dummy') File.CreateDummy(target_dummy, 1024) s = File(target_root) self.assertTrue(hasattr(s, 'OwnUserId')) self.assertTrue(hasattr(s, 'OwnGroupId')) self.assertTrue(hasattr(s, 'HardLinkNum')) self.assertTrue(hasattr(s, 'INode')) self.assertTrue(hasattr(s, 'DeviceId')) print(s.OwnUserId) print(s.OwnGroupId) print(s.HardLinkNum) print(s.INode) print(s.DeviceId) Directory.Delete(target_root)
def test_Mode(self): target_root = '/tmp/work/__TEST__' target_dummy = os.path.join(target_root, 'a.dummy') File.CreateDummy(target_dummy, 1024) s = File(target_root) s.Mode = 0o777 self.assertEqual(0o40777, s.Mode) self.assertEqual('drwxrwxrwx', s.ModeName) s.Mode = 0o644 self.assertEqual(0o40644, s.Mode) self.assertEqual('drw-r--r--', s.ModeName) s.Mode = '-rwxrwxrwx' self.assertEqual(0o40777, s.Mode) self.assertEqual('drwxrwxrwx', s.ModeName) Directory.Delete(target_root)
def test_Mode_Get_Set_Name(self): target_root = '/tmp/work/__TEST__' target_dummy = os.path.join(target_root, 'a.dummy') File.CreateDummy(target_dummy, 1024) mode = File.GetMode(target_dummy) print(mode) print(oct(mode)) File.SetMode(target_dummy, 0o755) self.assertEqual(0o100755, File.GetMode(target_dummy)) self.assertEqual('-rwxr-xr-x', File.GetModeName(target_dummy)) File.SetMode(target_dummy, '-rwxrwxrwx') self.assertEqual(0o100777, File.GetMode(target_dummy)) File.SetMode(target_dummy, 0o644) self.assertEqual(0o100644, File.GetMode(target_dummy)) self.assertEqual('-rw-r--r--', File.GetModeName(target_dummy)) Directory.Delete(target_root)