mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-09-13 22:42:29 +03:00
Merge branch 'mode_version' into 'master'
Support AutoUpdateMode: Version without pattern See merge request fdroid/fdroidserver!931
This commit is contained in:
commit
bf4feab877
3 changed files with 34 additions and 2 deletions
|
@ -492,7 +492,7 @@ def checkupdates_app(app):
|
||||||
logging.warning("Can't auto-update app with no CurrentVersionCode: " + app.id)
|
logging.warning("Can't auto-update app with no CurrentVersionCode: " + app.id)
|
||||||
elif mode in ('None', 'Static'):
|
elif mode in ('None', 'Static'):
|
||||||
pass
|
pass
|
||||||
elif mode.startswith('Version '):
|
elif mode.startswith('Version'):
|
||||||
pattern = mode[8:]
|
pattern = mode[8:]
|
||||||
suffix = ''
|
suffix = ''
|
||||||
if pattern.startswith('+'):
|
if pattern.startswith('+'):
|
||||||
|
|
|
@ -447,7 +447,7 @@ valuetypes = {
|
||||||
["AntiFeatures"]),
|
["AntiFeatures"]),
|
||||||
|
|
||||||
FieldValidator("Auto Update Mode",
|
FieldValidator("Auto Update Mode",
|
||||||
r"^(Version .+|None)$",
|
r"^(Version.*|None)$",
|
||||||
["AutoUpdateMode"]),
|
["AutoUpdateMode"]),
|
||||||
|
|
||||||
FieldValidator("Update Check Mode",
|
FieldValidator("Update Check Mode",
|
||||||
|
|
|
@ -106,6 +106,38 @@ class CheckupdatesTest(unittest.TestCase):
|
||||||
fdroidserver.checkupdates.checkupdates_app(app)
|
fdroidserver.checkupdates.checkupdates_app(app)
|
||||||
wrmock.assert_called_with(app.metadatapath, app)
|
wrmock.assert_called_with(app.metadatapath, app)
|
||||||
|
|
||||||
|
def test_checkupdates_app_tags(self):
|
||||||
|
fdroidserver.checkupdates.options = mock.Mock()
|
||||||
|
fdroidserver.checkupdates.options.auto = 'bleh'
|
||||||
|
fdroidserver.checkupdates.config = {}
|
||||||
|
|
||||||
|
app = fdroidserver.metadata.App()
|
||||||
|
app.id = 'loop.starts.shooting'
|
||||||
|
app.metadatapath = 'metadata/' + app.id + '.yml'
|
||||||
|
app.CurrentVersion = '1.1.8'
|
||||||
|
app.CurrentVersionCode = 10108
|
||||||
|
app.UpdateCheckMode = 'Tags'
|
||||||
|
app.AutoUpdateMode = 'Version'
|
||||||
|
|
||||||
|
build = fdroidserver.metadata.Build()
|
||||||
|
build.versionCode = app.CurrentVersionCode
|
||||||
|
build.versionName = app.CurrentVersion
|
||||||
|
app['Builds'].append(build)
|
||||||
|
|
||||||
|
with mock.patch('fdroidserver.checkupdates.check_tags', lambda app,
|
||||||
|
pattern: (None, 'bla', None)):
|
||||||
|
fdroidserver.checkupdates.checkupdates_app(app)
|
||||||
|
|
||||||
|
with mock.patch('fdroidserver.checkupdates.check_tags', lambda app,
|
||||||
|
pattern: ('1.1.9', 10109, 'v1.1.9')):
|
||||||
|
with mock.patch('fdroidserver.metadata.write_metadata',
|
||||||
|
mock.Mock()):
|
||||||
|
with mock.patch('subprocess.call', lambda cmd: 0):
|
||||||
|
fdroidserver.checkupdates.checkupdates_app(app)
|
||||||
|
build = app['Builds'][-1]
|
||||||
|
self.assertEqual(build.versionName, '1.1.9')
|
||||||
|
self.assertEqual(build.commit, 'v1.1.9')
|
||||||
|
|
||||||
def test_check_http(self):
|
def test_check_http(self):
|
||||||
fdroidserver.checkupdates.options = mock.Mock()
|
fdroidserver.checkupdates.options = mock.Mock()
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue