settings: fixed some issuetracker settings tests

This commit is contained in:
RhodeCode Admin 2023-01-09 16:06:41 +01:00
parent f18966f6ea
commit 1fe7f6f15d
2 changed files with 42 additions and 17 deletions

View file

@ -613,6 +613,7 @@ class TestAdminSettingsIssueTracker(object):
RC_PREFIX = 'rhodecode_'
SHORT_PATTERN_KEY = 'issuetracker_pat_'
PATTERN_KEY = RC_PREFIX + SHORT_PATTERN_KEY
DESC_KEY = RC_PREFIX + 'issuetracker_desc_'
def test_issuetracker_index(self, autologin_user):
response = self.app.get(route_path('admin_settings_issuetracker'))
@ -665,30 +666,43 @@ class TestAdminSettingsIssueTracker(object):
def test_edit_issuetracker_pattern(
self, autologin_user, backend, csrf_token, request):
old_pattern = 'issuetracker_pat'
old_uid = md5(old_pattern)
pattern = 'issuetracker_pat_new'
self.new_uid = md5(pattern)
SettingsModel().create_or_update_setting(
self.SHORT_PATTERN_KEY+old_uid, old_pattern, 'unicode')
old_pattern = 'issuetracker_pat1'
old_uid = md5(old_pattern)
post_url = route_path('admin_settings_issuetracker_update')
post_data = {
'new_pattern_pattern_0': pattern,
'new_pattern_url_0': 'https://url',
'new_pattern_pattern_0': old_pattern,
'new_pattern_url_0': 'http://url',
'new_pattern_prefix_0': 'prefix',
'new_pattern_description_0': 'description',
'csrf_token': csrf_token
}
self.app.post(post_url, post_data, status=302)
new_pattern = 'issuetracker_pat1_edited'
self.new_uid = md5(new_pattern)
post_url = route_path('admin_settings_issuetracker_update')
post_data = {
'new_pattern_pattern_{}'.format(old_uid): new_pattern,
'new_pattern_url_{}'.format(old_uid): 'https://url_edited',
'new_pattern_prefix_{}'.format(old_uid): 'prefix_edited',
'new_pattern_description_{}'.format(old_uid): 'description_edited',
'uid': old_uid,
'csrf_token': csrf_token
}
self.app.post(post_url, post_data, status=302)
settings = SettingsModel().get_all_settings()
assert settings[self.PATTERN_KEY+self.new_uid] == pattern
assert settings[self.PATTERN_KEY+self.new_uid] == new_pattern
assert settings[self.DESC_KEY + self.new_uid] == 'description_edited'
assert self.PATTERN_KEY+old_uid not in settings
@request.addfinalizer
def cleanup():
IssueTrackerSettingsModel().delete_entries(old_uid)
IssueTrackerSettingsModel().delete_entries(self.new_uid)
def test_replace_issuetracker_pattern_description(
@ -727,16 +741,27 @@ class TestAdminSettingsIssueTracker(object):
def test_delete_issuetracker_pattern(
self, autologin_user, backend, csrf_token, settings_util, xhr_header):
pattern = 'issuetracker_pat'
uid = md5(pattern)
settings_util.create_rhodecode_setting(
self.SHORT_PATTERN_KEY+uid, pattern, 'unicode', cleanup=False)
old_pattern = 'issuetracker_pat_deleted'
old_uid = md5(old_pattern)
post_url = route_path('admin_settings_issuetracker_update')
post_data = {
'new_pattern_pattern_0': old_pattern,
'new_pattern_url_0': 'http://url',
'new_pattern_prefix_0': 'prefix',
'new_pattern_description_0': 'description',
'csrf_token': csrf_token
}
self.app.post(post_url, post_data, status=302)
post_url = route_path('admin_settings_issuetracker_delete')
post_data = {
'uid': uid,
'uid': old_uid,
'csrf_token': csrf_token
}
self.app.post(post_url, post_data, extra_environ=xhr_header, status=200)
settings = SettingsModel().get_all_settings()
assert 'rhodecode_%s%s' % (self.SHORT_PATTERN_KEY, uid) not in settings
assert self.PATTERN_KEY+old_uid not in settings
assert self.DESC_KEY + old_uid not in settings

View file

@ -174,7 +174,7 @@ class SettingsModel(BaseModel):
self, name, val=Optional(''), type_=Optional('unicode')):
"""
Creates or updates RhodeCode setting. If updates is triggered it will
only update parameters that are explicityl set Optional instance will
only update parameters that are explicitly set Optional instance will
be skipped
:param name:
@ -267,7 +267,7 @@ class SettingsModel(BaseModel):
statsd.timing("rhodecode_settings_timing.histogram", elapsed_time_ms,
use_decimals=False)
log.debug('Fetching app settings for key: %s took: %.4fs', cache_key, compute_time)
log.debug('Fetching app settings for key: %s took: %.4fs: cache: %s', cache_key, compute_time, cache)
return result