def test_fields_are_identical(self): job_id = uuid4() left_fields = [Field("name", "john doe"), Field("salary", 1900.99), Field("married", True), Field("job_id", job_id)] right_fields = [Field("name", "john doe"), Field("married", True), Field("salary", 1900.99), Field("points", 100), Field("job_id", str(job_id))] assert Field.fields_are_identical(left_fields, right_fields) assert Field.fields_are_identical(right_fields, left_fields)
def __apply_update_to_existing_document(self, update, existing_document): if update.timestamp > existing_document.timestamp: if update.is_delete: self._document_store.delete(update.identifier) else: # in order to avoid deadlocks and break cycles, a document is updated only if there are differences. if not Field.fields_are_identical(existing_document.fields, update.fields): self._document_store.update(update)
def test_fields_are_identical(self): job_id = uuid4() left_fields = [ Field("name", "john doe"), Field("salary", 1900.99), Field("married", True), Field("job_id", job_id) ] right_fields = [ Field("name", "john doe"), Field("married", True), Field("salary", 1900.99), Field("points", 100), Field("job_id", str(job_id)) ] assert Field.fields_are_identical(left_fields, right_fields) assert Field.fields_are_identical(right_fields, left_fields)