Example #1
0
 def test_numresults_withkind(self):
     def dummy_factory(context, request, term):
         return DummyGroupSearchFactory(
             lambda x: testing.DummyModel(title='yo'))
     from repoze.lemonade.testing import registerListItem
     from karl.models.interfaces import IGroupSearchFactory
     registerListItem(IGroupSearchFactory, dummy_factory,
                      'foo_kind', title='Dummy')
     context = testing.DummyModel()
     request = testing.DummyRequest()
     request.params = {
         'val': 'somesearch',
         'kind': 'foo_kind',
         }
     def dummy_adapter(context, request):
         return dict(title=context.title)
     from karl.views.interfaces import ILiveSearchEntry
     karltesting.registerAdapter(dummy_adapter,
                             (testing.DummyModel, testing.DummyRequest),
                             ILiveSearchEntry)
     response = self._callFUT(context, request)
     self.assertEqual(response.status, '200 OK')
     from simplejson import loads
     results = loads(response.body)
     self.assertEqual(response.content_type, 'application/json')
     self.assertEqual(len(results), 20)
Example #2
0
 def test_with_parameter_withresults(self):
     def dummy_factory1(context, request, term):
         pass
     def dummy_factory2(context, request, term):
         def results():
             return 1, [1], lambda x: testing.DummyModel(title='yo')
         return results
     from repoze.lemonade.testing import registerListItem
     from opencore.models.interfaces import IGroupSearchFactory
     registerListItem(IGroupSearchFactory, dummy_factory1, 'dummy1',
                      title='Dummy1', sort_key=1)
     registerListItem(IGroupSearchFactory, dummy_factory2, 'dummy2',
                      title='Dummy2', sort_key=2)
     context = testing.DummyModel()
     request = testing.DummyRequest()
     dummycontent = testing.DummyModel()
     request.params = {
         'val': 'somesearch',
         }
     response = self._callFUT(context, request)
     self.assertEqual(response.status, '200 OK')
     from simplejson import loads
     results = loads(response.body)
     self.assertEqual(len(results), 3)
     self.assertEqual(results[0]['rowclass'], 'showall')
     self.assertEqual(results[0]['header'], '')
     self.assertEqual(results[0]['title'], 'Show All')
     self.assertEqual(results[1]['header'], 'Dummy2')
     self.assertEqual(results[1]['title'], 'yo')
     self.assertEqual(response.content_type, 'application/x-json')
Example #3
0
 def test_with_parameter_noresults(self):
     def dummy_factory(context, request, term):
         def results():
             return 0, [], None
         return results
     from repoze.lemonade.testing import registerListItem
     from opencore.models.interfaces import IGroupSearchFactory
     registerListItem(IGroupSearchFactory, dummy_factory, 'dummy1',
                      title='Dummy1', sort_key=1)
     context = testing.DummyModel()
     request = testing.DummyRequest()
     dummycontent = testing.DummyModel()
     request.params = {
         'val': 'somesearch',
         }
     response = self._callFUT(context, request)
     self.assertEqual(response.status, '200 OK')
     from simplejson import loads
     results = loads(response.body)
     self.assertEqual(len(results), 2)
     self.assertEqual(results[0]['rowclass'], 'showall')
     self.assertEqual(results[0]['header'], '')
     self.assertEqual(results[0]['title'], 'Show All')
     self.assertEqual(results[1]['header'], 'Dummy1')
     self.assertEqual(results[1]['title'], 'No Result')
Example #4
0
    def test_numresults_withkind(self):
        def dummy_factory(context, request, term):
            return DummyGroupSearchFactory(
                lambda x: testing.DummyModel(title='yo'))

        from repoze.lemonade.testing import registerListItem
        from karl.models.interfaces import IGroupSearchFactory
        registerListItem(IGroupSearchFactory,
                         dummy_factory,
                         'foo_kind',
                         title='Dummy')
        context = testing.DummyModel()
        request = testing.DummyRequest()
        request.params = {
            'val': 'somesearch',
            'kind': 'foo_kind',
        }

        def dummy_adapter(context, request):
            return dict(title=context.title)

        from karl.views.interfaces import ILiveSearchEntry
        karltesting.registerAdapter(dummy_adapter,
                                    (testing.DummyModel, testing.DummyRequest),
                                    ILiveSearchEntry)
        response = self._callFUT(context, request)
        self.assertEqual(response.status, '200 OK')
        from simplejson import loads
        results = loads(response.body)
        self.assertEqual(response.content_type, 'application/json')
        self.assertEqual(len(results), 20)
