mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-10-05 00:41:06 +03:00
add test for metadata parsing based on a parse output to a pickle
This is a test to cover future modifications of the .txt metadata parsing. The pickle file was generated by just dumping the current parsed metadata, so this test will always succeed if the parsing is not changed.
This commit is contained in:
parent
eeb8ba02b0
commit
1bbae4cd9e
3 changed files with 934 additions and 0 deletions
54
tests/metadata.TestCase
Executable file
54
tests/metadata.TestCase
Executable file
|
@ -0,0 +1,54 @@
|
|||
#!/usr/bin/env python2
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# http://www.drdobbs.com/testing/unit-testing-with-python/240165163
|
||||
|
||||
import inspect
|
||||
import optparse
|
||||
import os
|
||||
import pickle
|
||||
import sys
|
||||
import unittest
|
||||
|
||||
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)
|
||||
|
||||
import fdroidserver.common
|
||||
import fdroidserver.metadata
|
||||
|
||||
|
||||
class MetadataTest(unittest.TestCase):
|
||||
'''fdroidserver/metadata.py'''
|
||||
|
||||
def test_read_metadata(self):
|
||||
testsdir = os.path.dirname(__file__)
|
||||
os.chdir(testsdir)
|
||||
|
||||
self.maxDiff = None
|
||||
|
||||
# these only need to be set to prevent code running on None. The
|
||||
# values are not used in metadata.py
|
||||
config = dict()
|
||||
config['sdk_path'] = '/opt/android-sdk'
|
||||
config['ndk_paths'] = dict()
|
||||
fdroidserver.common.config = config
|
||||
|
||||
apps = fdroidserver.metadata.read_metadata(xref=True)
|
||||
for appid in ('org.smssecure.smssecure', 'org.adaway'):
|
||||
frompickle = pickle.load(open(os.path.join('metadata', appid + '.pickle')))
|
||||
self.assertTrue(appid in apps.keys())
|
||||
self.assertEquals(apps[appid], frompickle)
|
||||
|
||||
|
||||
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(MetadataTest))
|
||||
unittest.main()
|
Loading…
Add table
Add a link
Reference in a new issue