예제 #1
0
파일: test_mar.py 프로젝트: rail/build-mar
class TestReadingMar(TestCase):
    def setUp(self):
        self.tmpdir = tempfile.mkdtemp()
        self.marfile = MarFile(TEST_MAR)

    def tearDown(self):
        shutil.rmtree(self.tmpdir)

    def test_extract(self):
        m = self.marfile.members[0]
        self.marfile.extract(m, self.tmpdir)
        fn = os.path.join(self.tmpdir, m.name)

        # Check that the size matches what's in the manifest
        self.assertEquals(os.path.getsize(fn), m.size)

        # Check that the contents match
        data = open(fn, 'rb').read()
        h = sha1sum(data)
        self.assertEquals("6a7890e740f1e18a425b51fefbde2f6b86f91a12", h)

    def test_extractall(self):
        self.marfile.extractall(self.tmpdir)

        all_files = []
        for root, dirs, files in os.walk(self.tmpdir):
            for f in files:
                all_files.append(os.path.join(root, f))

        for member in self.marfile.members:
            self.assertTrue(os.path.join(self.tmpdir, member.name) in all_files)
예제 #2
0
def verify_signature(mar, signature):
    log.info("Checking %s signature", mar)
    m = MarFile(mar, signature_versions=[(1, signature)])
    m.verify_signatures()
예제 #3
0
 def test_verify_fo(self):
     """Check that our test mar fileobject is signed correctly"""
     marfile = MarFile(name=TEST_MAR, fileobj=open(TEST_MAR, "rb"),
                       signature_versions=[(1, TEST_KEY)])
     marfile.verify_signatures()
예제 #4
0
 def test_verify(self):
     """Check that our test mar is signed correctly"""
     marfile = MarFile(TEST_MAR, signature_versions=[(1, TEST_KEY)])
     marfile.verify_signatures()
예제 #5
0
파일: test_mar.py 프로젝트: rail/build-mar
 def setUp(self):
     self.tmpdir = tempfile.mkdtemp()
     self.marfile = MarFile(TEST_MAR)
예제 #6
0
def verify_signature(mar, signature):
    log.info("Checking %s signature", mar)
    m = MarFile(mar, signature_versions=[(1, signature)])
    m.verify_signatures()