fix: adds test

This commit is contained in:
ievgenii vdovenko 2025-06-06 17:14:48 +02:00
parent 5819a0ec61
commit 1ede0669d9
2 changed files with 32 additions and 2 deletions

View file

@ -15,9 +15,10 @@
# This program is dual-licensed. If you wish to learn more about the
# RhodeCode Enterprise Edition, including its added features, Support services,
# and proprietary license terms, please see https://rhodecode.com/licenses/
import pytest
from unittest.mock import patch, MagicMock
from rhodecode.apps.repository.views.repo_settings_advanced import RepoSettingsAdvancedView
from rhodecode.lib.str_utils import safe_str
from rhodecode.model.db import Repository
from rhodecode.model.repo import RepoModel
@ -110,6 +111,36 @@ class TestAdminRepoSettingsAdvanced(object):
assert RepoModel().get_by_repo_name(repo_name) is None
assert not repo_on_filesystem(repo_name_str)
@patch.object(RepoSettingsAdvancedView, "_maybe_needs_password_change")
@patch.object(RepoSettingsAdvancedView, "_maybe_needs_2fa_configuration")
@patch.object(RepoSettingsAdvancedView, "_maybe_needs_2fa_check")
@patch("rhodecode.apps._base.ScmModel")
@patch("rhodecode.apps._base.IssueTrackerSettingsModel")
@patch("rhodecode.lib.helpers.route_path")
def test_advanced_repo_delete__call_remote_cache_invalidation(self, *ignore):
request = MagicMock()
db_repo = MagicMock()
scm_instance = MagicMock()
db_repo.scm_instance.return_value = scm_instance
request.db_repo = db_repo
obj = RepoSettingsAdvancedView(MagicMock(), request)
# bypass decorators
unwrapped__edit_advanced_delete = RepoSettingsAdvancedView.__dict__[
"edit_advanced_delete"
].__wrapped__.__wrapped__.__wrapped__
try:
unwrapped__edit_advanced_delete(obj)
except Exception as ignore:
# ignore error, because of mocks method will fail with exception which is not related to the current test
pass
db_repo.scm_instance.assert_called_once_with(cache=False)
scm_instance.vcsserver_invalidate_cache(delete=True)
@pytest.mark.parametrize("suffix", ["", "ąęł", "123"], ids=no_newline_id_generator)
def test_advanced_repo_archive(self, autologin_user, backend, suffix, csrf_token):
repo = backend.create_repo(name_suffix=suffix)

View file

@ -22,7 +22,6 @@ import logging
from pyramid.httpexceptions import HTTPFound
from packaging.version import Version
from rhodecode import events
from rhodecode.apps._base import RepoAppView
from rhodecode.lib import helpers as h
from rhodecode.lib import audit_logger