def test_filter_ledger_diffs(self): ignored_diffs = _make_ignored_diffs('LedgerValue') + [ FormJsonDiff( diff_type='diff', path=('last_modified',), old_value='2016-04-01T00:00:00.000000Z', new_value='2016-04-01T15:39:19.711333Z', ), FormJsonDiff( diff_type='type', path=('last_modified_form_id',), old_value=None, new_value='7ab03ccc-e5b7-4c8f-b88f-43ee3b0543a5', ), ] filtered = filter_ledger_diffs(ignored_diffs + REAL_DIFFS) self.assertEqual(filtered, REAL_DIFFS)
def _diff_ledgers(self, case_ids): from corehq.apps.tzmigration.timezonemigration import json_diff from corehq.apps.commtrack.models import StockState couch_state_map = { state.ledger_reference: state for state in StockState.objects.filter(case_id__in=case_ids) } self.log_debug('Calculating ledger diffs for {} cases'.format(len(case_ids))) for ledger_value in LedgerAccessorSQL.get_ledger_values_for_cases(case_ids): couch_state = couch_state_map.get(ledger_value.ledger_reference, None) diffs = json_diff(couch_state.to_json(), ledger_value.to_json(), track_list_indices=False) self.diff_db.add_diffs( 'stock state', ledger_value.ledger_reference.as_id(), filter_ledger_diffs(diffs) )
def test_filter_ledger_diffs(self): ignored_diffs = _make_ignored_diffs('LedgerValue') filtered = filter_ledger_diffs(ignored_diffs + REAL_DIFFS) self.assertEqual(filtered, REAL_DIFFS)
def test_filter_ledger_diffs(self): partial_diffs = _get_partial_diffs('LedgerValue') filtered = filter_ledger_diffs(partial_diffs + REAL_DIFFS) self.assertEqual(filtered, REAL_DIFFS)