Example #5
0
    def test_with_parameter_withresults(self):
        from repoze.lemonade.testing import registerListItem
        from karl.models.interfaces import IGroupSearchFactory
        from karl.views.interfaces import ILiveSearchEntry
        def dummy_factory1(context, request, term):
            pass
        def dummy_factory2(context, request, term):
            def results():
                return 1, [1], lambda x: testing.DummyModel(title='yo')
            return results
        dummy_factory1.livesearch_all = dummy_factory2.livesearch_all = True

        registerListItem(IGroupSearchFactory, dummy_factory1, 'dummy1',
                         title='Dummy1', sort_key=1)
        registerListItem(IGroupSearchFactory, dummy_factory2, 'dummy2',
                         title='Dummy2', sort_key=2)
        context = testing.DummyModel()
        request = testing.DummyRequest()
        request.params = {
            'val': 'somesearch',
            }
        def dummy_adapter(context, request):
            return dict(title=context.title)
        karltesting.registerAdapter(dummy_adapter,
                                (testing.DummyModel, testing.DummyRequest),
                                ILiveSearchEntry)
        results = self._callFUT(context, request)
        self.assertEqual(len(results), 1)
        self.assertEqual(results[0]['title'], 'yo')
Example #6
0
    def test_with_parameter_noresults(self):
        def dummy_factory(context, request, term):
            def results():
                return 0, [], None

            return results

        from repoze.lemonade.testing import registerListItem
        from karl.models.interfaces import IGroupSearchFactory
        dummy_factory.livesearch = True
        registerListItem(IGroupSearchFactory,
                         dummy_factory,
                         'dummy1',
                         title='Dummy1',
                         sort_key=1)
        context = testing.DummyModel()
        request = testing.DummyRequest()
        request.params = {
            'val': 'somesearch',
        }
        response = self._callFUT(context, request)
        self.assertEqual(response.status, '200 OK')
        from simplejson import loads
        results = loads(response.body)
        self.assertEqual(len(results), 0)
Example #7
0
    def test_numresults_nokind(self):
        def dummy_factory(context, request, term):
            return DummyGroupSearchFactory(lambda x: testing.DummyModel(title="yo"))

        from repoze.lemonade.testing import registerListItem
        from karl.models.interfaces import IGroupSearchFactory

        dummy_factory.livesearch = True
        registerListItem(IGroupSearchFactory, dummy_factory, "dummy", title="Dummy")
        context = testing.DummyModel()
        request = testing.DummyRequest()
        request.params = {"val": "somesearch"}

        def dummy_adapter(context, request):
            return dict(title=context.title)

        from karl.views.interfaces import ILiveSearchEntry

        karltesting.registerAdapter(dummy_adapter, (testing.DummyModel, testing.DummyRequest), ILiveSearchEntry)
        response = self._callFUT(context, request)
        self.assertEqual(response.status, "200 OK")
        from simplejson import loads

        results = loads(response.body)
        self.assertEqual(response.content_type, "application/json")
        self.assertEqual(len(results), 5)
Example #8
0
    def test_with_parameter_withresults_withkind(self):
        def dummy_factory(context, request, term):
            def results():
                return 1, [1], lambda x: testing.DummyModel(title="yo")

            return results

        from repoze.lemonade.testing import registerListItem
        from karl.models.interfaces import IGroupSearchFactory

        registerListItem(IGroupSearchFactory, dummy_factory, "foo_kind", title="Dummy")
        context = testing.DummyModel()
        request = testing.DummyRequest()
        request.params = {"val": "somesearch", "kind": "foo_kind"}

        def dummy_adapter(context, request):
            return dict(title=context.title)

        from karl.views.interfaces import ILiveSearchEntry

        karltesting.registerAdapter(dummy_adapter, (testing.DummyModel, testing.DummyRequest), ILiveSearchEntry)
        response = self._callFUT(context, request)
        self.assertEqual(response.status, "200 OK")
        from simplejson import loads

        results = loads(response.body)
        self.assertEqual(len(results), 1)
        self.assertEqual(results[0]["title"], "yo")
        self.assertEqual(response.content_type, "application/json")
