Author: andrej
Date: Thu Feb 14 11:37:51 2013
New Revision: 1446127
URL: http://svn.apache.org/r1446127
Log:
fix unit tests after adding SortInstruction, prepare unit-test for #389 wiki
syntax stripping
Modified:
incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/api.py
incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/base.py
incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/index_with_whoosh.py
incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/web_ui.py
incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/whoosh_backend.py
Modified: incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/api.py
URL:
http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/api.py?rev=1446127&r1=1446126&r2=1446127&view=diff
==============================================================================
--- incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/api.py
(original)
+++ incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/api.py Thu Feb
14 11:37:51 2013
@@ -20,7 +20,7 @@
import unittest
import tempfile
import shutil
-from bhsearch.api import BloodhoundSearchApi, ASC
+from bhsearch.api import BloodhoundSearchApi, ASC, SortInstruction
from bhsearch.query_parser import DefaultQueryParser
from bhsearch.tests.base import BaseBloodhoundSearchTest
from bhsearch.search_resources.ticket_search import TicketSearchParticipant
@@ -110,7 +110,7 @@ class ApiQueryWithWhooshTestCase(BaseBlo
results = self.search_api.query(
"*",
filter= ['status:"closed"', 'component:"c1"'],
- sort= [("id", ASC)]
+ sort= [SortInstruction("id", ASC)]
)
self.print_result(results)
#assert
Modified: incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/base.py
URL:
http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/base.py?rev=1446127&r1=1446126&r2=1446127&view=diff
==============================================================================
--- incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/base.py
(original)
+++ incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/base.py Thu Feb
14 11:37:51 2013
@@ -28,17 +28,28 @@ from pprint import pprint
from bhsearch.web_ui import BloodhoundSearchModule
from trac.ticket import Ticket, Milestone
-from trac.test import EnvironmentStub
+from trac.test import EnvironmentStub, Mock, MockPerm
+from trac.web import Href, arg_list_to_args
from trac.wiki import WikiPage
+BASE_PATH = "/main/"
+
class BaseBloodhoundSearchTest(unittest.TestCase):
- def setUp(self, enabled = None):
+ def setUp(self, enabled = None, create_req = False):
if not enabled:
enabled = ['bhsearch.*']
self.env = EnvironmentStub(enable=enabled)
self.env.path = tempfile.mkdtemp('bhsearch-tempenv')
self.env.config.set('bhsearch', 'silence_on_error', "False")
+ if create_req:
+ self.req = Mock(
+ perm=MockPerm(),
+ chrome={'logo': {}},
+ href=Href("/main"),
+ base_path=BASE_PATH,
+ args=arg_list_to_args([]),
+ )
def tearDown(self):
shutil.rmtree(self.env.path)
Modified:
incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/index_with_whoosh.py
URL:
http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/index_with_whoosh.py?rev=1446127&r1=1446126&r2=1446127&view=diff
==============================================================================
---
incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/index_with_whoosh.py
(original)
+++
incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/index_with_whoosh.py
Thu Feb 14 11:37:51 2013
@@ -17,6 +17,7 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
+from contextlib import closing
import unittest
import shutil
@@ -26,7 +27,8 @@ from bhsearch.tests.base import BaseBloo
from bhsearch.search_resources.ticket_search import TicketIndexer
from bhsearch.whoosh_backend import WhooshBackend
-
+from trac.test import MockPerm
+from trac.web import Href
class IndexWhooshTestCase(BaseBloodhoundSearchTest):
def setUp(self):
@@ -114,9 +116,60 @@ class IndexWhooshTestCase(BaseBloodhound
self.print_result(results)
self.assertEqual(2, results.hits)
+class FormattingTestCase(BaseBloodhoundSearchTest):
+ def setUp(self):
+ super(FormattingTestCase, self).setUp(
+ ['trac.*', 'bhsearch.*'],
+ create_req=True,
+ )
+
+ def test_can_format_wiki_to_text(self):
+ wiki_content = """= Header #overview
+
+ '''bold''', ''italic'', '''''Wikipedia style'''''
+
+ {{{
+ code
+ }}}
+
+ [[PageOutline]]
+
+ || '''Table''' || sampe ||
+
+ - list
+ - sample
+
+ [[Image(mockup_tickets.png)]] [wiki:SomePage p1] [ticket:1 ticket one]
+ http://www.edgewall.com/,
+ [http://www.edgewall.com Edgewall Software]
+
+ [#point1]
+ """
+# wiki_content = """
+#'''''one''''', '''''two''''', '''''three''''', '''''four'''''
+# """
+
+ page = self.create_wiki("Dummy wiki", wiki_content)
+ from trac.mimeview.api import RenderingContext
+ context = RenderingContext(
+ page.resource,
+ href=Href('/'),
+ perm=MockPerm(),
+ )
+ context.req = None # 1.0 FIXME .req shouldn't be required by formatter
+# result = format_to_oneliner(self.env, context, wiki_content)
+# from trac.wiki.formatter import format_to_oneliner
+ from trac.web.chrome import format_to_html
+ result = format_to_html(self.env, context, wiki_content)
+ print result
+#
+
def suite():
- return unittest.makeSuite(IndexWhooshTestCase, 'test')
+ test_suite = unittest.TestSuite()
+ test_suite.addTest(unittest.makeSuite(IndexWhooshTestCase, 'test'))
+ test_suite.addTest(unittest.makeSuite(FormattingTestCase, 'test'))
+ return test_suite
if __name__ == '__main__':
unittest.main()
Modified: incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/web_ui.py
URL:
http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/web_ui.py?rev=1446127&r1=1446126&r2=1446127&view=diff
==============================================================================
--- incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/web_ui.py
(original)
+++ incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/web_ui.py Thu
Feb 14 11:37:51 2013
@@ -39,7 +39,12 @@ DEFAULT_DOCS_PER_PAGE = 10
class WebUiTestCaseWithWhoosh(BaseBloodhoundSearchTest):
def setUp(self):
- super(WebUiTestCaseWithWhoosh, self).setUp(['trac.*', 'bhsearch.*'])
+ super(WebUiTestCaseWithWhoosh, self).setUp(
+ ['trac.*', 'bhsearch.*'],
+ create_req=True,
+ )
+ self.req.redirect = self.redirect
+
whoosh_backend = WhooshBackend(self.env)
whoosh_backend.recreate_index()
Modified:
incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/whoosh_backend.py
URL:
http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/whoosh_backend.py?rev=1446127&r1=1446126&r2=1446127&view=diff
==============================================================================
---
incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/whoosh_backend.py
(original)
+++
incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/whoosh_backend.py
Thu Feb 14 11:37:51 2013
@@ -22,7 +22,7 @@ from datetime import datetime
import unittest
import tempfile
import shutil
-from bhsearch.api import ASC, DESC, SCORE
+from bhsearch.api import ASC, DESC, SCORE, SortInstruction
from bhsearch.query_parser import DefaultQueryParser
from bhsearch.tests.base import BaseBloodhoundSearchTest
from bhsearch.whoosh_backend import (WhooshBackend,
@@ -50,7 +50,7 @@ class WhooshBackendTestCase(BaseBloodhou
self.whoosh_backend.add_doc(dict(id="2", type="ticket"))
result = self.whoosh_backend.query(
query.Every(),
- sort = [("id", ASC)],
+ sort = [SortInstruction("id", ASC)],
)
self.print_result(result)
self.assertEqual(2, result.hits)
@@ -99,7 +99,7 @@ class WhooshBackendTestCase(BaseBloodhou
self.whoosh_backend.add_doc(dict(id="1", type="ticket1"))
result = self.whoosh_backend.query(
query.Every(),
- sort = [("type", ASC), ("id", ASC)],
+ sort = [SortInstruction("type", ASC), SortInstruction("id", ASC)],
fields=("id", "type"),
)
self.print_result(result)
@@ -116,7 +116,7 @@ class WhooshBackendTestCase(BaseBloodhou
self.whoosh_backend.add_doc(dict(id="1", type="ticket1"))
result = self.whoosh_backend.query(
query.Every(),
- sort = [("type", ASC), ("id", DESC)],
+ sort = [SortInstruction("type", ASC), SortInstruction("id", DESC)],
fields=("id", "type"),
)
self.print_result(result)
@@ -163,7 +163,10 @@ class WhooshBackendTestCase(BaseBloodhou
result = self.whoosh_backend.query(
parsed_query,
- sort = [(SCORE, ASC), ("time", DESC)],
+ sort = [
+ SortInstruction(SCORE, ASC),
+ SortInstruction("time", DESC)
+ ],
)
self.print_result(result)
self.assertEqual(3, result.hits)
@@ -181,7 +184,7 @@ class WhooshBackendTestCase(BaseBloodhou
self.whoosh_backend.add_doc(dict(id="3", type="wiki", product="A"))
result = self.whoosh_backend.query(
query.Every(),
- sort = [("type", ASC), ("id", DESC)],
+ sort = [SortInstruction("type", ASC), SortInstruction("id", DESC)],
fields=("id", "type"),
facets= ("type", "product")
)
@@ -207,7 +210,7 @@ class WhooshBackendTestCase(BaseBloodhou
def test_can_return_empty_result(self):
result = self.whoosh_backend.query(
query.Every(),
- sort = [("type", ASC), ("id", DESC)],
+ sort = [SortInstruction("type", ASC), SortInstruction("id", DESC)],
fields=("id", "type"),
facets= ("type", "product")
)