mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-11-18 20:50:10 +01:00
add test case for index.package_metadata()
This commit is contained in:
parent
0f151a3779
commit
b697845bda
@ -23,6 +23,7 @@ if localmodule not in sys.path:
|
|||||||
|
|
||||||
import fdroidserver.common
|
import fdroidserver.common
|
||||||
import fdroidserver.index
|
import fdroidserver.index
|
||||||
|
import fdroidserver.metadata
|
||||||
import fdroidserver.net
|
import fdroidserver.net
|
||||||
import fdroidserver.signindex
|
import fdroidserver.signindex
|
||||||
import fdroidserver.publish
|
import fdroidserver.publish
|
||||||
@ -51,6 +52,7 @@ class IndexTest(unittest.TestCase):
|
|||||||
config['jarsigner'] = fdroidserver.common.find_sdk_tools_cmd('jarsigner')
|
config['jarsigner'] = fdroidserver.common.find_sdk_tools_cmd('jarsigner')
|
||||||
fdroidserver.common.config = config
|
fdroidserver.common.config = config
|
||||||
fdroidserver.signindex.config = config
|
fdroidserver.signindex.config = config
|
||||||
|
fdroidserver.update.config = config
|
||||||
|
|
||||||
if not os.path.exists('repo/index-v1.jar'):
|
if not os.path.exists('repo/index-v1.jar'):
|
||||||
fdroidserver.signindex.sign_index(
|
fdroidserver.signindex.sign_index(
|
||||||
@ -509,6 +511,40 @@ class IndexTest(unittest.TestCase):
|
|||||||
i, fdroidserver.common.load_stats_fdroid_signing_key_fingerprints()
|
i, fdroidserver.common.load_stats_fdroid_signing_key_fingerprints()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def test_package_metadata(self):
|
||||||
|
"""A smoke check and format check of index.package_metadata()"""
|
||||||
|
def _kn(key):
|
||||||
|
return key[0].lower() + key[1:]
|
||||||
|
|
||||||
|
apps = fdroidserver.metadata.read_metadata()
|
||||||
|
fdroidserver.update.insert_localized_app_metadata(apps)
|
||||||
|
|
||||||
|
# smoke check all metadata files
|
||||||
|
for appid, app in apps.items():
|
||||||
|
metadata = fdroidserver.index.package_metadata(app, 'repo')
|
||||||
|
for k in ('Description', 'Name', 'Summary', 'video'):
|
||||||
|
if app.get(k):
|
||||||
|
self.assertTrue(isinstance(metadata[_kn(k)], dict))
|
||||||
|
for k in ('AuthorWebSite', 'IssueTracker', 'Translation', 'WebSite'):
|
||||||
|
if app.get(k):
|
||||||
|
self.assertTrue(isinstance(metadata[_kn(k)], str))
|
||||||
|
|
||||||
|
# make sure these known values were properly parsed and included
|
||||||
|
appid = 'info.guardianproject.urzip'
|
||||||
|
app = apps[appid]
|
||||||
|
metadata = fdroidserver.index.package_metadata(app, 'repo')
|
||||||
|
# files
|
||||||
|
self.assertEqual(36027, metadata['featureGraphic']['en-US']['size'])
|
||||||
|
self.assertEqual(1413, metadata['icon']['en-US']['size'])
|
||||||
|
# localized strings
|
||||||
|
self.assertEqual({'en-US': 'title'}, metadata['name'])
|
||||||
|
self.assertEqual({'en-US': 'video'}, metadata['video'])
|
||||||
|
# strings
|
||||||
|
self.assertEqual(
|
||||||
|
'https://dev.guardianproject.info/projects/urzip',
|
||||||
|
metadata['webSite'],
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
os.chdir(os.path.dirname(__file__))
|
os.chdir(os.path.dirname(__file__))
|
||||||
|
Loading…
Reference in New Issue
Block a user