def test_log_changes_with_valid_params(self): mocker = Mocker() databroker = mocker.mock() document_types = ['article', 'journal'] events = ['add', 'update', 'delete'] # db "insert" must be called len(document_types) * len(events) times for document_type in document_types: for event in events: databroker['historychanges_%s' % document_type].insert(ANY) mocker.result(123457890) mocker.replay() db = DataBroker(databroker) for document_type in document_types: for event in events: log_data = { 'document_type': document_type, 'code': '123', 'collection': 'test_collection', 'event': event, 'date': datetime.now().isoformat(), } log_id = db._log_changes(**log_data) self.assertEqual(log_id, 123457890)