from pylons_app.tests import * from pylons_app.lib.indexers import IDX_LOCATION import os 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')) print response.body assert 'class="small" id="q" name="q" type="text"' in response.body, 'Search box content error' # Test response... def test_empty_search(self): if os.path.isdir(IDX_LOCATION): raise SkipTest('skipped due to existing index') else: self.log_user() response = self.app.get(url(controller='search', action='index'), {'q':'vcs_test'}) assert 'There is no index to search in. Please run whoosh indexer' in response.body, 'No error message about empty index' def test_normal_search(self): self.log_user() response = self.app.get(url(controller='search', action='index'), {'q':'def repo'}) print response.body assert '10 results' in response.body, 'no message about proper search results' assert 'Permission denied' not in response.body, 'Wrong permissions settings for that repo and user' def test_repo_search(self): self.log_user() response = self.app.get(url(controller='search', action='index'), {'q':'repository:vcs_test def test'}) print response.body assert '4 results' in response.body, 'no message about proper search results' assert 'Permission denied' not in response.body, 'Wrong permissions settings for that repo and user'