Example #9
0
    def test_with_parameter_withresults(self):
        from repoze.lemonade.testing import registerListItem
        from karl.models.interfaces import IGroupSearchFactory
        from karl.views.interfaces import ILiveSearchEntry
        def dummy_factory1(context, request, term):
            pass
        def dummy_factory2(context, request, term):
            def results():
                return 1, [1], lambda x: testing.DummyModel(title='yo')
            return results
        dummy_factory1.livesearch = dummy_factory2.livesearch = True
        dummy_factory1.livesearch_all = dummy_factory2.livesearch_all = True

        registerListItem(IGroupSearchFactory, dummy_factory1, 'dummy1',
                         title='Dummy1', sort_key=1)
        registerListItem(IGroupSearchFactory, dummy_factory2, 'dummy2',
                         title='Dummy2', sort_key=2)
        context = testing.DummyModel()
        request = testing.DummyRequest()
        request.params = {
            'val': 'somesearch',
            }
        def dummy_adapter(context, request):
            return dict(title=context.title)
        karltesting.registerAdapter(dummy_adapter,
                                (testing.DummyModel, testing.DummyRequest),
                                ILiveSearchEntry)
        results = self._callFUT(context, request)
        self.assertEqual(len(results), 1)
        self.assertEqual(results[0]['title'], 'yo')
Example #10
0
 def test_tabs_requestcontext_iscommunity(self):
     from karl.models.interfaces import ICommunity
     from karl.models.interfaces import IToolFactory
     from repoze.lemonade.testing import registerListItem
     from zope.interface import directlyProvides
     tool_factory = DummyToolFactory()
     registerListItem(IToolFactory, tool_factory, 'one', title='One')
     context = self._makeCommunity()
     directlyProvides(context, ICommunity)
     request = testing.DummyRequest()
     request.context = context
     adapter = self._makeOne(context, request)
     tabs = adapter.tabs
     self.assertEqual(len(tabs), 2)
     self.assertEqual(
         tabs[0], {
             'url': 'http://example.com/view.html',
             'css_class': 'curr',
             'name': 'OVERVIEW'
         })
     self.assertEqual(tabs[1], {
         'url': 'http://example.com/tab',
         'css_class': '',
         'name': 'ONE'
     })
Example #11
0
    def test_with_parameter_withresults(self):
        def dummy_factory1(context, request, term):
            pass
        def dummy_factory2(context, request, term):
            def results():
                return 1, [1], lambda x: testing.DummyModel(title='yo')
            return results
        dummy_factory1.livesearch = dummy_factory2.livesearch = True

        from repoze.lemonade.testing import registerListItem
        from karl.models.interfaces import IGroupSearchFactory
        registerListItem(IGroupSearchFactory, dummy_factory1, 'dummy1',
                         title='Dummy1', sort_key=1)
        registerListItem(IGroupSearchFactory, dummy_factory2, 'dummy2',
                         title='Dummy2', sort_key=2)
        context = testing.DummyModel()
        request = testing.DummyRequest()
        request.params = {
            'val': 'somesearch',
            }
        def dummy_adapter(context, request):
            return dict(title=context.title)
        from karl.views.interfaces import ILiveSearchEntry
        karltesting.registerAdapter(dummy_adapter,
                                (testing.DummyModel, testing.DummyRequest),
                                ILiveSearchEntry)
        response = self._callFUT(context, request)
        self.assertEqual(response.status, '200 OK')
        from simplejson import loads
        results = loads(response.body)
        self.assertEqual(len(results), 1)
        self.assertEqual(results[0]['title'], 'yo')
        self.assertEqual(response.content_type, 'application/json')
