From 0885303672e2beb4adc5a9fc56bd5a05d1711cfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20P=C3=B6hn?= Date: Fri, 26 Jul 2019 14:07:22 +0200 Subject: [PATCH] add additional rewritemeta test for yml --- tests/rewritemeta.TestCase | 39 +++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/tests/rewritemeta.TestCase b/tests/rewritemeta.TestCase index c8b4b236..128c3d9d 100755 --- a/tests/rewritemeta.TestCase +++ b/tests/rewritemeta.TestCase @@ -45,8 +45,7 @@ class RewriteMetaTest(unittest.TestCase): def test_rewrite_scenario_trivial(self): - sys.argv.append('a') - sys.argv.append('b') + sys.argv = ['rewritemeta', 'a', 'b'] with tempfile.TemporaryDirectory() as tmpdir, TmpCwd(tmpdir): os.mkdir('metadata') @@ -81,15 +80,9 @@ class RewriteMetaTest(unittest.TestCase): UpdateCheckMode: None ''')) - # cleanup argv - sys.argv.remove('b') - sys.argv.remove('a') - def test_rewrite_scenario_txt_to_yml(self): - sys.argv.append('--to') - sys.argv.append('yml') - sys.argv.append('a') + sys.argv = ['rewritemeta', '--to', 'yml', 'a'] with tempfile.TemporaryDirectory() as tmpdir, TmpCwd(tmpdir): os.mkdir('metadata') @@ -108,15 +101,9 @@ class RewriteMetaTest(unittest.TestCase): UpdateCheckMode: None ''')) - sys.argv.remove('a') - sys.argv.remove('yml') - sys.argv.remove('--to') - def test_rewrite_scenario_txt_to_yml_no_ruamel(self): - sys.argv.append('--to') - sys.argv.append('yml') - sys.argv.append('a') + sys.argv = ['rewritemeta', '--to', 'yml', 'a'] with tempfile.TemporaryDirectory() as tmpdir, TmpCwd(tmpdir): os.mkdir('metadata') @@ -134,9 +121,23 @@ class RewriteMetaTest(unittest.TestCase): self.assertEqual(f.read(), textwrap.dedent('''\ Auto Name:a''')) - sys.argv.remove('a') - sys.argv.remove('yml') - sys.argv.remove('--to') + def test_rewrite_scenario_yml_no_ruamel(self): + sys.argv = ['rewritemeta', 'a'] + with tempfile.TemporaryDirectory() as tmpdir, TmpCwd(tmpdir): + os.mkdir('metadata') + with open('metadata/a.yml', 'w') as f: + f.write('AutoName: a') + + def boom(mf, app): + raise FDroidException() + + with mock.patch('fdroidserver.metadata.write_yaml', boom): + with self.assertRaises(FDroidException): + rewritemeta.main() + + with open('metadata/a.yml') as f: + self.assertEqual(f.read(), textwrap.dedent('''\ + AutoName: a''')) if __name__ == "__main__":