mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-10-06 11:00:13 +02:00
52 lines
1.8 KiB
Plaintext
52 lines
1.8 KiB
Plaintext
|
#!/usr/bin/env python3
|
||
|
|
||
|
import inspect
|
||
|
import optparse
|
||
|
import os
|
||
|
import sys
|
||
|
import unittest
|
||
|
import tempfile
|
||
|
|
||
|
localmodule = os.path.realpath(
|
||
|
os.path.join(os.path.dirname(inspect.getfile(inspect.currentframe())), '..'))
|
||
|
if localmodule not in sys.path:
|
||
|
sys.path.insert(0, localmodule)
|
||
|
|
||
|
import fdroidserver.common
|
||
|
import fdroidserver.metadata
|
||
|
|
||
|
|
||
|
class RewritemetaTest(unittest.TestCase):
|
||
|
''' fdroidserver/metadata.py'''
|
||
|
|
||
|
def test_rewrite_yaml(self):
|
||
|
|
||
|
# setup/reset test dir if necessary and setup params
|
||
|
tmpdir = os.path.join(os.path.dirname(__file__), '..', '.testfiles')
|
||
|
if not os.path.exists(tmpdir):
|
||
|
os.makedirs(tmpdir)
|
||
|
testdir = tempfile.mkdtemp(prefix='test_rewrite_metadata_', dir=tmpdir)
|
||
|
fdroidserver.common.config = {'accepted_formats': ['txt', 'yml']}
|
||
|
|
||
|
# rewrite metadata
|
||
|
allapps = fdroidserver.metadata.read_metadata(xref=True)
|
||
|
for appid, app in allapps.items():
|
||
|
if appid == 'fake.ota.update':
|
||
|
fdroidserver.metadata.write_metadata(os.path.join(testdir, appid + '.yml'), app)
|
||
|
|
||
|
# assert rewrite result
|
||
|
with open(os.path.join(testdir, 'fake.ota.update.yml'), 'r', encoding='utf-8') as result:
|
||
|
with open('rewrite-metadata/fake.ota.update.yml', 'r', encoding='utf-8') as orig:
|
||
|
self.maxDiff = None
|
||
|
self.assertEqual(result.read(), orig.read())
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
parser = optparse.OptionParser()
|
||
|
parser.add_option("-v", "--verbose", action="store_true", default=False,
|
||
|
help="Spew out even more information than normal")
|
||
|
(fdroidserver.common.options, args) = parser.parse_args(['--verbose'])
|
||
|
|
||
|
newSuite = unittest.TestSuite()
|
||
|
newSuite.addTest(unittest.makeSuite(RewritemetaTest))
|
||
|
unittest.main()
|