Example #12
0
 def test_with_kind_with_body(self):
     from opencore.models.interfaces import IGroupSearchFactory
     from repoze.lemonade.testing import registerListItem
     from webob.multidict import MultiDict
     content = DummyContent()
     def search_factory(*arg, **kw):
         return DummySearchFactory(content)
     registerListItem(IGroupSearchFactory, search_factory, 'dummy1',
                      title='Dummy1', sort_key=1)
     request = testing.DummyRequest(
         params=MultiDict({'body':'yo', 'kind':'dummy1'}))
     context = testing.DummyModel()
     result = self._callFUT(context, request)
     self.assertEqual(result[0]['total'], 1)
Example #13
0
 def test_with_kind_without_body(self):
     from opencore.models.interfaces import IGroupSearchFactory
     from repoze.lemonade.testing import registerListItem
     from webob.multidict import MultiDict
     def dummy_factory(context, request, term):
         def results():
             return 0, [], None
         return results
     registerListItem(IGroupSearchFactory, dummy_factory, 'dummy1',
                      title='Dummy1', sort_key=1)
     request = testing.DummyRequest(
         params=MultiDict({'kind':'dummy1'}))
     context = testing.DummyModel()
     result = self._callFUT(context, request)
     self.assertEqual(result,  (None, ()))
Example #14
0
    def test_with_parameter_withresults_withbadkind(self):
        def dummy_factory(context, request, term):
            def results():
                return 1, [1], lambda x: testing.DummyModel(title="yo")

            return results

        from repoze.lemonade.testing import registerListItem
        from karl.models.interfaces import IGroupSearchFactory

        registerListItem(IGroupSearchFactory, dummy_factory, "foo_kind", title="Dummy")
        context = testing.DummyModel()
        request = testing.DummyRequest()
        request.params = {"val": "somesearch", "kind": "bad_kind"}
        response = self._callFUT(context, request)
        self.assertEqual(response.status, "400 Bad Request")
Example #15
0
 def test_with_kind_with_body(self):
     from karl.models.interfaces import ICatalogSearch
     from karl.models.interfaces import IGroupSearchFactory
     from repoze.lemonade.testing import registerListItem
     from webob.multidict import MultiDict
     content = DummyContent()
     def search_factory(*arg, **kw):
         return DummySearchFactory(content)
     registerListItem(IGroupSearchFactory, search_factory, 'dummy1',
                      title='Dummy1', sort_key=1)
     karltesting.registerAdapter(DummySearch, (Interface), ICatalogSearch)
     request = testing.DummyRequest(
         params=MultiDict({'body':'yo', 'kind':'dummy1'}))
     context = testing.DummyModel()
     result = self._callFUT(context, request)
     self.assertEqual(result[0]['total'], 1)
Example #16
0
 def test_with_parameter_withresults_withbadkind(self):
     from repoze.lemonade.testing import registerListItem
     from karl.models.interfaces import IGroupSearchFactory
     def dummy_factory(context, request, term):
         def results():
             return 1, [1], lambda x: testing.DummyModel(title='yo')
         return results
     registerListItem(IGroupSearchFactory, dummy_factory,
                      'foo_kind', title='Dummy')
     context = testing.DummyModel()
     request = testing.DummyRequest()
     request.params = {
         'val': 'somesearch',
         'kind': 'bad_kind',
         }
     response = self._callFUT(context, request)
     self.assertEqual(response.status, '400 Bad Request')
Example #17
0
    def test_with_kind_with_body(self):
        from karl.models.interfaces import ICatalogSearch
        from karl.models.interfaces import IGroupSearchFactory
        from repoze.lemonade.testing import registerListItem
        from webob.multidict import MultiDict

        content = DummyContent()

        def search_factory(*arg, **kw):
            return DummySearchFactory(content)

        registerListItem(IGroupSearchFactory, search_factory, "dummy1", title="Dummy1", sort_key=1)
        karltesting.registerAdapter(DummySearch, (Interface), ICatalogSearch)
        request = testing.DummyRequest(params=MultiDict({"body": "yo", "kind": "dummy1"}))
        context = testing.DummyModel()
        result = self._callFUT(context, request)
        self.assertEqual(result[0]["total"], 1)
