Show More
@@ -44,8 +44,9 b" SOCIAL_PLUGINS_LIST = ['github', 'bitbuc" | |||
|
44 | 44 | |
|
45 | 45 | |
|
46 | 46 | class SettingNotFound(Exception): |
|
47 | def __init__(self): | |
|
48 | super(SettingNotFound, self).__init__('Setting is not found') | |
|
47 | def __init__(self, setting_id): | |
|
48 | msg = 'Setting `{}` is not found'.format(setting_id) | |
|
49 | super(SettingNotFound, self).__init__(msg) | |
|
49 | 50 | |
|
50 | 51 | |
|
51 | 52 | class SettingsModel(BaseModel): |
@@ -155,7 +156,7 b' class SettingsModel(BaseModel):' | |||
|
155 | 156 | def delete_ui(self, id_): |
|
156 | 157 | ui = self.UiDbModel.get(id_) |
|
157 | 158 | if not ui: |
|
158 | raise SettingNotFound() | |
|
159 | raise SettingNotFound(id_) | |
|
159 | 160 | Session().delete(ui) |
|
160 | 161 | |
|
161 | 162 | def get_setting_by_name(self, name): |
@@ -635,7 +636,13 b' class VcsSettingsModel(object):' | |||
|
635 | 636 | |
|
636 | 637 | @assert_repo_settings |
|
637 | 638 | def delete_repo_svn_pattern(self, id_): |
|
639 | ui = self.repo_settings.UiDbModel.get(id_) | |
|
640 | if ui and ui.repository.repo_name == self.repo_settings.repo: | |
|
641 | # only delete if it's the same repo as initialized settings | |
|
638 | 642 | self.repo_settings.delete_ui(id_) |
|
643 | else: | |
|
644 | # raise error as if we wouldn't find this option | |
|
645 | self.repo_settings.delete_ui(-1) | |
|
639 | 646 | |
|
640 | 647 | def delete_global_svn_pattern(self, id_): |
|
641 | 648 | self.global_settings.delete_ui(id_) |
@@ -491,7 +491,7 b' class TestDeleteUiValue(object):' | |||
|
491 | 491 | model = SettingsModel() |
|
492 | 492 | with pytest.raises(SettingNotFound) as exc_info: |
|
493 | 493 | model.delete_ui(id_) |
|
494 | assert exc_info.value.message == 'Setting is not found' | |
|
494 | assert exc_info.value.message == 'Setting `{}` is not found'.format(id_) | |
|
495 | 495 | |
|
496 | 496 | def test_delete_ui_when_repo_is_not_set(self, settings_util): |
|
497 | 497 | model = SettingsModel() |
@@ -635,13 +635,24 b' class TestCreateOrUpdateGlobalGitSetting' | |||
|
635 | 635 | |
|
636 | 636 | |
|
637 | 637 | class TestDeleteRepoSvnPattern(object): |
|
638 | def test_success_when_repo_is_set(self, backend_svn): | |
|
638 | def test_success_when_repo_is_set(self, backend_svn, settings_util): | |
|
639 | repo = backend_svn.create_repo() | |
|
640 | repo_name = repo.repo_name | |
|
641 | ||
|
642 | model = VcsSettingsModel(repo=repo_name) | |
|
643 | entry = settings_util.create_repo_rhodecode_ui( | |
|
644 | repo, VcsSettingsModel.SVN_BRANCH_SECTION, 'svn-branch') | |
|
645 | Session().commit() | |
|
646 | ||
|
647 | model.delete_repo_svn_pattern(entry.ui_id) | |
|
648 | ||
|
649 | def test_fail_when_delete_id_from_other_repo(self, backend_svn): | |
|
639 | 650 | repo_name = backend_svn.repo_name |
|
640 | 651 | model = VcsSettingsModel(repo=repo_name) |
|
641 | 652 | delete_ui_patch = mock.patch.object(model.repo_settings, 'delete_ui') |
|
642 | 653 | with delete_ui_patch as delete_ui_mock: |
|
643 | 654 | model.delete_repo_svn_pattern(123) |
|
644 |
delete_ui_mock.assert_called_once_with(1 |
|
|
655 | delete_ui_mock.assert_called_once_with(-1) | |
|
645 | 656 | |
|
646 | 657 | def test_raises_exception_when_repository_is_not_specified(self): |
|
647 | 658 | model = VcsSettingsModel() |
General Comments 0
You need to be logged in to leave comments.
Login now