Files
@ 0ed42ca7ff9e
Branch filter:
Location: kallithea/rhodecode/tests/functional/test_search.py
0ed42ca7ff9e
4.5 KiB
text/x-python
Fixed issue with inproper handling of diff parsing that could lead to infinit loops.
This was an edge case when diff contained diff data inside. Regresion test was
added
This was an edge case when diff contained diff data inside. Regresion test was
added
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | import os
from rhodecode.tests import *
from nose.plugins.skip import SkipTest
class TestSearchController(TestController):
def test_index(self):
self.log_user()
response = self.app.get(url(controller='search', action='index'))
self.assertTrue('class="small" id="q" name="q" type="text"' in
response.body)
# Test response...
def test_empty_search(self):
if os.path.isdir(self.index_location):
raise SkipTest('skipped due to existing index')
else:
self.log_user()
response = self.app.get(url(controller='search', action='index'),
{'q': HG_REPO})
self.assertTrue('There is no index to search in. '
'Please run whoosh indexer' in response.body)
def test_normal_search(self):
self.log_user()
response = self.app.get(url(controller='search', action='index'),
{'q': 'def repo'})
response.mustcontain('39 results')
def test_repo_search(self):
self.log_user()
response = self.app.get(url(controller='search', action='index'),
{'q': 'repository:%s def test' % HG_REPO})
response.mustcontain('4 results')
def test_search_last(self):
self.log_user()
response = self.app.get(url(controller='search', action='index'),
{'q': 'last:t', 'type': 'commit'})
response.mustcontain('2 results')
def test_search_commit_message(self):
self.log_user()
response = self.app.get(url(controller='search', action='index'),
{'q': 'bother to ask where to fetch repo during tests',
'type': 'commit'})
response.mustcontain('2 results')
response.mustcontain('a00c1b6f5d7a6ae678fd553a8b81d92367f7ecf1')
response.mustcontain('c6eb379775c578a95dad8ddab53f963b80894850')
def test_search_commit_message_hg_repo(self):
self.log_user()
response = self.app.get(url(controller='search', action='index',
search_repo=HG_REPO),
{'q': 'bother to ask where to fetch repo during tests',
'type': 'commit'})
response.mustcontain('1 results')
response.mustcontain('a00c1b6f5d7a6ae678fd553a8b81d92367f7ecf1')
def test_search_commit_changed_file(self):
self.log_user()
response = self.app.get(url(controller='search', action='index'),
{'q': 'changed:tests/utils.py',
'type': 'commit'})
response.mustcontain('20 results')
def test_search_commit_changed_files_get_commit(self):
self.log_user()
response = self.app.get(url(controller='search', action='index'),
{'q': 'changed:vcs/utils/lazy.py',
'type': 'commit'})
response.mustcontain('7 results')
response.mustcontain('36e0fc9d2808c5022a24f49d6658330383ed8666')
response.mustcontain('af182745859d779f17336241a0815d15166ae1ee')
response.mustcontain('17438a11f72b93f56d0e08e7d1fa79a378578a82')
response.mustcontain('33fa3223355104431402a888fa77a4e9956feb3e')
response.mustcontain('d1f898326327e20524fe22417c22d71064fe54a1')
response.mustcontain('fe568b4081755c12abf6ba673ba777fc02a415f3')
response.mustcontain('bafe786f0d8c2ff7da5c1dcfcfa577de0b5e92f1')
def test_search_commit_added_file(self):
self.log_user()
response = self.app.get(url(controller='search', action='index'),
{'q': 'added:README.rst',
'type': 'commit'})
response.mustcontain('2 results')
#HG
response.mustcontain('3803844fdbd3b711175fc3da9bdacfcd6d29a6fb')
#GIT
response.mustcontain('ff7ca51e58c505fec0dd2491de52c622bb7a806b')
def test_search_author(self):
self.log_user()
response = self.app.get(url(controller='search', action='index'),
{'q': 'author:marcin@python-blog.com raw_id:b986218ba1c9b0d6a259fac9b050b1724ed8e545',
'type': 'commit'})
response.mustcontain('1 results')
def test_search_file_name(self):
self.log_user()
response = self.app.get(url(controller='search', action='index'),
{'q': 'README.rst', 'type': 'path'})
response.mustcontain('2 results')
|