Example #1
0
 def test_context_processor_new_section(self):
     "Subsequent calls with a new section only require querying the placements."
     other_section = self.create_section(pattern='^/bar/')
     current_placements(self.request)
     with self.assertNumQueries(1):
         request = self.factory.get('/bar/')
         current_placements(request)
Example #2
0
 def test_context_processor_no_cache(self):
     "Number of queries for the context processor with no cache."
     cache.clear()
     with self.assertNumQueries(2):
         # One query to get all current sections
         # One query to get all placements the current section
         current_placements(self.request)
 def test_match_priority(self):
     "Resolve overlapping regex patterns by using priority flag."
     request = self.factory.get('/foo/bar')
     section = self.create_section(pattern='^/foo/', priority=0)
     other_section = self.create_section(pattern='^/foo/bar', priority=1)
     context = current_placements(request)
     self.assertEqual(context[SECTION_CONTEXT_KEY], other_section)
 def test_match_url_no_placements(self):
     "Handle no placements for the match url."
     request = self.factory.get('/foo/')
     section = self.create_section(pattern='^/foo/')
     context = current_placements(request)
     placements = context[PLACEMENTS_CONTEXT_KEY]
     self.assertEqual(len(placements), 0)
 def test_match_url_placements(self):
     "Successful match of placements for the current url."
     request = self.factory.get('/foo/')
     section = self.create_section(pattern='^/foo/')
     placement = self.create_placement()
     placement.sections.add(section)
     context = current_placements(request)
     placements = context[PLACEMENTS_CONTEXT_KEY]
     self.assertEqual(len(placements), 1)
     self.assertTrue(placement in placements)
 def test_no_existing_sections(self):
     "Handle when no sections are defined."
     request = self.factory.get('/foo/')
     context = current_placements(request)
     self.assertEqual(context[SECTION_CONTEXT_KEY], None)
 def test_no_matched_urls(self):
     "Handle when no sections match the current url."
     request = self.factory.get('/foo/')
     section = self.create_section(pattern='^/bar/')
     context = current_placements(request)
     self.assertEqual(context[SECTION_CONTEXT_KEY], None)
 def test_matched_url(self):
     "Successful match of a section to the current url."
     request = self.factory.get('/foo/')
     section = self.create_section(pattern='^/foo/')
     context = current_placements(request)
     self.assertEqual(context[SECTION_CONTEXT_KEY], section)
Example #9
0
 def test_context_processor_cached(self):
     "Subsequent calls through the context process should be cached."
     current_placements(self.request)
     with self.assertNumQueries(0):
         request = self.factory.get('/foo/')
         current_placements(request)