mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-11-04 22:40:29 +03:00
common tests: use patch.dict for os.environ
This commit is contained in:
parent
d29a486e31
commit
6ba40b7349
1 changed files with 39 additions and 37 deletions
|
|
@ -58,8 +58,6 @@ class CommonTest(unittest.TestCase):
|
||||||
fdroidserver.common.config = None
|
fdroidserver.common.config = None
|
||||||
fdroidserver.common.options = mock.Mock()
|
fdroidserver.common.options = mock.Mock()
|
||||||
fdroidserver.common.options.verbose = False
|
fdroidserver.common.options.verbose = False
|
||||||
self.path = os.environ['PATH']
|
|
||||||
self.android_home = os.environ.get('ANDROID_HOME')
|
|
||||||
self._td = mkdtemp()
|
self._td = mkdtemp()
|
||||||
self.testdir = self._td.name
|
self.testdir = self._td.name
|
||||||
|
|
||||||
|
|
@ -67,9 +65,6 @@ class CommonTest(unittest.TestCase):
|
||||||
os.chdir(self.basedir)
|
os.chdir(self.basedir)
|
||||||
self._td.cleanup()
|
self._td.cleanup()
|
||||||
shutil.rmtree(self.tmpdir)
|
shutil.rmtree(self.tmpdir)
|
||||||
os.environ['PATH'] = self.path
|
|
||||||
if self.android_home:
|
|
||||||
os.environ['ANDROID_HOME'] = self.android_home
|
|
||||||
|
|
||||||
def test_parse_human_readable_size(self):
|
def test_parse_human_readable_size(self):
|
||||||
for k, v in (
|
for k, v in (
|
||||||
|
|
@ -695,10 +690,11 @@ class CommonTest(unittest.TestCase):
|
||||||
usr_bin_apksigner = '/usr/bin/apksigner'
|
usr_bin_apksigner = '/usr/bin/apksigner'
|
||||||
if not os.path.isfile(usr_bin_apksigner):
|
if not os.path.isfile(usr_bin_apksigner):
|
||||||
self.skipTest('SKIPPING since %s is not installed!' % usr_bin_apksigner)
|
self.skipTest('SKIPPING since %s is not installed!' % usr_bin_apksigner)
|
||||||
os.environ['PATH'] = '/usr/local/bin:/usr/bin:/bin'
|
with mock.patch.dict(os.environ, clear=True):
|
||||||
config = {}
|
os.environ['PATH'] = '/usr/local/bin:/usr/bin:/bin'
|
||||||
fdroidserver.common.find_apksigner(config)
|
config = {}
|
||||||
self.assertEqual(usr_bin_apksigner, config.get('apksigner'))
|
fdroidserver.common.find_apksigner(config)
|
||||||
|
self.assertEqual(usr_bin_apksigner, config.get('apksigner'))
|
||||||
|
|
||||||
def test_find_apksigner_config_overrides(self):
|
def test_find_apksigner_config_overrides(self):
|
||||||
"""apksigner should come from config before any auto-detection"""
|
"""apksigner should come from config before any auto-detection"""
|
||||||
|
|
@ -711,10 +707,11 @@ class CommonTest(unittest.TestCase):
|
||||||
os.chmod(do_not_use, 0o0755)
|
os.chmod(do_not_use, 0o0755)
|
||||||
apksigner = os.path.join(self.tmpdir, 'apksigner')
|
apksigner = os.path.join(self.tmpdir, 'apksigner')
|
||||||
config = {'apksigner': apksigner}
|
config = {'apksigner': apksigner}
|
||||||
os.environ['ANDROID_HOME'] = android_home
|
with mock.patch.dict(os.environ, clear=True):
|
||||||
os.environ['PATH'] = '%s:/usr/local/bin:/usr/bin:/bin' % android_home
|
os.environ['ANDROID_HOME'] = android_home
|
||||||
fdroidserver.common.find_apksigner(config)
|
os.environ['PATH'] = '%s:/usr/local/bin:/usr/bin:/bin' % android_home
|
||||||
self.assertEqual(apksigner, config.get('apksigner'))
|
fdroidserver.common.find_apksigner(config)
|
||||||
|
self.assertEqual(apksigner, config.get('apksigner'))
|
||||||
|
|
||||||
def test_find_apksigner_prefer_path(self):
|
def test_find_apksigner_prefer_path(self):
|
||||||
"""apksigner should come from PATH before ANDROID_HOME"""
|
"""apksigner should come from PATH before ANDROID_HOME"""
|
||||||
|
|
@ -732,10 +729,11 @@ class CommonTest(unittest.TestCase):
|
||||||
os.chmod(do_not_use, 0o0755)
|
os.chmod(do_not_use, 0o0755)
|
||||||
|
|
||||||
config = {'sdk_path': android_home}
|
config = {'sdk_path': android_home}
|
||||||
os.environ['ANDROID_HOME'] = android_home
|
with mock.patch.dict(os.environ, clear=True):
|
||||||
os.environ['PATH'] = '%s:/usr/local/bin:/usr/bin:/bin' % os.path.dirname(apksigner)
|
os.environ['ANDROID_HOME'] = android_home
|
||||||
fdroidserver.common.find_apksigner(config)
|
os.environ['PATH'] = '%s:/usr/local/bin:/usr/bin:/bin' % os.path.dirname(apksigner)
|
||||||
self.assertEqual(apksigner, config.get('apksigner'))
|
fdroidserver.common.find_apksigner(config)
|
||||||
|
self.assertEqual(apksigner, config.get('apksigner'))
|
||||||
|
|
||||||
def test_find_apksigner_prefer_newest(self):
|
def test_find_apksigner_prefer_newest(self):
|
||||||
"""apksigner should be the newest available in ANDROID_HOME"""
|
"""apksigner should be the newest available in ANDROID_HOME"""
|
||||||
|
|
@ -755,9 +753,10 @@ class CommonTest(unittest.TestCase):
|
||||||
os.chmod(do_not_use, 0o0755)
|
os.chmod(do_not_use, 0o0755)
|
||||||
|
|
||||||
config = {'sdk_path': android_home}
|
config = {'sdk_path': android_home}
|
||||||
os.environ['PATH'] = '/fake/path/to/avoid/conflicts'
|
with mock.patch.dict(os.environ, clear=True):
|
||||||
fdroidserver.common.find_apksigner(config)
|
os.environ['PATH'] = '/fake/path/to/avoid/conflicts'
|
||||||
self.assertEqual(apksigner, config.get('apksigner'))
|
fdroidserver.common.find_apksigner(config)
|
||||||
|
self.assertEqual(apksigner, config.get('apksigner'))
|
||||||
|
|
||||||
def test_find_apksigner_system_package_android_home(self):
|
def test_find_apksigner_system_package_android_home(self):
|
||||||
"""Test that apksigner v30 or newer is found"""
|
"""Test that apksigner v30 or newer is found"""
|
||||||
|
|
@ -779,13 +778,14 @@ class CommonTest(unittest.TestCase):
|
||||||
if LooseVersion(version) < LooseVersion(min_version):
|
if LooseVersion(version) < LooseVersion(min_version):
|
||||||
self.skipTest('SKIPPING since build-tools %s or higher is required!' % min_version)
|
self.skipTest('SKIPPING since build-tools %s or higher is required!' % min_version)
|
||||||
fdroidserver.common.config = {'sdk_path': android_home}
|
fdroidserver.common.config = {'sdk_path': android_home}
|
||||||
os.environ['PATH'] = '/fake/path/to/avoid/conflicts'
|
with mock.patch.dict(os.environ, clear=True):
|
||||||
config = fdroidserver.common.read_config()
|
os.environ['PATH'] = '/fake/path/to/avoid/conflicts'
|
||||||
fdroidserver.common.find_apksigner(config)
|
config = fdroidserver.common.read_config()
|
||||||
self.assertEqual(
|
fdroidserver.common.find_apksigner(config)
|
||||||
os.path.join(android_home, 'build-tools'),
|
self.assertEqual(
|
||||||
os.path.dirname(os.path.dirname(config.get('apksigner'))),
|
os.path.join(android_home, 'build-tools'),
|
||||||
)
|
os.path.dirname(os.path.dirname(config.get('apksigner'))),
|
||||||
|
)
|
||||||
|
|
||||||
def test_sign_apk(self):
|
def test_sign_apk(self):
|
||||||
config = fdroidserver.common.read_config(fdroidserver.common.options)
|
config = fdroidserver.common.read_config(fdroidserver.common.options)
|
||||||
|
|
@ -1792,13 +1792,14 @@ class CommonTest(unittest.TestCase):
|
||||||
def test_with_config_yml_with_env_var(self):
|
def test_with_config_yml_with_env_var(self):
|
||||||
"""Make sure it is possible to use config.yml alone."""
|
"""Make sure it is possible to use config.yml alone."""
|
||||||
os.chdir(self.tmpdir)
|
os.chdir(self.tmpdir)
|
||||||
os.environ['SECRET'] = 'mysecretpassword'
|
with mock.patch.dict(os.environ):
|
||||||
with open('config.yml', 'w') as fp:
|
os.environ['SECRET'] = 'mysecretpassword'
|
||||||
fp.write("""keypass: {'env': 'SECRET'}""")
|
with open('config.yml', 'w') as fp:
|
||||||
self.assertTrue(os.path.exists('config.yml'))
|
fp.write("""keypass: {'env': 'SECRET'}""")
|
||||||
self.assertFalse(os.path.exists('config.py'))
|
self.assertTrue(os.path.exists('config.yml'))
|
||||||
config = fdroidserver.common.read_config(fdroidserver.common.options)
|
self.assertFalse(os.path.exists('config.py'))
|
||||||
self.assertEqual(os.getenv('SECRET', 'fail'), config.get('keypass'))
|
config = fdroidserver.common.read_config(fdroidserver.common.options)
|
||||||
|
self.assertEqual(os.getenv('SECRET', 'fail'), config.get('keypass'))
|
||||||
|
|
||||||
def test_with_config_py(self):
|
def test_with_config_py(self):
|
||||||
"""Make sure it is still possible to use config.py alone."""
|
"""Make sure it is still possible to use config.py alone."""
|
||||||
|
|
@ -2338,9 +2339,10 @@ class CommonTest(unittest.TestCase):
|
||||||
fdroidserver.common.config = {'ndk_paths': {}}
|
fdroidserver.common.config = {'ndk_paths': {}}
|
||||||
build = fdroidserver.metadata.Build()
|
build = fdroidserver.metadata.Build()
|
||||||
|
|
||||||
os.environ['PATH'] = '/usr/bin:/usr/sbin'
|
with mock.patch.dict(os.environ, clear=True):
|
||||||
fdroidserver.common.set_FDroidPopen_env(build)
|
os.environ['PATH'] = '/usr/bin:/usr/sbin'
|
||||||
self.assertNotIn('', os.getenv('PATH').split(os.pathsep))
|
fdroidserver.common.set_FDroidPopen_env(build)
|
||||||
|
self.assertNotIn('', os.getenv('PATH').split(os.pathsep))
|
||||||
|
|
||||||
def test_is_repo_file(self):
|
def test_is_repo_file(self):
|
||||||
is_repo_file = fdroidserver.common.is_repo_file
|
is_repo_file = fdroidserver.common.is_repo_file
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue