def test_get_forms_received_since(self): # since this test depends on the global form list just wipe everything FormProcessorTestUtils.delete_all_sql_forms() form1 = create_form_for_test(DOMAIN) form2 = create_form_for_test(DOMAIN) middle = datetime.utcnow() time.sleep(.01) form3 = create_form_for_test(DOMAIN) form4 = create_form_for_test(DOMAIN) time.sleep(.01) end = datetime.utcnow() forms_back = list(FormAccessorSQL.get_all_forms_received_since()) self.assertEqual(4, len(forms_back)) self.assertEqual(set(form.form_id for form in forms_back), set([form1.form_id, form2.form_id, form3.form_id, form4.form_id])) forms_back = list(FormAccessorSQL.get_all_forms_received_since(middle)) self.assertEqual(2, len(forms_back)) self.assertEqual(set(form.form_id for form in forms_back), set([form3.form_id, form4.form_id])) self.assertEqual(0, len(list(FormAccessorSQL.get_all_forms_received_since(end)))) self.assertEqual(1, len(list(FormAccessorSQL.get_forms_received_since(limit=1))))
def iter_all_changes(self, start_from=None): for form in FormAccessorSQL.get_all_forms_received_since(start_from, chunk_size=self.chunk_size): yield _sql_form_to_change(form)