diff options
Diffstat (limited to 'testing/mozbase/mozversion/tests/test_apk.py')
-rw-r--r-- | testing/mozbase/mozversion/tests/test_apk.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/testing/mozbase/mozversion/tests/test_apk.py b/testing/mozbase/mozversion/tests/test_apk.py new file mode 100644 index 000000000..37fcb0bcf --- /dev/null +++ b/testing/mozbase/mozversion/tests/test_apk.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python + +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this file, +# You can obtain one at http://mozilla.org/MPL/2.0/. + +import mozfile +import unittest +import zipfile +from mozversion import get_version + + +class ApkTest(unittest.TestCase): + """test getting version information from an android .apk""" + + application_changeset = 'a' * 40 + platform_changeset = 'b' * 40 + + def create_apk_zipfiles(self, zfile): + zfile.writestr('application.ini', + """[App]\nSourceStamp=%s\n""" % self.application_changeset) + zfile.writestr('platform.ini', + """[Build]\nSourceStamp=%s\n""" % self.platform_changeset) + zfile.writestr('AndroidManifest.xml', '') + + def test_basic(self): + with mozfile.NamedTemporaryFile() as f: + with zipfile.ZipFile(f.name, 'w') as z: + self.create_apk_zipfiles(z) + v = get_version(f.name) + self.assertEqual(v.get('application_changeset'), self.application_changeset) + self.assertEqual(v.get('platform_changeset'), self.platform_changeset) + + def test_with_package_name(self): + with mozfile.NamedTemporaryFile() as f: + with zipfile.ZipFile(f.name, 'w') as z: + self.create_apk_zipfiles(z) + z.writestr('package-name.txt', "org.mozilla.fennec") + v = get_version(f.name) + self.assertEqual(v.get('package_name'), "org.mozilla.fennec") + +if __name__ == '__main__': + unittest.main() |