def test_one_context_renderer(self, mock_get_sources): source = N(models.Source, id=1) mock_get_sources.return_value = [source] res = context_loader.get_context_hints_per_source([ N(models.ContextRenderer, source=source, context_hints={ 'key': { 'app_name': 'entity_event.tests', 'model_name': 'TestModel', 'select_related': ['fk'], }, }) ]) self.assertEquals( res, { source: { 'key': { 'app_name': 'entity_event.tests', 'model_name': 'TestModel', 'select_related': set(['fk']), 'prefetch_related': set(), } } })
def test_multiple_context_renderers_over_multiple_source(self): source1 = N(models.Source, id=1) source2 = N(models.Source, id=2) res = context_loader.get_context_hints_per_source([ N(models.ContextRenderer, source=source1, context_hints={ 'key': { 'app_name': 'entity_event.tests', 'model_name': 'TestModel', 'select_related': ['fk'], 'prefetch_related': ['prefetch1', 'prefetch2'], }, }), N(models.ContextRenderer, source=source1, context_hints={ 'key': { 'app_name': 'entity_event.tests', 'model_name': 'TestModel', 'select_related': ['fk1'], 'prefetch_related': ['prefetch2', 'prefetch3'], }, }), N(models.ContextRenderer, source=source2, context_hints={ 'key2': { 'app_name': 'entity_event.tests2', 'model_name': 'TestModel2', 'select_related': ['fk2'], 'prefetch_related': ['prefetch5', 'prefetch6'], }, }) ]) self.assertEquals( res, { source1: { 'key': { 'app_name': 'entity_event.tests', 'model_name': 'TestModel', 'select_related': set(['fk', 'fk1']), 'prefetch_related': set(['prefetch1', 'prefetch2', 'prefetch3']), } }, source2: { 'key2': { 'app_name': 'entity_event.tests2', 'model_name': 'TestModel2', 'select_related': set(['fk2']), 'prefetch_related': set(['prefetch5', 'prefetch6']), } }, })
def test_multiple_context_renderers_over_multiple_source(self): source1 = N(models.Source, id=1) source2 = N(models.Source, id=2) res = context_loader.get_context_hints_per_source([ N(models.ContextRenderer, source=source1, context_hints={ 'key': { 'app_name': 'entity_event.tests', 'model_name': 'TestModel', 'select_related': ['fk'], 'prefetch_related': ['prefetch1', 'prefetch2'], }, }), N(models.ContextRenderer, source=source1, context_hints={ 'key': { 'app_name': 'entity_event.tests', 'model_name': 'TestModel', 'select_related': ['fk1'], 'prefetch_related': ['prefetch2', 'prefetch3'], }, }), N(models.ContextRenderer, source=source2, context_hints={ 'key2': { 'app_name': 'entity_event.tests2', 'model_name': 'TestModel2', 'select_related': ['fk2'], 'prefetch_related': ['prefetch5', 'prefetch6'], }, }) ]) self.assertEquals(res, { source1: { 'key': { 'app_name': 'entity_event.tests', 'model_name': 'TestModel', 'select_related': set(['fk', 'fk1']), 'prefetch_related': set(['prefetch1', 'prefetch2', 'prefetch3']), } }, source2: { 'key2': { 'app_name': 'entity_event.tests2', 'model_name': 'TestModel2', 'select_related': set(['fk2']), 'prefetch_related': set(['prefetch5', 'prefetch6']), } }, })
def test_one_context_renderer(self, mock_get_sources): source = N(models.Source, id=1) mock_get_sources.return_value = [source] res = context_loader.get_context_hints_per_source([ N(models.ContextRenderer, source=source, context_hints={ 'key': { 'app_name': 'entity_event.tests', 'model_name': 'TestModel', 'select_related': ['fk'], }, }) ]) self.assertEquals(res, { source: { 'key': { 'app_name': 'entity_event.tests', 'model_name': 'TestModel', 'select_related': set(['fk']), 'prefetch_related': set(), } } })
def test_no_context_renderers(self): res = context_loader.get_context_hints_per_source([]) self.assertEquals(res, {})