Example #18
0
 def test_with_parameter_noresults(self):
     from repoze.lemonade.testing import registerListItem
     from karl.models.interfaces import IGroupSearchFactory
     def dummy_factory(context, request, term):
         def results():
             return 0, [], None
         return results
     dummy_factory.livesearch_all = True
     registerListItem(IGroupSearchFactory, dummy_factory, 'dummy1',
                      title='Dummy1', sort_key=1)
     context = testing.DummyModel()
     request = testing.DummyRequest()
     request.params = {
         'val': 'somesearch',
         }
     results = self._callFUT(context, request)
     self.assertEqual(len(results), 0)
Example #19
0
 def test_with_parameter_withresults_withbadkind(self):
     from repoze.lemonade.testing import registerListItem
     from karl.models.interfaces import IGroupSearchFactory
     def dummy_factory(context, request, term):
         def results():
             return 1, [1], lambda x: testing.DummyModel(title='yo')
         return results
     registerListItem(IGroupSearchFactory, dummy_factory,
                      'foo_kind', title='Dummy')
     context = testing.DummyModel()
     request = testing.DummyRequest()
     request.params = {
         'val': 'somesearch',
         'kind': 'bad_kind',
         }
     response = self._callFUT(context, request)
     self.assertEqual(response.status, '400 Bad Request')
Example #20
0
 def test_with_kind_without_body(self):
     from karl.models.interfaces import ICatalogSearch
     from karl.models.interfaces import IGroupSearchFactory
     from repoze.lemonade.testing import registerListItem
     from webob.multidict import MultiDict
     def dummy_factory(context, request, term):
         def results():
             return 0, [], None
         results.criteria = {'foo': 'bar'}
         return results
     registerListItem(IGroupSearchFactory, dummy_factory, 'dummy1',
                      title='Dummy1', sort_key=1)
     karltesting.registerAdapter(DummySearch, (Interface), ICatalogSearch)
     request = testing.DummyRequest(
         params=MultiDict({'kind':'dummy1'}))
     context = testing.DummyModel()
     result = self._callFUT(context, request)
     self.assertEqual(result[0]['total'], 1)
Example #21
0
 def test_with_kind_without_body(self):
     from karl.models.interfaces import ICatalogSearch
     from karl.models.interfaces import IGroupSearchFactory
     from repoze.lemonade.testing import registerListItem
     from webob.multidict import MultiDict
     def dummy_factory(context, request, term):
         def results():
             return 0, [], None
         results.criteria = {'foo': 'bar'}
         return results
     registerListItem(IGroupSearchFactory, dummy_factory, 'dummy1',
                      title='Dummy1', sort_key=1)
     karltesting.registerAdapter(DummySearch, (Interface), ICatalogSearch)
     request = testing.DummyRequest(
         params=MultiDict({'kind':'dummy1'}))
     context = testing.DummyModel()
     result = self._callFUT(context, request)
     self.assertEqual(result[0]['total'], 1)
Example #22
0
    def test_with_parameter_withresults(self):
        def dummy_factory1(context, request, term):
            pass

        def dummy_factory2(context, request, term):
            def results():
                return 1, [1], lambda x: testing.DummyModel(title='yo')

            return results

        dummy_factory1.livesearch = dummy_factory2.livesearch = True

        from repoze.lemonade.testing import registerListItem
        from karl.models.interfaces import IGroupSearchFactory
        registerListItem(IGroupSearchFactory,
                         dummy_factory1,
                         'dummy1',
                         title='Dummy1',
                         sort_key=1)
        registerListItem(IGroupSearchFactory,
                         dummy_factory2,
                         'dummy2',
                         title='Dummy2',
                         sort_key=2)
        context = testing.DummyModel()
        request = testing.DummyRequest()
        request.params = {
            'val': 'somesearch',
        }

        def dummy_adapter(context, request):
            return dict(title=context.title)

        from karl.views.interfaces import ILiveSearchEntry
        karltesting.registerAdapter(dummy_adapter,
                                    (testing.DummyModel, testing.DummyRequest),
                                    ILiveSearchEntry)
        response = self._callFUT(context, request)
        self.assertEqual(response.status, '200 OK')
        from simplejson import loads
        results = loads(response.body)
        self.assertEqual(len(results), 1)
        self.assertEqual(results[0]['title'], 'yo')
        self.assertEqual(response.content_type, 'application/json')
