split out options from read_config()

There is no longer any reason for these to be intertwined.

This deliberately avoids touching some files as much as possible because
they are super tangled and due to be replaced.  Those files are:

* fdroidserver/build.py
* fdroidserver/update.py

# Conflicts:
#	tests/testcommon.py

# Conflicts:
#	fdroidserver/btlog.py
#	fdroidserver/import_subcommand.py
This commit is contained in:
Hans-Christoph Steiner 2024-05-08 16:26:46 +02:00
parent 685efa23d4
commit 18f3acc32e
53 changed files with 317 additions and 265 deletions

View file

@ -30,7 +30,7 @@ import fdroidserver.build
import fdroidserver.common
import fdroidserver.metadata
import fdroidserver.scanner
from testcommon import TmpCwd, mkdtemp, mock_open_to_str
from testcommon import TmpCwd, mkdtemp, mock_open_to_str, parse_args_for_test
class ScannerTest(unittest.TestCase):
@ -46,8 +46,8 @@ class ScannerTest(unittest.TestCase):
self._td.cleanup()
def test_scan_source_files(self):
fdroidserver.scanner.options = mock.Mock()
fdroidserver.scanner.options.json = False
fdroidserver.common.options = mock.Mock()
fdroidserver.common.options.json = False
source_files = os.path.join(self.basedir, 'source-files')
projects = {
'OtakuWorld': 2,
@ -102,8 +102,8 @@ class ScannerTest(unittest.TestCase):
"""Check for sneaking in banned maven repos"""
os.chdir(self.testdir)
fdroidserver.scanner.config = None
fdroidserver.scanner.options = mock.Mock()
fdroidserver.scanner.options.json = True
fdroidserver.common.options = mock.Mock()
fdroidserver.common.options.json = True
with open('build.gradle', 'w', encoding='utf-8') as fp:
fp.write(
textwrap.dedent(
@ -135,8 +135,8 @@ class ScannerTest(unittest.TestCase):
os.chdir(abs_build_dir)
fdroidserver.scanner.config = None
fdroidserver.scanner.options = mock.Mock()
fdroidserver.scanner.options.json = True
fdroidserver.common.options = mock.Mock()
fdroidserver.common.options.json = True
keep = [
'arg.jar',
@ -235,7 +235,7 @@ class ScannerTest(unittest.TestCase):
fdroidserver.build.options.scan_binary = False
fdroidserver.build.options.notarball = True
fdroidserver.build.options.skipscan = False
fdroidserver.scanner.options = fdroidserver.build.options
fdroidserver.common.options = fdroidserver.build.options
app = fdroidserver.metadata.App()
app.id = 'mocked.app.id'
@ -314,7 +314,7 @@ class ScannerTest(unittest.TestCase):
"""Check that the scanner can handle scandelete with gradle files with multiple problems"""
os.chdir(self.testdir)
fdroidserver.scanner.config = None
fdroidserver.scanner.options = mock.Mock()
fdroidserver.common.options = mock.Mock()
build = fdroidserver.metadata.Build()
build.scandelete = ['build.gradle']
with open('build.gradle', 'w', encoding='utf-8') as fp:
@ -732,15 +732,15 @@ class Test_ScannerTool(unittest.TestCase):
refresh.assert_not_called()
def test_refresh_true(self):
fdroidserver.scanner.options = mock.Mock()
fdroidserver.scanner.options.refresh_scanner = True
fdroidserver.common.options = mock.Mock()
fdroidserver.common.options.refresh_scanner = True
with mock.patch('fdroidserver.scanner.ScannerTool.refresh') as refresh:
fdroidserver.scanner.ScannerTool()
refresh.assert_called_once()
def test_refresh_false(self):
fdroidserver.scanner.options = mock.Mock()
fdroidserver.scanner.options.refresh_scanner = False
fdroidserver.common.options = mock.Mock()
fdroidserver.common.options.refresh_scanner = False
with mock.patch('fdroidserver.scanner.ScannerTool.refresh') as refresh:
fdroidserver.scanner.ScannerTool()
refresh.assert_not_called()
@ -753,8 +753,8 @@ class Test_ScannerTool(unittest.TestCase):
refresh.assert_called_once()
def test_refresh_options_overrides_config(self):
fdroidserver.scanner.options = mock.Mock()
fdroidserver.scanner.options.refresh_scanner = True
fdroidserver.common.options = mock.Mock()
fdroidserver.common.options.refresh_scanner = True
os.chdir(self.testdir)
pathlib.Path('config.yml').write_text('refresh_scanner: false')
with mock.patch('fdroidserver.scanner.ScannerTool.refresh') as refresh:
@ -824,7 +824,7 @@ if __name__ == "__main__":
default=False,
help="Spew out even more information than normal",
)
fdroidserver.common.options = parser.parse_args(['--verbose'])
parse_args_for_test(parser, sys.argv)
newSuite = unittest.TestSuite()
newSuite.addTests(