##// END OF EJS Templates
settings: fixed some issuetracker settings tests
super-admin -
r4835:39136da6 default
parent child Browse files
Show More
@@ -613,6 +613,7 b' class TestAdminSettingsIssueTracker(obje'
613 RC_PREFIX = 'rhodecode_'
613 RC_PREFIX = 'rhodecode_'
614 SHORT_PATTERN_KEY = 'issuetracker_pat_'
614 SHORT_PATTERN_KEY = 'issuetracker_pat_'
615 PATTERN_KEY = RC_PREFIX + SHORT_PATTERN_KEY
615 PATTERN_KEY = RC_PREFIX + SHORT_PATTERN_KEY
616 DESC_KEY = RC_PREFIX + 'issuetracker_desc_'
616
617
617 def test_issuetracker_index(self, autologin_user):
618 def test_issuetracker_index(self, autologin_user):
618 response = self.app.get(route_path('admin_settings_issuetracker'))
619 response = self.app.get(route_path('admin_settings_issuetracker'))
@@ -665,30 +666,43 b' class TestAdminSettingsIssueTracker(obje'
665
666
666 def test_edit_issuetracker_pattern(
667 def test_edit_issuetracker_pattern(
667 self, autologin_user, backend, csrf_token, request):
668 self, autologin_user, backend, csrf_token, request):
668 old_pattern = 'issuetracker_pat'
669
670 old_pattern = 'issuetracker_pat1'
669 old_uid = md5(old_pattern)
671 old_uid = md5(old_pattern)
670 pattern = 'issuetracker_pat_new'
671 self.new_uid = md5(pattern)
672
673 SettingsModel().create_or_update_setting(
674 self.SHORT_PATTERN_KEY+old_uid, old_pattern, 'unicode')
675
672
676 post_url = route_path('admin_settings_issuetracker_update')
673 post_url = route_path('admin_settings_issuetracker_update')
677 post_data = {
674 post_data = {
678 'new_pattern_pattern_0': pattern,
675 'new_pattern_pattern_0': old_pattern,
679 'new_pattern_url_0': 'https://url',
676 'new_pattern_url_0': 'http://url',
680 'new_pattern_prefix_0': 'prefix',
677 'new_pattern_prefix_0': 'prefix',
681 'new_pattern_description_0': 'description',
678 'new_pattern_description_0': 'description',
679
680 'csrf_token': csrf_token
681 }
682 self.app.post(post_url, post_data, status=302)
683
684 new_pattern = 'issuetracker_pat1_edited'
685 self.new_uid = md5(new_pattern)
686
687 post_url = route_path('admin_settings_issuetracker_update')
688 post_data = {
689 'new_pattern_pattern_{}'.format(old_uid): new_pattern,
690 'new_pattern_url_{}'.format(old_uid): 'https://url_edited',
691 'new_pattern_prefix_{}'.format(old_uid): 'prefix_edited',
692 'new_pattern_description_{}'.format(old_uid): 'description_edited',
682 'uid': old_uid,
693 'uid': old_uid,
683 'csrf_token': csrf_token
694 'csrf_token': csrf_token
684 }
695 }
685 self.app.post(post_url, post_data, status=302)
696 self.app.post(post_url, post_data, status=302)
697
686 settings = SettingsModel().get_all_settings()
698 settings = SettingsModel().get_all_settings()
687 assert settings[self.PATTERN_KEY+self.new_uid] == pattern
699 assert settings[self.PATTERN_KEY+self.new_uid] == new_pattern
700 assert settings[self.DESC_KEY + self.new_uid] == 'description_edited'
688 assert self.PATTERN_KEY+old_uid not in settings
701 assert self.PATTERN_KEY+old_uid not in settings
689
702
690 @request.addfinalizer
703 @request.addfinalizer
691 def cleanup():
704 def cleanup():
705 IssueTrackerSettingsModel().delete_entries(old_uid)
692 IssueTrackerSettingsModel().delete_entries(self.new_uid)
706 IssueTrackerSettingsModel().delete_entries(self.new_uid)
693
707
694 def test_replace_issuetracker_pattern_description(
708 def test_replace_issuetracker_pattern_description(
@@ -727,16 +741,27 b' class TestAdminSettingsIssueTracker(obje'
727
741
728 def test_delete_issuetracker_pattern(
742 def test_delete_issuetracker_pattern(
729 self, autologin_user, backend, csrf_token, settings_util, xhr_header):
743 self, autologin_user, backend, csrf_token, settings_util, xhr_header):
730 pattern = 'issuetracker_pat'
744
731 uid = md5(pattern)
745 old_pattern = 'issuetracker_pat_deleted'
732 settings_util.create_rhodecode_setting(
746 old_uid = md5(old_pattern)
733 self.SHORT_PATTERN_KEY+uid, pattern, 'unicode', cleanup=False)
747
748 post_url = route_path('admin_settings_issuetracker_update')
749 post_data = {
750 'new_pattern_pattern_0': old_pattern,
751 'new_pattern_url_0': 'http://url',
752 'new_pattern_prefix_0': 'prefix',
753 'new_pattern_description_0': 'description',
754
755 'csrf_token': csrf_token
756 }
757 self.app.post(post_url, post_data, status=302)
734
758
735 post_url = route_path('admin_settings_issuetracker_delete')
759 post_url = route_path('admin_settings_issuetracker_delete')
736 post_data = {
760 post_data = {
737 'uid': uid,
761 'uid': old_uid,
738 'csrf_token': csrf_token
762 'csrf_token': csrf_token
739 }
763 }
740 self.app.post(post_url, post_data, extra_environ=xhr_header, status=200)
764 self.app.post(post_url, post_data, extra_environ=xhr_header, status=200)
741 settings = SettingsModel().get_all_settings()
765 settings = SettingsModel().get_all_settings()
742 assert 'rhodecode_%s%s' % (self.SHORT_PATTERN_KEY, uid) not in settings
766 assert self.PATTERN_KEY+old_uid not in settings
767 assert self.DESC_KEY + old_uid not in settings
@@ -174,7 +174,7 b' class SettingsModel(BaseModel):'
174 self, name, val=Optional(''), type_=Optional('unicode')):
174 self, name, val=Optional(''), type_=Optional('unicode')):
175 """
175 """
176 Creates or updates RhodeCode setting. If updates is triggered it will
176 Creates or updates RhodeCode setting. If updates is triggered it will
177 only update parameters that are explicityl set Optional instance will
177 only update parameters that are explicitly set Optional instance will
178 be skipped
178 be skipped
179
179
180 :param name:
180 :param name:
@@ -267,7 +267,7 b' class SettingsModel(BaseModel):'
267 statsd.timing("rhodecode_settings_timing.histogram", elapsed_time_ms,
267 statsd.timing("rhodecode_settings_timing.histogram", elapsed_time_ms,
268 use_decimals=False)
268 use_decimals=False)
269
269
270 log.debug('Fetching app settings for key: %s took: %.4fs', cache_key, compute_time)
270 log.debug('Fetching app settings for key: %s took: %.4fs: cache: %s', cache_key, compute_time, cache)
271
271
272 return result
272 return result
273
273
General Comments 0
You need to be logged in to leave comments. Login now