def test_w_multiple_events_multiple_context_hints_list_pks(self): source1 = N(models.Source, id=1) source2 = N(models.Source, id=2) hints = { source1: { 'key': { 'app_name': 'tests', 'model_name': 'TestModel', }, }, source2: { 'key': { 'app_name': 'tests', 'model_name': 'TestModel', }, 'key2': { 'app_name': 'tests', 'model_name': 'TestFKModel', }, }, } e1 = N(models.Event, context={'key': [2, 3, 5]}, source=source1) e2 = N(models.Event, context={'key': 88}, source=source1) e3 = N(models.Event, context={ 'key': 100, 'key2': [50] }, source=source2) e4 = N(models.Event, context={'key2': [60]}, source=source2) self.assertEquals( context_loader.get_model_ids_to_fetch([e1, e2, e3, e4], hints), { test_models.TestModel: set([2, 3, 5, 88, 100]), test_models.TestFKModel: set([50, 60]) })
def test_w_multiple_events_multiple_context_hints_list_pks(self): source1 = N(models.Source, id=1) source2 = N(models.Source, id=2) hints = { source1: { 'key': { 'app_name': 'tests', 'model_name': 'TestModel', }, }, source2: { 'key': { 'app_name': 'tests', 'model_name': 'TestModel', }, 'key2': { 'app_name': 'tests', 'model_name': 'TestFKModel', }, }, } e1 = N(models.Event, context={'key': [2, 3, 5]}, source=source1) e2 = N(models.Event, context={'key': 88}, source=source1) e3 = N(models.Event, context={'key': 100, 'key2': [50]}, source=source2) e4 = N(models.Event, context={'key2': [60]}, source=source2) self.assertEquals(context_loader.get_model_ids_to_fetch([e1, e2, e3, e4], hints), { test_models.TestModel: set([2, 3, 5, 88, 100]), test_models.TestFKModel: set([50, 60]) })
def test_w_one_event_one_context_hint_list_pks(self): source = N(models.Source, id=1) hints = { source: { 'key': { 'app_name': 'tests', 'model_name': 'TestModel', }, }, } e = N(models.Event, context={'key': [2, 3, 5]}, source=source) self.assertEquals(context_loader.get_model_ids_to_fetch([e], hints), {test_models.TestModel: set([2, 3, 5])})
def test_w_one_event_one_context_hint_list_pks(self): source = N(models.Source, id=1) hints = { source: { 'key': { 'app_name': 'tests', 'model_name': 'TestModel', }, }, } e = N(models.Event, context={'key': [2, 3, 5]}, source=source) self.assertEquals(context_loader.get_model_ids_to_fetch([e], hints), { test_models.TestModel: set([2, 3, 5]) })
def test_no_context_hints(self): e = N(models.Event, id=1, context={}) self.assertEquals(context_loader.get_model_ids_to_fetch([e], {}), {})
def test_no_events(self): self.assertEquals(context_loader.get_model_ids_to_fetch([], {}), {})