mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-10-05 18:50:09 +02:00
parent
7bd171480f
commit
c67f8e349c
@ -989,7 +989,8 @@ def parse_json_metadata(mf, app):
|
|||||||
|
|
||||||
def parse_yaml_metadata(mf, app):
|
def parse_yaml_metadata(mf, app):
|
||||||
yamldata = yaml.load(mf, Loader=YamlLoader)
|
yamldata = yaml.load(mf, Loader=YamlLoader)
|
||||||
app.update(yamldata)
|
if yamldata:
|
||||||
|
app.update(yamldata)
|
||||||
return app
|
return app
|
||||||
|
|
||||||
|
|
||||||
|
@ -500,6 +500,7 @@ class UpdateTest(unittest.TestCase):
|
|||||||
print('tmptestsdir', tmptestsdir)
|
print('tmptestsdir', tmptestsdir)
|
||||||
os.chdir(tmptestsdir)
|
os.chdir(tmptestsdir)
|
||||||
os.mkdir('repo')
|
os.mkdir('repo')
|
||||||
|
os.mkdir('metadata')
|
||||||
shutil.copy(os.path.join(localmodule, 'tests', 'urzip.apk'), 'repo')
|
shutil.copy(os.path.join(localmodule, 'tests', 'urzip.apk'), 'repo')
|
||||||
|
|
||||||
config = dict()
|
config = dict()
|
||||||
@ -515,16 +516,23 @@ class UpdateTest(unittest.TestCase):
|
|||||||
fdroidserver.update.options.rename_apks = False
|
fdroidserver.update.options.rename_apks = False
|
||||||
fdroidserver.update.options.allow_disabled_algorithms = False
|
fdroidserver.update.options.allow_disabled_algorithms = False
|
||||||
|
|
||||||
apps = fdroidserver.metadata.read_metadata(xref=True)
|
|
||||||
self.assertEqual(0, len(apps))
|
|
||||||
knownapks = fdroidserver.common.KnownApks()
|
knownapks = fdroidserver.common.KnownApks()
|
||||||
apks, cachechanged = fdroidserver.update.process_apks({}, 'repo', knownapks, False)
|
apks, cachechanged = fdroidserver.update.process_apks({}, 'repo', knownapks, False)
|
||||||
self.assertEqual(1, len(apks))
|
self.assertEqual(1, len(apks))
|
||||||
apk = apks[0]
|
apk = apks[0]
|
||||||
|
|
||||||
|
testfile = 'metadata/info.guardianproject.urzip.yml'
|
||||||
|
# create empty 0 byte .yml file, run read_metadata, it should work
|
||||||
|
open(testfile, 'a').close()
|
||||||
|
apps = fdroidserver.metadata.read_metadata(xref=True)
|
||||||
|
self.assertEqual(1, len(apps))
|
||||||
|
os.remove(testfile)
|
||||||
|
|
||||||
# test using internal template
|
# test using internal template
|
||||||
|
apps = fdroidserver.metadata.read_metadata(xref=True)
|
||||||
|
self.assertEqual(0, len(apps))
|
||||||
fdroidserver.update.create_metadata_from_template(apk)
|
fdroidserver.update.create_metadata_from_template(apk)
|
||||||
self.assertTrue(os.path.exists('metadata/info.guardianproject.urzip.yml'))
|
self.assertTrue(os.path.exists(testfile))
|
||||||
apps = fdroidserver.metadata.read_metadata(xref=True)
|
apps = fdroidserver.metadata.read_metadata(xref=True)
|
||||||
self.assertEqual(1, len(apps))
|
self.assertEqual(1, len(apps))
|
||||||
for app in apps.values():
|
for app in apps.values():
|
||||||
@ -533,11 +541,11 @@ class UpdateTest(unittest.TestCase):
|
|||||||
break
|
break
|
||||||
|
|
||||||
# test using external template.yml
|
# test using external template.yml
|
||||||
os.remove('metadata/info.guardianproject.urzip.yml')
|
os.remove(testfile)
|
||||||
self.assertFalse(os.path.exists('metadata/info.guardianproject.urzip.yml'))
|
self.assertFalse(os.path.exists(testfile))
|
||||||
shutil.copy(os.path.join(localmodule, 'examples', 'template.yml'), tmptestsdir)
|
shutil.copy(os.path.join(localmodule, 'examples', 'template.yml'), tmptestsdir)
|
||||||
fdroidserver.update.create_metadata_from_template(apk)
|
fdroidserver.update.create_metadata_from_template(apk)
|
||||||
self.assertTrue(os.path.exists('metadata/info.guardianproject.urzip.yml'))
|
self.assertTrue(os.path.exists(testfile))
|
||||||
apps = fdroidserver.metadata.read_metadata(xref=True)
|
apps = fdroidserver.metadata.read_metadata(xref=True)
|
||||||
self.assertEqual(1, len(apps))
|
self.assertEqual(1, len(apps))
|
||||||
for app in apps.values():
|
for app in apps.values():
|
||||||
@ -545,7 +553,7 @@ class UpdateTest(unittest.TestCase):
|
|||||||
self.assertEqual(1, len(app['Categories']))
|
self.assertEqual(1, len(app['Categories']))
|
||||||
self.assertEqual('Internet', app['Categories'][0])
|
self.assertEqual('Internet', app['Categories'][0])
|
||||||
break
|
break
|
||||||
with open('metadata/info.guardianproject.urzip.yml') as fp:
|
with open(testfile) as fp:
|
||||||
data = yaml.load(fp)
|
data = yaml.load(fp)
|
||||||
self.assertEqual('urzip', data['Name'])
|
self.assertEqual('urzip', data['Name'])
|
||||||
self.assertEqual('urzip', data['Summary'])
|
self.assertEqual('urzip', data['Summary'])
|
||||||
|
Loading…
Reference in New Issue
Block a user