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))
 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))