Example #23
0
 def _callFUT(self,
              provides,
              component,
              name,
              title=None,
              description=None,
              sort_key=0):
     from repoze.lemonade.testing import registerListItem
     return registerListItem(provides, component, name, title, description,
                             sort_key)
Example #24
0
 def test_tabs_requestcontext_is_not_community(self):
     from karl.models.interfaces import IToolFactory
     from repoze.lemonade.testing import registerListItem
     tool_factory = DummyToolFactory()
     registerListItem(IToolFactory, tool_factory, 'one', title='One')
     context = self._makeCommunity()
     request = testing.DummyRequest()
     request.context = context
     adapter = self._makeOne(context, request)
     tabs = adapter.tabs
     self.assertEqual(len(tabs), 2)
     self.assertEqual(tabs[0],
                      {'url': 'http://example.com/view.html',
                       'css_class': '', 'name': 'OVERVIEW'}
                      )
     self.assertEqual(tabs[1],
                      {'url': 'http://example.com/tab',
                       'css_class': 'curr', 'name': 'ONE'}
                      )
Example #25
0
    def test_with_parameter_noresults(self):
        def dummy_factory(context, request, term):
            def results():
                return 0, [], None

            return results

        from repoze.lemonade.testing import registerListItem
        from karl.models.interfaces import IGroupSearchFactory

        dummy_factory.livesearch = True
        registerListItem(IGroupSearchFactory, dummy_factory, "dummy1", title="Dummy1", sort_key=1)
        context = testing.DummyModel()
        request = testing.DummyRequest()
        request.params = {"val": "somesearch"}
        response = self._callFUT(context, request)
        self.assertEqual(response.status, "200 OK")
        from simplejson import loads

        results = loads(response.body)
        self.assertEqual(len(results), 0)
Example #26
0
 def test_numresults_withkind(self):
     from repoze.lemonade.testing import registerListItem
     from karl.models.interfaces import IGroupSearchFactory
     from karl.views.interfaces import ILiveSearchEntry
     def dummy_factory(context, request, term):
         return DummyGroupSearchFactory(
             lambda x: testing.DummyModel(title='yo'))
     registerListItem(IGroupSearchFactory, dummy_factory,
                      'foo_kind', title='Dummy')
     context = testing.DummyModel()
     request = testing.DummyRequest()
     request.params = {
         'val': 'somesearch',
         'kind': 'foo_kind',
         }
     def dummy_adapter(context, request):
         return dict(title=context.title)
     karltesting.registerAdapter(dummy_adapter,
                             (testing.DummyModel, testing.DummyRequest),
                             ILiveSearchEntry)
     results = self._callFUT(context, request)
     self.assertEqual(len(results), 20)
Example #27
0
 def test_numresults_withkind(self):
     from repoze.lemonade.testing import registerListItem
     from karl.models.interfaces import IGroupSearchFactory
     from karl.views.interfaces import ILiveSearchEntry
     def dummy_factory(context, request, term):
         return DummyGroupSearchFactory(
             lambda x: testing.DummyModel(title='yo'))
     registerListItem(IGroupSearchFactory, dummy_factory,
                      'foo_kind', title='Dummy')
     context = testing.DummyModel()
     request = testing.DummyRequest()
     request.params = {
         'val': 'somesearch',
         'kind': 'foo_kind',
         }
     def dummy_adapter(context, request):
         return dict(title=context.title)
     karltesting.registerAdapter(dummy_adapter,
                             (testing.DummyModel, testing.DummyRequest),
                             ILiveSearchEntry)
     results = self._callFUT(context, request)
     self.assertEqual(len(results), 20)
Example #28
0
 def _callFUT(self, provides, component, name, title=None, description=None,
              sort_key=0):
     from repoze.lemonade.testing import registerListItem
     return registerListItem(provides, component, name, title, description,
                             sort_key)