mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-11-16 12:10:29 +03:00
Refactor TestCase files into python modules
Convert all TestCase files into standard python modules to be run and discovered by unittest.
This commit is contained in:
parent
4d6682bc70
commit
7ff32bc4b0
34 changed files with 471 additions and 1260 deletions
|
|
@ -1,75 +0,0 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import inspect
|
||||
import os
|
||||
import sys
|
||||
import unittest
|
||||
import hashlib
|
||||
import logging
|
||||
from tempfile import TemporaryDirectory
|
||||
|
||||
localmodule = os.path.realpath(
|
||||
os.path.join(os.path.dirname(inspect.getfile(inspect.currentframe())), '..')
|
||||
)
|
||||
print('localmodule: ' + localmodule)
|
||||
if localmodule not in sys.path:
|
||||
sys.path.insert(0, localmodule)
|
||||
|
||||
from testcommon import TmpCwd
|
||||
from fdroidserver import common, signatures
|
||||
|
||||
|
||||
class SignaturesTest(unittest.TestCase):
|
||||
def setUp(self):
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
common.config = None
|
||||
config = common.read_config()
|
||||
config['jarsigner'] = common.find_sdk_tools_cmd('jarsigner')
|
||||
config['verbose'] = True
|
||||
common.config = config
|
||||
|
||||
def test_main(self):
|
||||
|
||||
# option fixture class:
|
||||
class OptionsFixture:
|
||||
APK = [os.path.abspath(os.path.join('repo', 'com.politedroid_3.apk'))]
|
||||
|
||||
with TemporaryDirectory() as tmpdir, TmpCwd(tmpdir):
|
||||
signatures.extract(OptionsFixture())
|
||||
|
||||
# check if extracted signatures are where they are supposed to be
|
||||
# also verify weather if extracted file contian what they should
|
||||
filesAndHashes = (
|
||||
(os.path.join('metadata', 'com.politedroid', 'signatures', '3', 'MANIFEST.MF'),
|
||||
'7dcd83f0c41a75457fd2311bf3c4578f80d684362d74ba8dc52838d353f31cf2'),
|
||||
(os.path.join('metadata', 'com.politedroid', 'signatures', '3', 'RELEASE.RSA'),
|
||||
'883ef3d5a6e0bf69d2a58d9e255a7930f08a49abc38e216ed054943c99c8fdb4'),
|
||||
(os.path.join('metadata', 'com.politedroid', 'signatures', '3', 'RELEASE.SF'),
|
||||
'99fbb3211ef5d7c1253f3a7ad4836eadc9905103ce6a75916c40de2831958284'),
|
||||
)
|
||||
for path, checksum in filesAndHashes:
|
||||
self.assertTrue(os.path.isfile(path),
|
||||
msg="check whether '{path}' was extracted "
|
||||
"correctly.".format(path=path))
|
||||
with open(path, 'rb') as f:
|
||||
self.assertEqual(hashlib.sha256(f.read()).hexdigest(), checksum)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
os.chdir(os.path.dirname(__file__))
|
||||
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument(
|
||||
"-v",
|
||||
"--verbose",
|
||||
action="store_true",
|
||||
default=False,
|
||||
help="Spew out even more information than normal",
|
||||
)
|
||||
common.options = common.parse_args(parser)
|
||||
|
||||
newSuite = unittest.TestSuite()
|
||||
newSuite.addTest(unittest.makeSuite(SignaturesTest))
|
||||
unittest.main(failfast=False)
|
||||
Loading…
Add table
Add a link
Reference in a new issue