def test_info_serialization(self): tfobj = _get_tarfile(self.filenames) archive = layers.Archive(tfobj) tar = tarfile.open(fileobj=archive) members = tar.getmembers() for tarinfo in members: sinfo = layers.serialize_tar_info(tarinfo) assert sinfo[0] in self.filenames assert sinfo[1:] == ('f', False, 512, 0, 420, 0, 0) tar_info = mock.MagicMock() expectations = [(".", "/"), ("./", "/"), ("./ab", "/ab")] for name_in, name_out in expectations: tar_info.name = name_in out = layers.serialize_tar_info(tar_info) self.assertEqual(out[0], name_out) self.assertEqual(out[2], False) tar_info.name = "./.wh..wh." self.assertEqual(layers.serialize_tar_info(tar_info), None) expectations = [("./.wh.", "/"), ("/.wh.", "/")] for name_in, name_out in expectations: tar_info.name = name_in out = layers.serialize_tar_info(tar_info) self.assertEqual(out[0], name_out) self.assertEqual(out[2], True)
def test_info_serialization(self): tfobj = _get_tarfile(self.filenames) archive = layers.Archive(tfobj) tar = tarfile.open(fileobj=archive) members = tar.getmembers() for tarinfo in members: sinfo = layers.serialize_tar_info(tarinfo) self.assertTrue(sinfo[0] in self.filenames) self.assertTrue(sinfo[1:] == ('f', False, 512, 0, 420, 0, 0))