From 723bd110a68c024933255c99bda39eab8dbaef53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20P=C3=B6hn?= Date: Thu, 11 Jul 2019 01:46:18 +0200 Subject: [PATCH] test that yaml parsing does not accept provides --- tests/metadata.TestCase | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/metadata.TestCase b/tests/metadata.TestCase index d7b72f71..d669c567 100755 --- a/tests/metadata.TestCase +++ b/tests/metadata.TestCase @@ -367,6 +367,24 @@ class MetadataTest(unittest.TestCase): 'prebuild': "a && b && " "sed -i 's,a,b,'"}]}) + def test_parse_yaml_provides_should_raise_exception(self): + mf = io.StringIO(textwrap.dedent("""\ + Provides: this.is.deprecated + AutoName: F-Droid + RepoType: git + Builds: + - versionCode: 1 + versionName: v0.1.0 + prebuild: |- + a && b && sed -i 's,a,b,' + """)) + mf.name = 'mock_filename.yaml' + mf.seek(0) + result = {} + with mock.patch('fdroidserver.metadata.warnings_action', 'error'): + with self.assertRaises(fdroidserver.metadata.MetaDataException): + fdroidserver.metadata.parse_yaml_metadata(mf, result) + def test_write_yaml_1_line_scripts_as_string(self): mf = io.StringIO() app = fdroidserver.metadata.App()