mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-11-04 14:30:30 +03:00
checkupdates: make merge-request per appid on push
This commit is contained in:
parent
66a340fe89
commit
9a34590e95
2 changed files with 111 additions and 38 deletions
|
|
@ -339,9 +339,14 @@ class CheckupdatesTest(unittest.TestCase):
|
|||
|
||||
git_remote_upstream = os.path.join(testdir, 'git_remote_upstream')
|
||||
upstream_repo = git.Repo.init(git_remote_upstream, bare=True)
|
||||
with upstream_repo.config_writer() as cw:
|
||||
cw.set_value('receive', 'advertisePushOptions', True)
|
||||
git_repo.create_remote('upstream', 'file://' + git_remote_upstream)
|
||||
|
||||
git_remote_origin = os.path.join(testdir, 'git_remote_origin')
|
||||
origin_repo = git.Repo.init(git_remote_origin, bare=True)
|
||||
with origin_repo.config_writer() as cw:
|
||||
cw.set_value('receive', 'advertisePushOptions', True)
|
||||
git_repo.create_remote('origin', 'file://' + git_remote_origin)
|
||||
|
||||
return git_repo, origin_repo, upstream_repo
|
||||
|
|
@ -425,9 +430,38 @@ class CheckupdatesTest(unittest.TestCase):
|
|||
self.assertNotIn(appid, git_repo.remotes.origin.refs)
|
||||
self.assertNotIn(appid, git_repo.remotes.upstream.refs)
|
||||
|
||||
def test_make_merge_request(self):
|
||||
testdir = self.testdir.name
|
||||
os.chdir(testdir)
|
||||
@mock.patch('sys.exit')
|
||||
@mock.patch('fdroidserver.metadata.read_metadata')
|
||||
def test_merge_requests_flag(self, read_metadata, sys_exit):
|
||||
def _sys_exit(return_code=0):
|
||||
assert return_code != 0
|
||||
raise fdroidserver.exception.FDroidException('sys.exit() ran')
|
||||
|
||||
def _read_metadata(a=None, b=None):
|
||||
raise StopIteration('read_metadata() ran, test is successful')
|
||||
|
||||
appid = 'com.example'
|
||||
# read_metadata.return_value = dict() # {appid: dict()}
|
||||
read_metadata.side_effect = _read_metadata
|
||||
sys_exit.side_effect = _sys_exit
|
||||
|
||||
# set up clean git repo
|
||||
os.chdir(self.testdir.name)
|
||||
git_repo = git.Repo.init()
|
||||
open('foo', 'w').close()
|
||||
git_repo.git.add(all=True)
|
||||
git_repo.index.commit("all files")
|
||||
|
||||
with mock.patch('sys.argv', ['fdroid checkupdates', '--merge-request']):
|
||||
with self.assertRaises(fdroidserver.exception.FDroidException):
|
||||
fdroidserver.checkupdates.main()
|
||||
sys_exit.assert_called()
|
||||
|
||||
sys_exit.reset_mock()
|
||||
with mock.patch('sys.argv', ['fdroid checkupdates', '--merge-request', appid]):
|
||||
with self.assertRaises(StopIteration):
|
||||
fdroidserver.checkupdates.main()
|
||||
sys_exit.assert_not_called()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue