From b09fecf7e2cc9c413092c40b60cb0845e1ae212c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phan=20Mestach?= Date: Wed, 18 Dec 2024 15:10:02 +0100 Subject: [PATCH] fix CI and force all files to xlsx instead of xls --- iaso/odk/validator.py | 26 ++++++++++++------ iaso/tests/api/test_form_versions.py | 20 +++++++------- iaso/tests/api/test_mappingversions.py | 2 +- .../.~lock.odk_form_blatantly_invalid.xlsx# | 1 + ...ck.odk_form_valid_sample1_2020022401.xlsx# | 1 + ...ck.odk_form_valid_sample2_2020022402.xlsx# | 1 + .../fixtures/odk_form_blatantly_invalid.xls | Bin 9216 -> 0 bytes .../fixtures/odk_form_blatantly_invalid.xlsx | Bin 0 -> 6291 bytes .../fixtures/odk_form_invalid_version.xls | Bin 17408 -> 0 bytes .../fixtures/odk_form_invalid_version.xlsx | Bin 0 -> 10841 bytes .../fixtures/odk_form_valid_no_settings.xls | Bin 15872 -> 0 bytes .../fixtures/odk_form_valid_no_settings.xlsx | Bin 0 -> 9404 bytes .../odk_form_valid_sample1_2020022401.xls | Bin 17408 -> 0 bytes .../odk_form_valid_sample1_2020022401.xlsx | Bin 0 -> 10849 bytes .../odk_form_valid_sample1_2020022402.xls | Bin 17408 -> 0 bytes .../odk_form_valid_sample1_2020022402.xlsx | Bin 0 -> 10849 bytes .../odk_form_valid_sample1_no_version.xls | Bin 17408 -> 0 bytes .../odk_form_valid_sample1_no_version.xlsx | Bin 0 -> 10824 bytes .../odk_form_valid_sample2_2020022301.xls | Bin 17408 -> 0 bytes .../odk_form_valid_sample2_2020022301.xlsx | Bin 0 -> 10849 bytes .../odk_form_valid_sample2_2020022401.xls | Bin 17408 -> 0 bytes .../odk_form_valid_sample2_2020022401.xlsx | Bin 0 -> 10848 bytes .../odk_form_valid_sample2_2020022402.xls | Bin 17408 -> 0 bytes .../odk_form_valid_sample2_2020022402.xlsx | Bin 0 -> 10848 bytes iaso/tests/odk/test_parsing.py | 8 +++--- 25 files changed, 36 insertions(+), 23 deletions(-) create mode 100644 iaso/tests/fixtures/.~lock.odk_form_blatantly_invalid.xlsx# create mode 100644 iaso/tests/fixtures/.~lock.odk_form_valid_sample1_2020022401.xlsx# create mode 100644 iaso/tests/fixtures/.~lock.odk_form_valid_sample2_2020022402.xlsx# delete mode 100644 iaso/tests/fixtures/odk_form_blatantly_invalid.xls create mode 100644 iaso/tests/fixtures/odk_form_blatantly_invalid.xlsx delete mode 100644 iaso/tests/fixtures/odk_form_invalid_version.xls create mode 100644 iaso/tests/fixtures/odk_form_invalid_version.xlsx delete mode 100644 iaso/tests/fixtures/odk_form_valid_no_settings.xls create mode 100644 iaso/tests/fixtures/odk_form_valid_no_settings.xlsx delete mode 100644 iaso/tests/fixtures/odk_form_valid_sample1_2020022401.xls create mode 100644 iaso/tests/fixtures/odk_form_valid_sample1_2020022401.xlsx delete mode 100644 iaso/tests/fixtures/odk_form_valid_sample1_2020022402.xls create mode 100644 iaso/tests/fixtures/odk_form_valid_sample1_2020022402.xlsx delete mode 100644 iaso/tests/fixtures/odk_form_valid_sample1_no_version.xls create mode 100644 iaso/tests/fixtures/odk_form_valid_sample1_no_version.xlsx delete mode 100644 iaso/tests/fixtures/odk_form_valid_sample2_2020022301.xls create mode 100644 iaso/tests/fixtures/odk_form_valid_sample2_2020022301.xlsx delete mode 100644 iaso/tests/fixtures/odk_form_valid_sample2_2020022401.xls create mode 100644 iaso/tests/fixtures/odk_form_valid_sample2_2020022401.xlsx delete mode 100644 iaso/tests/fixtures/odk_form_valid_sample2_2020022402.xls create mode 100644 iaso/tests/fixtures/odk_form_valid_sample2_2020022402.xlsx diff --git a/iaso/odk/validator.py b/iaso/odk/validator.py index 45c235e730..9f85d2be0f 100644 --- a/iaso/odk/validator.py +++ b/iaso/odk/validator.py @@ -55,21 +55,31 @@ def is_repeat_group(question): return question.get("type") == "begin repeat" or question.get("type") == "begin_repeat" -def get_list_name(question): +def get_list_name_from_select(question): q_type = question.get("type") + if "select one from " in q_type: + return q_type.split("select one from ")[1] if "select_one" in q_type: return q_type.split("select_one ")[1] if "select one" in q_type: + import pdb + + pdb.set_trace() return q_type.split("select one ")[1] return None -def index_by_field(collection, field_name): +def get_list_name_from_choice(choice): + return choice.get("list_name") or choice.get("list name") + + +def group_by_lambda(collection, field_name_lambda): collection_by_name = {} for q in collection: - if q.get(field_name): - collection_by_name.setdefault(q[field_name], []).append(q) + field_value = field_name_lambda(q) + if field_value: + collection_by_name.setdefault(field_value, []).append(q) return collection_by_name @@ -82,13 +92,13 @@ def validate_xls_form(xls_file): choices_rows = parse_sheet(excel_file, "choices") questions = [q for q in question_rows if q.get("type") and not is_end_group(q) and not is_end_repeat(q)] - choices = [c for c in choices_rows if c.get("list_name")] + choices = [c for c in choices_rows if get_list_name_from_choice(c)] validation_errors = [] - questions_by_name = index_by_field(questions, "name") + questions_by_name = group_by_lambda(questions, lambda x: x.get("name")) - choices_by_list_name = index_by_field(choices, "list_name") + choices_by_list_name = group_by_lambda(choices, lambda x: get_list_name_from_choice(x)) has_some_repeat_groups = len([q for q in question_rows if is_repeat_group(q)]) > 0 @@ -119,7 +129,7 @@ def validate_xls_form(xls_file): select_one_questions = [q for q in questions if is_select_one(q)] for select_one_q in select_one_questions: - list_name = get_list_name(select_one_q) + list_name = get_list_name_from_select(select_one_q) if list_name not in choices_by_list_name: validation_errors.append( { diff --git a/iaso/tests/api/test_form_versions.py b/iaso/tests/api/test_form_versions.py index 65d2a4a3aa..6edb5e250d 100644 --- a/iaso/tests/api/test_form_versions.py +++ b/iaso/tests/api/test_form_versions.py @@ -52,7 +52,7 @@ def setUpTestData(cls): cls.form_1.save() form_2_file_mock = mock.MagicMock(spec=File) form_2_file_mock.name = "test.xml" - with open("iaso/tests/fixtures/odk_form_valid_no_settings.xls", "rb") as xls_file: + with open("iaso/tests/fixtures/odk_form_valid_no_settings.xlsx", "rb") as xls_file: cls.form_2.form_versions.create( file=form_2_file_mock, xls_file=UploadedFile(xls_file), version_id="2020022401" ) @@ -197,7 +197,7 @@ def test_form_versions_create_ok_first_version(self): """POST /form-versions/ happy path (first version)""" self.client.force_authenticate(self.yoda) - with open("iaso/tests/fixtures/odk_form_valid_sample1_2020022401.xls", "rb") as xls_file: + with open("iaso/tests/fixtures/odk_form_valid_sample1_2020022401.xlsx", "rb") as xls_file: response = self.client.post( f"/api/formversions/", data={"form_id": self.form_1.id, "xls_file": xls_file}, @@ -217,7 +217,7 @@ def test_form_versions_create_ok_first_version(self): self.assertRegex(created_version.file.name, r"forms/new_land_speeder_concept_2020022401(.*).xml") self.assertIsInstance(created_version.xls_file, File) self.assertGreater(created_version.xls_file.size, 100) - self.assertEqual(created_version.xls_file.name, "forms/new_land_speeder_concept_2020022401.xls") + self.assertEqual(created_version.xls_file.name, "forms/new_land_speeder_concept_2020022401.xlsx") version_form = created_version.form self.assertEqual("sample1", version_form.form_id) @@ -226,7 +226,7 @@ def test_form_versions_create_ok_second_version(self): """POST /form-versions/ happy path (second version)""" self.client.force_authenticate(self.yoda) - with open("iaso/tests/fixtures/odk_form_valid_sample2_2020022402.xls", "rb") as xls_file: + with open("iaso/tests/fixtures/odk_form_valid_sample2_2020022402.xlsx", "rb") as xls_file: response = self.client.post( f"/api/formversions/", data={"form_id": self.form_2.id, "xls_file": xls_file}, @@ -271,7 +271,7 @@ def test_form_versions_create_ok_second_version_with_mappings(self): }, ) - with open("iaso/tests/fixtures/odk_form_valid_sample2_2020022402.xls", "rb") as xls_file: + with open("iaso/tests/fixtures/odk_form_valid_sample2_2020022402.xlsx", "rb") as xls_file: response = self.client.post( f"/api/formversions/", data={"form_id": self.form_2.id, "xls_file": xls_file}, @@ -300,7 +300,7 @@ def test_form_versions_create_invalid_xls_form_id_1(self): """POST /form-versions/ with a form_id that already exists within the account (for a different form)""" self.client.force_authenticate(self.yoda) - with open("iaso/tests/fixtures/odk_form_valid_sample2_2020022401.xls", "rb") as xls_file: + with open("iaso/tests/fixtures/odk_form_valid_sample2_2020022401.xlsx", "rb") as xls_file: response = self.client.post( f"/api/formversions/", data={"form_id": self.form_1.id, "xls_file": xls_file}, @@ -314,7 +314,7 @@ def test_form_versions_create_invalid_xls_form_id_2(self): """POST /form-versions/ attempt to create a second version with a different form_id""" self.client.force_authenticate(self.yoda) - with open("iaso/tests/fixtures/odk_form_valid_sample1_2020022402.xls", "rb") as xls_file: + with open("iaso/tests/fixtures/odk_form_valid_sample1_2020022402.xlsx", "rb") as xls_file: response = self.client.post( f"/api/formversions/", data={"form_id": self.form_2.id, "xls_file": xls_file}, @@ -328,7 +328,7 @@ def test_form_versions_create_invalid_xls_version(self): """POST /form-versions/ attempt to create a second version with a version inferior to the previous one""" self.client.force_authenticate(self.yoda) - with open("iaso/tests/fixtures/odk_form_valid_sample2_2020022301.xls", "rb") as xls_file: + with open("iaso/tests/fixtures/odk_form_valid_sample2_2020022301.xlsx", "rb") as xls_file: response = self.client.post( f"/api/formversions/", data={"form_id": self.form_2.id, "xls_file": xls_file}, @@ -344,7 +344,7 @@ def test_form_versions_create_invalid_xls_file(self): """POST /form-versions/ with invalid XLS file""" self.client.force_authenticate(self.yoda) - with open("iaso/tests/fixtures/odk_form_blatantly_invalid.xls", "rb") as xls_file: + with open("iaso/tests/fixtures/odk_form_blatantly_invalid.xlsx", "rb") as xls_file: response = self.client.post( f"/api/formversions/", data={"form_id": self.form_1.id, "xls_file": xls_file}, @@ -372,7 +372,7 @@ def test_form_versions_create_no_xls_file(self): def test_form_versions_create_no_auth(self): """POST /form-versions/ , without auth -> we expect a 401 error""" - with open("iaso/tests/fixtures/odk_form_valid_no_settings.xls", "rb") as xls_file: + with open("iaso/tests/fixtures/odk_form_valid_no_settings.xlsx", "rb") as xls_file: response = self.client.post( f"/api/formversions/", data={"form_id": self.form_1.id, "xls_file": xls_file}, diff --git a/iaso/tests/api/test_mappingversions.py b/iaso/tests/api/test_mappingversions.py index c4274eb19e..8931743207 100644 --- a/iaso/tests/api/test_mappingversions.py +++ b/iaso/tests/api/test_mappingversions.py @@ -327,7 +327,7 @@ def test_mappingversions_list_filters_project_ids(self): self.assertEqual(len(resp.json()["mapping_versions"]), 1) def create_form_version(self): - with open("iaso/tests/fixtures/odk_form_valid_sample1_2020022401.xls", "rb") as xls_file: + with open("iaso/tests/fixtures/odk_form_valid_sample1_2020022401.xlsx", "rb") as xls_file: self.client.post( f"/api/formversions/", data={"form_id": self.form_1.id, "xls_file": xls_file}, diff --git a/iaso/tests/fixtures/.~lock.odk_form_blatantly_invalid.xlsx# b/iaso/tests/fixtures/.~lock.odk_form_blatantly_invalid.xlsx# new file mode 100644 index 0000000000..7f491e5a47 --- /dev/null +++ b/iaso/tests/fixtures/.~lock.odk_form_blatantly_invalid.xlsx# @@ -0,0 +1 @@ +,smestach,bebop,18.12.2024 15:07,file:///home/smestach/.config/libreoffice/4; \ No newline at end of file diff --git a/iaso/tests/fixtures/.~lock.odk_form_valid_sample1_2020022401.xlsx# b/iaso/tests/fixtures/.~lock.odk_form_valid_sample1_2020022401.xlsx# new file mode 100644 index 0000000000..eea5c989a7 --- /dev/null +++ b/iaso/tests/fixtures/.~lock.odk_form_valid_sample1_2020022401.xlsx# @@ -0,0 +1 @@ +,smestach,bebop,18.12.2024 14:55,file:///home/smestach/.config/libreoffice/4; \ No newline at end of file diff --git a/iaso/tests/fixtures/.~lock.odk_form_valid_sample2_2020022402.xlsx# b/iaso/tests/fixtures/.~lock.odk_form_valid_sample2_2020022402.xlsx# new file mode 100644 index 0000000000..1421c6db78 --- /dev/null +++ b/iaso/tests/fixtures/.~lock.odk_form_valid_sample2_2020022402.xlsx# @@ -0,0 +1 @@ +,smestach,bebop,18.12.2024 14:54,file:///home/smestach/.config/libreoffice/4; \ No newline at end of file diff --git a/iaso/tests/fixtures/odk_form_blatantly_invalid.xls b/iaso/tests/fixtures/odk_form_blatantly_invalid.xls deleted file mode 100644 index 2828c72fe379a0d50fc92472b16efbf0f7e0514e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9216 zcmeHMZ)}xU8ULNz_vPN(ZslG!HU?Y0maRZr>Y(Z>jNS?x8^MhQbR~*mv}*xjt9D?v zWX1~{PLU;bThJymW+ud_$>QP%zl=~m_(eO#F*HgvfPcR1OEE6GgmL}-o^#)q-rIY- zG82<+J?-kiMe9e;95!Ju2E6t(+-yvLveG@MN5W~OoSNwrcbz#QPG`oG zGSq%`o?ZG`aMC(~IHRKL25@|$_X*_GZ*?1$l!!JzpPlg;pK*Zr8!%n&s zPL@V~4d$`F<=EQ&k2`#u9kwQ#f=<2>H^MdJRy1QV+DVIXJGNsPR%08M5-oqSjZd0_ zHEjCLwamVN&3s25#uullAde(&nOZ>yeNW>(#1`!5`hNsF?A_nMU0~4Gq>z2sP5Dvw zvvBFJ=y`}jMOw;H(%gr{l~+9W#ftUUP4wQ9Vu-uwq2JmtU^~#v+H>wf-=40LfB9CL ziT~A98mX%I-azl!^QtuzO8Z|aui4J3#_taPFaC4DzakG~xpUkXxxDdKaVoC2=W1}( zT223hj63Aiy;6$Cv(1mge=6~1HSqQtcxw$jT@{x%YtPN)el?Fyd)I<;TqV*-QGRdCjSIIN#kPsuO!8-!P_$K%f@ z0%QtxMdjJT9Lwhw0?V%}BrQh)mS0~8i_hT#{N8+g>;#S-JBEBdkF#gbaxBs(u*G+A9>g3 z7%%c)G){M;7-hLQI*##C=HsL294w-9e4IF&BN`dn1)v8_7ZsuK;*;XD)QzNnGibSlHXA*SU=r@L9Hu_IlIFPZ>)>=64oT>v*ZeqQn>Wvi?83;_dtHT;jMBl(hne zsolbktt8)QR|8!S^w)w1@RT*p(7g{_9ZI@Aq!OAP$-8XMd&q^U5MpB)Ca;y4<}buOWqMrHQ!x3e z)YGl85=&OWG%=NWdd(^^EsM$6JGM}O8;EoLC*;quAo$R7Zk;3$3;US9Bx=B}pT=$ewbw>oQ7n*fQy+sgP1hn?H0U`^HzPAWti!inbV~a4h&{%m3je+-}p7@&8!bpmIXy&{H-{+D= zGPX#@7RlI$=G9xIVvAI4k%}!+v4v*cTcl%)bZn81Ez+@t)`YjHk1aG?zV-F7MZH;c zC+6W*bp$QMaptJ<`flI}sC zSi?MBcJS7+1ByqKLe3rjW+GX1udW_nsQK064!O7*T;8hbe~@vfagI|o&a?4Lv<_{2 zX5*LH_{Gh}FSGHBHpw+k;{4X@RH z)qC#H5B~Y~rd^qzeuwQ}^7B8cE%vRBxt_~s)HaImDd|@@)uG&fE%CphDfCoStTY}s)T*mljdIYTx%?9&A;?T?|j$?@O|F@{{jH)xB378 diff --git a/iaso/tests/fixtures/odk_form_blatantly_invalid.xlsx b/iaso/tests/fixtures/odk_form_blatantly_invalid.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c6c1fd89c488b8330f0bb4591f5c5117fe0d1dfd GIT binary patch literal 6291 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 N@xD#CH^g^m{{!fb=$`-p literal 0 HcmV?d00001 diff --git a/iaso/tests/fixtures/odk_form_invalid_version.xls b/iaso/tests/fixtures/odk_form_invalid_version.xls deleted file mode 100644 index 2fbd29461ba9996c85e37bd022ed947b81d8a298..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17408 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 literal 0 HcmV?d00001 diff --git a/iaso/tests/fixtures/odk_form_valid_no_settings.xls b/iaso/tests/fixtures/odk_form_valid_no_settings.xls deleted file mode 100644 index bc09dbdd1ae5697d7cd64d937114c3a4fb4beceb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15872 zcmeI3Ym8mjRmazvx9!BQCNr&*x)&$5<41-#PKfK&o=KA!8%R<$CJw>idd4%hvEy-P z#<8O|Vv;62L@JpS1uPXoK>`t?iV6fmYE?&k#D&r{AS{903c-hpk{}AL)Mohq);jy{ zbMKsMJE=fw)H^$8#FLb|32UlBe zc4K)zuOFcI>fru|zaJb4EE@@6W?ZY-< zhwSGrgJ8t^Wy1^T4vY5XsK@i*VUG=nyUU`uJSSCTM{T3sZpDG-j5k_ifjnBDBAqNT zc)DA1OA=%J8VP(&DN8+(Dp2d&{uPQ6XdHbu1_IUjz_yE6@xamX>8Y8i$=SyJXT~Rv zH}*|UADcNcF)^!g^Yhzw?fKwR_3~%K4+9?#O9&KKKEJ8R(_1qIIO%%rORs%;_=e@5 z`pp5`wD~)qy-%>-HrU4ngJQQ1$wC71&?b?YEzxnCjwB%3{L=M0-7|)tyy$KHI`I$Q zOV9nze}3noBg_Bz*Tw((KmA8|dAAOpaX>TirrWpo8+BV)-Lp@&vLTGElbHeUWMDO> zWeN3@a^dZr?YQb+t+v`qEW1X%O^?_}w(BPG!?ww`)Xl4%?84c#6U=k0Belg=+w0Q7 zfSpA-`t=w0+Ce*RM{Ufeb>1R5wDwq9>{e7dZcpeus~+R(->?VOI;8`Q+l1?K7+2e9 z(QWg;`1#Th`in<2a$1q@pqVsY={-sL@u z+#UknsDYPw&b0RjEz?PjVy@4xE9ZLr`mVWtzuKJn z^}4y<`4?1?M21lMu$NwXNu>l+n^y+%vrh9Gpx>btI-Rw%AKk9DAaiqe{``4e=4||> zH|?Kpz1`-&^}Id!^?i1D#k{@whr8^T9^Pla_l2`pd~O%!^^fC%$epuuYR{j$U>DBm zdf}XHot(F=7cK}cb~w)Im^7Q5JZCSy_@b$UZ9ONzR{hg)&JV%1YODbJmoN2<#AJMW z_MH6nch@qlzG6nvVcKKHlY$T0{>{Mqi*Y+*QyxVoY{tG}D~n}juP?^Ut?%`Q&c#4v zIy{zxM;z(?)ndu(pH=&59cIt?`4fJA*3ZxR`Ir6tD}Me}KmVGazi5k<8|R$f(*>MA zqx-_XSgf!WcD{J%=`VQgSJ+<{+s4hlhlRkqIBlXg-K-4aY6*KMyA$8|fV+vCDsjA`Tvh1>1I0cb*s zA@t7Lvg*Tep*2m{qLgO0hfqBe0y}D8K3o1pS`+=dUbT`ED|qyTtmDvqlTn=$^``H%<>6wa7egM67 ze}*>fw6Gl4U+~os1*CA==ZZ=~E>Jn?PeLDPA?Skfpz|^9kTK_s{>YQ-LRoGWluzo*&^TCm8hju1`6Zbm zyIqgabuxTeJO zp%QbfX9Y#l{>!4+>zW}h;GfJlqF8ti z`hf{%5Z-%6GoR6-@=Q6u$JHZd$6R6-Rm;Uwl5K%)#(gt90#BOIAG(O?aYn;LzvMsd zvQ5~ahwiJ%EPNQN!S5%X>ty*0@q{hrr~&^J(qVJ(lI|nw%qT|lEJ8YVo$R0cWFt9t zT*)hP^au$OvyfKukr_qBIy<_O#jbbRCEh|NA*;+=NN7eLN)$lH$UDiDcyY${lC_$n zN{WCD`D5e}JUfleQ4pylXp-8M=!R^QZ>A^|ctT2bdQ1_Th)K*jDY{jiBrcLnsy2&` zGdyx)>Q5$ajgmYGE6?&kdMR7BTW6Xw&nh{O~jh0u+ov747@5OkRTxM+eulK7MxQj|r^6bB{XCG*Isgz^i# zfwPkgX1vJxDc4O3aP(~rS8$a>15ekBFJ{U59!DiPo>qHWddNXEW=&-u?wDj3=9>Fe z=L~j|bM)!Vcb;>WXDT^^w^SG=DGjp|S})errL(cjXyc;j#LWS>ivu-!2NpImTJKp* zw-efAR<~&TxG*!5SQKH@p!8tsnGXY4&z?D0_C%Esev zU$7r}d{UzlY(y)#D@yuFCv!liF{SMwmo3W#A_B=);=WH$A`7&VM&YMQ^JZ0m(MOg< z8c1_Qi!(7m$p@K3+C(D)0D<696&FWz-+%@r8(Q*LWt@iM%7HQJ@~F}>f)V>IV%(%~ z!F39?r^Q4R#<5JP76f>Fq|?*lh?ypp!XN3CqU4aqPwFp-M=x{}v7pl;3E8obp)iU9 zq1|txIOFt*KM~EK$MS?_9+3s{*2me)71Z$CX=cYnH42Gjo(H|WOGXO^_$)~iWt{RE zFn3~HQf?}avi8~~*h(iNNTP&1D5HsEa53ZQcucgAY04Q$j~E-7hXq@3QO|cfZ=LzU z8j^KjktFemy?aFueW%zMSuzz|c@fchQI70bew@>RwkYEf_N~Kot zFfAy4oyRULa8fRB-5$s#XL~6Uwv8tavxyL^B}7Z;B-o$OT^46i7jg2S;Eh35`^a(~ z5uJiMCY&-UZ(;3}QP%S@;VWSTg-c+>)NsjtbB*`?)y17nbXe5-t-yBC5=)|Kc4%V6 z0jUnHNMb#l!Qcl3YS>*` zg8fxdk$N(Dh)1kXl1qUuIbG6Es~oaAA@ZOoQovDeB=zG`=wf{t{Xvq)eLWv+5L77?QVz7R6UAC>v?ERE`} zQq=ho=m=Sn;u?0RbGuKFyb3_d!Dl@Wtp#4YBx2P~ffeNzW|ac|ddU<@p;t_cGMw_T zYKECUL6-0r6oaQQ$UMvJXJ{4t>{yZQTZ8+Z1kGnFWr4vP$= zW?5Y9an-d>WLyq2?FLMz*aUAMI-<7>MU-u6-wAu4wM8MZRCdO8{qGk=DjE=T-Y*IJ z%1gl5IcQy|g+*gEEGUVO$=Z-O@bFW7IChtao*8G_mx$OFWm{SX=3R?w5dlKIZ@dbW-XiS+D^TaSQogClcseRw1I!9y{ ze1na=luqp_+}(l*Oc z!lF7nEW`xFSXZ}q(960Ad(2Xtr8T#19}q680EOLZG*ok!psAyp5uan}t#y7hb@Mao zHlw$XdNVl1g`#WTenQdiyL!vY`^Z_ne0;XY>_vTo@dx^7Xyc&ScEPsYV76PIzPt?e@1p9AY`xdFzRz3U@_pX5kQ0S2iEx?Uuh5zAfkgX{-uTJ`V;>qh z;P8zO-{j|K95Saq>9+NABm|~sXYwPr_80zfwiOOdG ztnRS1f?-Un_d0!CaJ$Yw>0iz9_hemXX9BvZwNNduYc-4MsBIxuZ#Oj-~8sk zjjXTSe@2*1)8#`#K0nmY=kezsximt9Yhh2h*d^Gt*Lxq@^uIWi+g*C{*s9#_){FLw zcjR`D?BwO`x!tQbzMHSj?LGVwW_w7|vOqE+RuOS}!aU4fyiiK|O|1ul3Wevd8i8xhzhbb+ZLu zin8T1Y^%|1VOu{^wy>2!k1=3TC8=i#=OX9tre;rYDpEVnMdEMB);3$H?{n8}#XBx{*-fjY z2lHG;?s|DiZj-y_mgP3N>#?P|O(eLuIJbK}S4BJJDlCc5L36I^t;tpGFgWV9Sxpj*PIq98E@u(bz_4 zM;igf?h=UyGsfY;Xlx9!R-#U;Fbs<^suNH9q~Mkj(EPa93AnT zqLk6(>Kn|XCaSSfPUWvd)YQ|U^8cd$4{OyDOWFH<0XnVaq&^z;qB=2}uM6RWG8KL4 z=|9}1{r`aY*twmr{qyI3yO{gf&%dzj8}Tit^yI%ni*=S^t-o)V^vmm!xlw;U`b1nS zoh5v}G}Zq>@o#14E03DDiEg^`fP#o$p+yc~1)LNgWA+OHd<*B5nh5l9Tds9O6Ww%0 zPLGxy_lY{+0q|Mjl&){}m*`_%S4$rnFA#b3>(yG1cVR4e(fuA-LA+`Jl2-cBx9)sP zIe$XO)zT+u>@Jb@8ZWNd_v4c|wm`0qpSxn6rJxe>hc>@D9+TYD6-aWdK{?K~ zC`$Xc^4f{d+Obyw{C?>3zp(Hfu93Xsp3n^Jhrf5W1d{IYiKKu06aAB5Ntq-*%0?Cr uEOV&>S<>QyEKpgNvKS?%vb3b=Vrj^NkR=~>#Db11$M@dZBK?7y-Twkl>#XSj diff --git a/iaso/tests/fixtures/odk_form_valid_no_settings.xlsx b/iaso/tests/fixtures/odk_form_valid_no_settings.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..df53df9acf8b400746b9cf153408786b3e72875e GIT binary patch literal 9404 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 diff --git a/iaso/tests/fixtures/odk_form_valid_sample1_2020022401.xlsx b/iaso/tests/fixtures/odk_form_valid_sample1_2020022401.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..0e815349d4bf7a4b28d30c1b32cfdbebc5d5ddca GIT binary patch literal 10849 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 literal 0 HcmV?d00001 diff --git a/iaso/tests/fixtures/odk_form_valid_sample1_no_version.xls b/iaso/tests/fixtures/odk_form_valid_sample1_no_version.xls deleted file mode 100644 index c286261a8fccef1e63fa7b4a8284e8e68b88ee92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17408 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 D-k=we diff --git a/iaso/tests/fixtures/odk_form_valid_sample1_no_version.xlsx b/iaso/tests/fixtures/odk_form_valid_sample1_no_version.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..3e12028f12153f2242c6ef6f558d9442d8a65b55 GIT binary patch literal 10824 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 V3jFPj00M%0U)}g7iW4m6)nHgiF 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 rEvn?dss9s)|J43H%>O-#A}Rh?G*Xg*eHdcNk literal 0 HcmV?d00001 diff --git a/iaso/tests/fixtures/odk_form_valid_sample2_2020022401.xls b/iaso/tests/fixtures/odk_form_valid_sample2_2020022401.xls deleted file mode 100644 index 3343208a3f62c958c6913a733244e0f07cdfb168..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17408 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 diff --git a/iaso/tests/fixtures/odk_form_valid_sample2_2020022401.xlsx b/iaso/tests/fixtures/odk_form_valid_sample2_2020022401.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..ead6e14e62a4f5dd74ec11caf89d25658f3a486f GIT binary patch literal 10848 zcmbVyWmp_-vNrDS7Ti6!I|O%k87#OH+}&M+Lm+5yw?J?h+}#OIaQWcf-ScMio!uX& z`kJ18y1QzotE=zor|MRe0f)c>RC(?d+@= z-EFKH-}ba83fuNDqln*R^<;Q&k=K1G+pI2)n+N0f+mYQ2``+*~FL-G#sSE;ETu-dL z{O0c^DPS#|0j7Lm2e|t^}I;{h}`xn z7qYYolc@2#40jcsHJOMayQajCO!(WMG8mhPJcK@N4bCQmbXKw$wkGzzxG%NXVs_}b z>;osVVdQJD3-YcI6Z~>6NX?|!z(@FW|h6x-)5&jWNHc{f;0o;Qn*$NObI zH7w0pMZ{=z7eSJ0A8wUg(E%i*nvzC_xkb1TL-YphQ1ECHhT>}8^TBd08a(eFpq$pB zuGNV!a;5{7`w>Q;m80>*sV(BVq0|qL#;6rc`WmUG0$UZM7+u zyycU#<>Pdrjl^k7O<2*lnQ!iLh1yyr9)$ zl=`c8$PbPz;iJ}`+Wi1>rAHO$*C9Z+Gq=6_wTc*0uzK&>UffRc70~i5T;}?P^**7& zJ2Hgw45V*Yc8I4Q&Y&g5E8^ozC2J@8_9oR^L|K=0#$tkjfE@qVh(iBIL^)fS+L$u^ zwSNEh9IhnG*)1_6gq%KL2Aq7|Y=WI6mVZwV?@C=Q+OUF~-Y_HijimJW;Y9Iz^K6jYUS1ykMu9g!jYk_&?>e@~%C#EHSw3GO~)G^xMi4ta;K$(!ug9(d~Sw zI!0K!9aJu;f){5~1Qheg`iGeb;TO^km-YA}d6@FJJ z**@iiH$+7wh zFZwatDC4KO!;M#4pvVqU{7<(-Ye=`jC7$<<8a^EBcPsBYm!;s#QZG?`@Wkggz*Qyl zkPA3t%PCs+WLm!D$8dPuv1l74)7{KDP&)T6m)Hw;B|U2Fb?{uW->)#m|(ui*uR`EP)Q_>b^%a{gp( z>hu;^$69)^1soXOr&U5ery?RDh-wMPNwjJPWiuz`s-=g4;7B#I^8;M1gU|Q(i$Oxh z3bnXuqmo8!U?=T+t6N*hVd?ElYV@}v08z-C0$?T#WYAuIZd+D?g2FIS3AF{rE~HsN zBKKkYvmYnCCjdW~nj;5!V9H%ws0A<e+YH>JJ*rrr`&xC1pNJ>4ZiO+oAJ&;^2;dDjBxpYG*U$YFMY5OPq!EvrLP zx8q3C^Br#y8_an-&l{W6x>_glTEtCU9_In(?pc@Ufo#&!?dTHIKNG**URbapl|#id z@F?Rr6)b_enWAC?8=ZxjpGEs3A`7A;RU}?F9da@ao7D>jfkR}{j)z?~`H~HTh0X&i4dYTLzUCAWYhTVB)5bqbNM$ zv3N-9uW)6cQVFo0r=CwC_%QQ9`W@8IBNEn*#Phgj58IW&<$o@^qGo7olZlQjEi@d7 znZ~Rg6dVUHvXnnNJC;)KRz1BOkF6eUy~o@g>~Sf7Wn*rc7dQFde$$1jtz}U z(o*XgL0ouQPv|YM7X-xG*^TuQK4cf?gy2A+oD?fq3V>ZVnxFZsRp;T#^H?aI2OikscTp=M5NjNMPooMCX2q3Cdv zeKjJ^HH2%=$>}}+ntj3osZBHQM-Hb|!4567AC`yLApN7nG2Vn}(LS-Up!R2LmaG6@N^nhJp>R`1#@GM{qGl17=#1IN=iAS1(Q*ZOxkEz!bX@E?h9*8~PaF#- z7Zckk%7HXrGD_1`v^#6dDMyW9Gf*py`Xpx4lKj4X_*RpVAru!bWop#i@J^dTD0$(d z`v?7e@TxiLV3{mi8BL%%tUqM#$P?uUmnkdH5&c3YGQ)9^<0ssvChHGK_XGw&jr^o_ zsHy|%KGVGnyq$TxobPv%%P+-)u$o_Zzq9UK4-H*WD5d!ESsyjZx{ao_e1ObXAT@O2 zK)vroGl_dDqErP6dyir}<+RP;mw5n#HzVT1*ElfR48&;{^ z48oG7sB8|0q=zH?Vp&M=Ks7~lUwj_r@F_JQ0JuGWy?z&&#wf#`$GHw`2g$TTT~*;3 zMbs2_RR1YM3?pkD?~LbX8#7{8A+P(@?(MQXdxmdI5&>&JCi3aSGP&_+HNZ`l8OtX> zYInIxi7&>R2@Z*^rqC-O%aP+S=C+GxS*K9a=Ei73* zYG>9e*fgSoVF}v`2S#ePxlM#)l4sS7FR_v{BJe2liYM{&7=Y{I@pY3ov7;Zb{>-EVl|3kA&O#Wx@k=fwdr;A2@?2s} zCRKsTbKxG=<7@m_*@}Zz{mx`Z69{B2Y`141jI~v3MR|dPetrC=Smd!)(~g9LENra! zsLlCG393x?s7;zPXD!uijOQH5E<+DKahA$=5%H#yu%d`Fc~m;gjT}-mOjH6Ctb&uS z9MAC1^V=baSM<&k%l*nlCQo=oaAN^en0~^A;RS3Yq!))&4dtGI4Po-b{U;P@qnPH z(piS5D)A?FQL%0>C!kURM;ZJhN9qm>+n;}x zlp#Sn&z|f#4>t0O29>nH&#`yE{L0aajJzc`iH?OmKdEQ$@9uQnGD zCVAh{myT%DCM1(eg(PqQtj=t7&{cs;+E-rD1YoP>0vrgO((vcR&4Hm!PO=lMmDJQ& z)%kG<0<&&$ib-YQ>Psk32m?^>dxQ5`7Yhbr`{m~il;%RGV-$6r?zpaPI1ibwky?Kw zQAqG6MHW*L!4Xio5-j}^nXC6MwuyevkF+4{8{A$(zieYOog1=^#4mcTZ4K2f1)My_ z_gdM?D>BE^?PEZlWo@hK*sE?aU9M&qMJbTDS}rk*hNS>e!V(9a42@O0X8mwALBYWS z2K6+Lfz=0=+V*MfEajt1LWF7byyIr&FK#YrWnHq*D!_hgEhz|4iI7>Vl#&R_Ft!gW z(C0QO6|O&6(&X$@>e~Sg@ct%p(sT6sqTiPvXuYZ8uKW*3EQ4 zCSw*h(blU(3`zjTi0y#bP~Y^CXUMmVP=)M4G6D$#;)?r!$OtTNFOcn;Yjy=(C_bH? zVCU5ejT@ZgE976>$=g3quc$AbR5;r)rhTV1oaK;O>U{2pLNgwy=TX}r@jqu~UAtKr z*gDuN;bUz`a}bG4KZvrP>JpblS1vc-jeQu7HJMrm!-O5O@HgLO-QC^0vzvNn8tWBU z!%QsHZN4iJcG2_Ay{(&jlT3RPOhS3ck$gSAfg5}wkl7)(YM(27eQJQR#a@!ottPWy(XMyN|lar)To zq>l=+G!x0P6h@wWsbIdO;L;32 zm>F1tk(N+z;q*(_^}A_4QqMFsl{6Y!gjU>5f7Ji1fDYy{FoX~?m44UPtjQhYtVHOG z-nNzP8EChEf(BR4@_osD=$49Xke%kN<`?e@gM}-kb(dIndVtz!mmrRX6=GC5r{Wg7 zeBZN;KjDdeh>3qmcMwF$m!TkfunVQx#YV-;5qk0h-0y`&BQ;%G zl<^r7^xiK45P5cZOi8<9c5?9-v=VkOdJ(YF)vS$#GC;GSERB)w!ob+2nMDOZRNC=BAw_^Jo^_mN= z+5BlWG#!x&x?zg9;lBX2@hUAxFWFZ&5gyg}_3+8RY-oMB+f!Lj`f4y}8zQ}m%3Rr$ z`$IEQ{MCfOaDX<1i=Eya>f!FZBEo2q1;^SWB`^oO~yFz*WHP@sgyU zIEgQf8x?RfzR!vKlo$0paJiQDt)@MCp4j>ul&F?b18uH4f9xR>51NI5sk1rrj?P|X z$udcE)~Hfd*kWV$GCOB`kH;BE{Ro8yg@zNz>W<;c*l}rn@(eqn?=+$Qk6z>$JuGkR zn|YIko3j{x_4?4sUNF*Y>!v+GFF%G-;2a|SO7%1%-3Ip=dm1;Nzknk~B@=1R&Z%8k>AE4OB@Erv9KmqKp`w)-k z+#9hjw_9@?$W0ck-rVc?-h1j>=x0=WL4v@IqmW=*&BKtHZ3vVf0!JOavw3VOWT=$) z5(TH|hX&guL{Ev!qdu}dpEwQVV}qV0N)<%bsD2(dLV0=cR<5QDA6iSuNWeL$luf~# zfIl(N%!baotyqQJVC@gx=r|7zz%xJ$VKw<-b=0=58dFLx6ICD1KGPXnfrYcqykB~S zR!aGKeWfWSAf-^D9A)0AqW)V^?|!(pPq^3+v;T^Qw}w{Bdl4`L?eCUh?ZO3gEgRkH;ABU{-3%%H3A=)MgRi>`!pR(o1Nw3L z060QVgN}e|QA)&uA?QPskb_Tpz4uO{M{y585(4EZ?DPqtZ)ZWsfxPbe*e0Jf2|i}Nz`p^jt)zGp z`YW&sVf-I}mGvLMDrZ+9iPHW$Gbh-sGZ8>|9+)Q_1z9LhN*7BUiK%PkU@OMVO+V?E zzc^}a0mbKRz^EW~s@_m@QES(T&TG4U)ZOmKVwJaOX3LJZ!E1`L6d4+we7tjiaxlZw z&1DhhW;mbp>Rx_qyEmyR_!(}F0}l?CJVp&TrJ(wbDarty2OrL-}@WD}!3O$IT--Yc;3kzt%w3;PMOA zSR;2jV_U3^x@Y%e-sT!B8AWr~Pkg!DL7E|MD4k%AThPdya}T; zL)??lvEs<5?qcuJIuab@^F5Qe|M1*{8s9&`gDZFX-s%qb7#Y8vl5~snBLG0rzuGZtWtKhZ+=RHk^usk!Xp9@D1bB5qr)llm* zyr&=Y$^6yfCETD?I^<5whTkO&ukgLY0N%Q0wgSx*=luw)Q<}H+24@KU>Io)}KW;LV zSI}3v+$}amJup7k$k_LoI{rlCV2oZx3-j=U9J#q#k(qQ0y(+=;b{nuM2HNR*?I_b? z&xM$$9eFeq46YxtG?@c%43tA^)Mqr_!8j97`&)R0gtJ~rN$eSyG*JdEeP7I(c*0*1I)4zCbn10{_^IxNH;%*RFXvyghF$cQWMIyfQzVH6AXB%M^wS4tRxlfYjgqGa^A6M3p z8J#GkcGOUJiHw=^#DJ8Btf~%!8rjg|NBPZjW1noCyG3=z#wETnK3KRD`_w`~DQ7ls z;z?Qq>zWk&$Op90^gh>;6;QY73^&Rwsg`cM7_5*TmY=rCe#&oxGHK zMM900hHPJ%J&CI{R|?xWp~}viGm937pRNFSEZ^U$ETFg05wYs7`g2qh;ec9Bzu?Q% z=F2jR8Sd-sQTyC0Q+BeDUZXe1Gf!uFo8W+gYYzxYH)ZJ$7pMne`ri;~Y0m|MqfJE& zd@c*GQQFalH6$mO%Tp+7qI?6&jaKsThERqM?Fn+rUDtW_b|)?y(n^8c{CkWq zv;r&ZUXiB4{cgHjg1+l=*<`cx)-Ke0o|sjL->UD`dUl>qOJ{uFaB|4}@aHB32*@Vd zf5XXF5Pj=UIawGvngUdu9W8Cm|EgYQYuUu&v!gtZRaNK1`8$&rO-!b=ek~JGBi9yC z{Bn!I-I`eLg70~BZpKu0d&*~Ws?!51&{21A;?Bo3KEhYq?&Z*0HRI2RZ(fCEz(mA| zvCxy;e^QCn+3x!^GZnmtf2RTNe8-Qkc9B4BD#VZct0H&t z0-cEiK$Q1xDFsB7+hTFLvPrA##@2nM6NTYCo2NznSckaa{KQZ?AWV#vc9OOqeveLC zP|f@huLVP+vUW&oUZkwlkF^LFn$|C*Z4%!t_tv)V0!$uDtxXW;6X{8~*f%m-M!#kh zxm@{oZ0p}jrIyi~m7&{#_HC?rJ?Oo_$s&(qJ^;iyq~4cG(yu(!G{gG9y%vYZr_a~; z7YB`SjAiAz!>Y|KZE5n4wazvulsNpKm8Bv~s^bWXHhROS;3$%1E^110J<3KmgpWEX5n4#{8la^@;pbAhd_ zeJ1@JE`SdqEc!E~&MDF}2DO*MCK|*hL3ozbo$lSnuGBL`(_M4It^+EnBkJXp=p6<< zY8SKO2pYuMXj0838x=D`Zl-iTIb+)b$_FR#m5^;avAXH-1m(|aL*i&b-h1Xds34S* z3LLUA5iEKb(?Q!Y13yIA`JPVbK9*+}zI(*K4 z|Mbv+RP667z9aiSc}cl_8{g7~CKSSOhG*8uGy@}x7Xd#L^o&c)K1nLPU$BiURBs$h7Se zv%~CZGc3R}^7y!$DGnpCh5`Q4xLC%z`VHnW;<571=9XzWn$V4efz2r>Yv@wG3Y*xc z`W;W_!@i^1gdJo2rY)o7lyM^o58=>OH+c4tw2kDQ&pF=f4pv7jDqR-+>Ezqc9}2P= z8bMA_aRel-y(>$FiAr_nGI|#?^pZc-(1d!53%4nRBVoD#T*Ga0x#)T9NUNm41B*zsuL_bseYI0`(E}XRaE`#Q{DFi zCWF!v`3&JP(x?z>iFMz8$owLSuj*)!uSlDRm&e3QlRhTr-YA%xOf3@#SCRs!QvpSK zF9|Qpkaf@Hn!EL7yIk2YLCkHQiYikxDuW>fH1G%t2+bX86c$+{zS7T7gNBV((woZR@k48%^p93xiozCbzUn#e}#&+w_&7>hST}qbpst%Q0OEH{i{D*Z_Ro7e6u;2=qmO zyU@+*a0f^jP)nR}7BsmRv&(gaT@itLlo2kZQ_$X7KmDY5cygLoEp~DCnm#RJa%(Xd zn^dQ{P50(9)kJz3S!cpGi<62RGhK=~zuDJTzH+QV3Y zCn|0nv?U^VX^G=A&sB~tZ4}sqZW8|dh;G{)UqtTR9-+7CCziRNBu`m$yO^KgvLao0uwYm-GY9?c~H>Wm?Pflrvw;82f z%6Y>T087%C)B-s*LXO=zWX@f6;zH?blQ5e|am%5>TwhBMoV&}v(X5L}uY8H8N&R%( z%J=^6xdDlCTSDc#9AV4-i|>GF^6KyfS|`-5PVf126n$k{?=OS5oM{6sLvR5F0`mM? zssGR11o+pS`42+JUnGu-gmG!`_b8#K-Vt%0ZVi}XfZF!3iA+gvzqFBOBhGYYTo>=x z+NgGE5p=AS&*dnmXvPYf*{_JK4-pb}W!iL6F^@Q&1vyAJNBHel8lz-m>eA%MCPQV@ z->t8R6Kp}h;WN+cD)ngU^K2Rx5j2MaRsfzsHhKo&FM$2)u+r;Qi`9o{_0XH3)aueB ziBPv~eJ}}b;HE}?9K#K@1QTl;s=~OKidrt7e5*B++nuL84E3x|&3c$ac9UvtR9dGC zUvsEqwjlamQ021|cN2_6>~mX!+`+KLOc#*KLh!HthFMua+A;^RB$&-i_+)*`@wHZc0oE&Swyuy?I>CQKU2>`s@bH`<7*9{k8bD)}OMwjom|0<8 zo>}&Aznt~|080`nOgX(=4~X6WC=I?AXqFci6h4~$E5j(Mqa@~>X%@VlY4}4KXu9FR zK2BO|lB5qQq(c13{tN~&7bGMe0+co;=94LE8&V{6@fcz$g+2j&{+wCj$~9X` za;>dxO!%f4-bE>t@zk`Mb@Aa|sTj}Wp>RpZHc|pX&M)}>#M)vk^PR@?&ekBsUvKTxgXg3!rRrP`u@#-uWVJ&%`EgEUb z83EFXUmQ@|p1>@+J_#&zR*YYdYy9XogT^U1uOzt)h)2k}SZvZ0?O43=68;u8X=&LW z7?MStknFyhQ-I8z@1I5y5Q(@z7D7>^bZit?BWaV$(@q2(UP|CLebcUVwmZY-C#ub& zuEIsig~)@gm$KWV@&$$=9ue6OarOFy*=Ek<`Er4wJI2(`_J9Eg>Zv z6IQQ9D~_Q(I>P)lc@OPI_;y8P z=w(LeIMq;X&gWQ)LlHT4U3UnQieiO}UJ9v~N&=WX+;Gvzn*8jpgKc8_`190g*kx*? zt+W6ahc0PElIb7;22j})XDacz-|d_N7m4S_Y(_9kFgnkSCY^>ZM?BtG?goh$H|ph`zCC~?1K^imnuNPCXd9I1Eu z!+}JW|KbVA7`cHHwl9|q3a+CyMIHZAWv*#6B{7~sdgoe{`%E=18d%t;E?4|+61?|Y zCt889&iYg41_<6NW*7O>*TJjZK#u+n`3m?#B{23f5L%H2`n-=& z*`A2pPkX~ibPRSI9ZQ%U6E%sYQS0A3{4{;JuStfAL*+XDtc+S3d%|>UI_&Q|cT&jq zSPFIecFU4x`&%7fZ`b@Q+A7L`f?vmK{MB+A%tX6~7L&pG#e-#fEk{rg4dKKuD4->}-T$>!MWGjpxC0xxv`ZvD90 zLbLaj_cJ;GHT2{Do#U+|fw}!sWN(kXxbSQrIz->!urB-K?iX}6`=)+(r}plG_MJtq z^xq}x_>9gAY$WyiWI8WP=LI?!_UEbhD+zMax&RTYiaie>#;#Amf7{T%$D0a{g&HJw#!!A9rlQ=614TnBYLv5`%bZcU8i9` zV-MPx?X{mh4}xLqlZDTsJ0#lYqwde0hppBx?#_$i{G3#g9keyJ-ilq#8LyF()#cIp z6zSw1@N|dd77}CpG6{THDa&0_1ZutHqfnGU-)OVZ@2Ji=w#`d)-F9$vVtjIZ-&Eti z6Qg5?8au})9-TZeHa4YkGc&hu-g@@}^-9l%wgVq>J8%>iKEJNW)6-@OaMJbiS6=?i z(6tLc{hR%^cHQ?scduYQHQ2`lgW??hBnycrg*FMyY`%Us=@$Z`%@NltbGsl&RW_1rVQKeH*~)4+woYaS zypw^=GA+q4P(Lmg-q_iWtNzt$tF6ScYqYoNVH*y+t`OgEYwhNC^Qx1bJ-a%=JjZsV zZnmZNsq6^0Ef-*&ItbB7YBz# zyZ)WvU~Sj`?F=uFbMpu}uXQ*i4u3E)&hZ2iD_uO+TF_`s?a#K3%G@}7J_Ab)tl%4wMMzsZ*p0+b* z&ge32qtCr=|8nDcoB8fZyZ@UzZU3Sfd;JeK+b?h5X}|lWQx|-0XJ_=E-&v76ZKu_q zIepg7p4Rp3Y1^=G#x|TiE4bLfu>w4@ za6!sdOeRgwo{=AKTfww?i%CU|i4;p77kt3x-Uz&}7_|d7o}$Z`P3pHI6{{Hy8wiFE$8bpEoTV!X72cG;=sv8UY+v4_7 zv#+F{f0xc*P3M0|=dTr9UQFkg()s0d{>K7-|0$hkimQ=<09`7Umc6D4+Q~GRPufer zVK!n*Un9F-E)nTj|Db;VqlEhd`;({)mh4~cLiVTAl{4QuG!kb)XnPui_k2oC{_mA3;`s~m>)T^UgXW>RlpBUE= zugs_+=^jf0f^%m1m^j!gT+UO-KXZgUvMQYZfz&@k8+JTN6V1X`Lllt0@ibRd;&S21 z(e%Xiffk%D7tlk02^tP_+`IBlLkng}h0_5w#$9+~6OWC3U&I?NaD zj_Znzxy>??r>?!gN9i!7-yZ#3<6z~f^L;SQFJy}BHfvtY5Ik5DdLI>L=5jpE6j>cF zIoX?RqRP?A?-pwK!y#;r-bWs&1q8cNN#QR&1Fi zoQ7?yOoGXxoQD!CD3bPH6vd9D8R7!|$$UMEx#yrCm|zC(y(cv9Ni9fEl=C~R9zHwf z;K(wP3C3!ffmG)(jh|EbG1ut5*qR}-H5Fjj-#?@L^V<wmx;?N^X3wol!p=p&@u83nG!EfB)w#<=BN@8upxi+Jc4J(*c=6sN|I?hfqm`p{^2a|3hz|prgT)|Zi4Ln^b zzL+I@12`(l@wnO((nAiSK5MFfcgK*On``b@oio@;&fcdp-+9hio>6i-Z&4VAl!n+v zZ74$N(2q`hY`-A-u3tX663ar5!F7b%<6^=KW7e;&1pyxK>GZfbVy2-| z_#?eilVZr8HwCB6dTW5Z-hOiDSlBJHv-W{Tcz9TkzmW+ZcFCscG z%8?z*k7JtMk=o)0z8zz=4@)@;3C19$D7Bo22|@AeJa%@06S>@TRBR9AlCxflxNYN! zLu?}WY6;O2ItlhibeF|hw2L@-kn_f%s(oa+4vS7f9pg?J%9~v~Wt8pt7)vW*1cggr z#ME%%zPZMGb9HfN6CDz@J}aJj6ZLhvXvAh0}$8TIG<{ z36c9nkphl#Bh-&ep^KGe^mjdB#5gdOw--MiUT}Qkciyb321gfC-O!=DBiT_S6-oq2 z56a9c7lZ9bx2yNtZJLoFNK}q9N}pC8XK7S-mAuaPKu5^(6xXm@6Sq4B$*TaQ?0mN8 zp|!xPOTt&(6j)wvVOA0FS4yT(a=l_&Bt6Q*su^bb1X;qLQ*@r(AoDDNef(8BT&0!%&)IXvMy38@5zLVHaCg{U?tV@F@Zr_wVkBU1WBxr2REfhOsR--A* zlA1lWqlHNOp=*jRw^^Qr9WbIDUscPaPj$b6Vl3^{bTXfEYo@9h*Fd`fk@YdGt?7#n z4-8{Xpj{!Pz9|KWTdDFW)re#`A=f2V+@o9c)Ji`zUQH=pR8idxJ1<_XdPu6)pR7he zN-aT1>m-XO5^FchT`smivF;XoA5-y?X}`!oYKq0h)}*@DiHyo&CXxZu$v464Lx=U2 zq42UT_MNczDVysOi?Y+V>wm8(qG&+OdB4Q%D=z_k=b&|=<`#|Bu%IM9hP5Ga;O?jX z;)UHMqG!e#`w|}8yljhQVBWQ;M!qQSa<9DSgLT}cXyLC9oHjh<9{3O(<|Se5^#Hy2 z-JalkHa^FX5A9JV#XK=gOee>8c&hK4ROg7yoNus^momNleglqMrP*FX&?VJ7R{XhP z4^L;sAHj~rg+#?Q4Cy&YOk9sckf_1C< zU=Kt+G{B{dV z@CD*uj>d5Ap(c3rO$w}jh(e0a7+bIjJM0amS7k_(tfN`Js);3ETe z(+D_v0k^a4(6Ap9%UfC=YrN;Z7>!jOleSro5*F2AyATr)eO+DepqF(X_L!wOi#4}y zw+RQU+MkFd(6Hl*wfdWJtWvIH|X`SUhkjO_2+b*CmjAU;lh@W z2`^`MqR=JAuSoZcbmrrwe*3{6zV@|kdpAc$6IJ5GJ?+mZ1+^_KabKm~P1EI@N4}NRk>>GdA2~Nn zgKJ?=B(a-4f5TO&4{iFtGML+4dh+2Vxjjek+F!XPx4UJQ&u`4_9=%{*cX@92N?@$RsL)r84n1#9I6ChGY3POlCFc@_465adn9=#|7^LeAkdhD-fwab^)$A8Zjs*jTX4D5OB?D z;+m6i0b}OZq>;Ghpu&)k>`r+2vKOq~iKlm!c(7QXUw0D^GIKnNxWdEtYK-K&&OvRZ zMhkw>6SRApc(8fLh_oFKa?E&;#Gw8;9_BKr5srsh#ORO_dKwTW@2_ZE!PS>=@ntI< z_9a}3hKZ-XCa%836Ft!KK>7^ITj1gwdT+tk(q;?36lKe2*jA(2!nWR9wy>3f6l1`m z!d1@#=iJ2K@@7wPDq<&`bH(4FDPET?aIR1bdE!4VJ8U=04(l7#`ohOxBZCUJ(E{J< zCWg=hw&}R$x8RzeaIGmv&ri74Hd|F(^P4)wUmX|GaZsB=&MyhY^>&%?#9ip}vNV2E z*JArqjKW4ZmB+hf;VGO5Q3+!5|M$7;rs8dvyKMOq>A_MiBX>PNKex$U(^up+x$DCV za+^r-%Dmj}Nx90~k*lyIzFf_@s;5n^s>9%@$EH%c8-2&*J1c-9frA8VR$h|JqO(=m_Ne@nU%NjLFR+s@@1Y|KgO&VNP?k>fQ6S78WAu? zfC-EPD$X5mmqrb$j*b>IZ)&!nd9zyJ&v^wd+&ev!#AweXd}0V4G(X4(jcIhwB=!6e zqdkAzQjYfgacem`=MT>s@I%({xsfsAF6Nsv1=4bEJwN<-Nx}2OZOs0-1axM)8Eu5mgDq1!rxI+@Cg6@W(#ib zR10p2@IHSm%13)VkI^2_HP=Enp}OgrKpK&Y=l#Jyc0F4{(m$Tzb(I3ny*I9 z-1exM+a5J@+oNV~d(`yyk0NTet_0p1QFBDH^vFmAyQ|qEg59kaw#`?{?in62=}*KQ z(7Mq_6Ez3zUV3V!#JY`-*QXnQea+YJ0z*B50z-@L)kIInj|Sr|Xx1YpV~LpFk7yZp zF`^zN89|lp{fLlp7bD($WP}Fubj-{y?t(@=8Zv@t=>3RBHzxP(Y2d@(w&(cb#{e^47pz8QI+Hj;Q{_qc5O)wEBco7yoOKA`NY zZ}roGKh^&RFd>-U^zzp~|J#Lq;TJyfm*4WQ@uie>6xwcOldJXkUP-^a9+)0U&!_kM zwbEJI;$x5fyaV6Bd9fw}eIg~-wnJ<5 zk<-Iv$DN|imt1@pKCbH{goeu_m686Q?hsJ8k9UVQ|KI3Z!wk*;8R#`#p9_GDT z@7wOYs+>R7*u~N(8gD6)^(f-Na-b+28t5eO6=QQd& zN*Zx(K4`finsho6;quhBPuPEXrEA-Mmk4|_^!Y1Xe1|JGgdVx4+U5Gr@%ENL=pLU4 z{o|kLpEV1s5Y`f`#Mz5s=a7XpyM*iwvggN6ANza6RCeoF$Fkdo$FPgWZW()I)Kl0L RJ6>G*{qXHA-v9Tr`(JJv7YYCX diff --git a/iaso/tests/fixtures/odk_form_valid_sample2_2020022402.xlsx b/iaso/tests/fixtures/odk_form_valid_sample2_2020022402.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..1f61b1d7fbe25a8348f27d807da5f42f7592e709 GIT binary patch literal 10848 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 literal 0 HcmV?d00001 diff --git a/iaso/tests/odk/test_parsing.py b/iaso/tests/odk/test_parsing.py index 850b0714b3..956106cebf 100644 --- a/iaso/tests/odk/test_parsing.py +++ b/iaso/tests/odk/test_parsing.py @@ -9,7 +9,7 @@ class ParsingTestCase(SimpleTestCase): def test_parse_xls_form_valid(self): - with open("iaso/tests/fixtures/odk_form_valid_sample1_2020022401.xls", "rb") as xls_file: + with open("iaso/tests/fixtures/odk_form_valid_sample1_2020022401.xlsx", "rb") as xls_file: survey = parse_xls_form(xls_file) self.assertIsInstance(survey, Survey) @@ -23,7 +23,7 @@ def test_parse_xls_form_valid(self): self.assertEqual(survey.version, "2020022401") def test_parse_xls_form_valid_no_settings(self): - with open("iaso/tests/fixtures/odk_form_valid_no_settings.xls", "rb") as xls_file: + with open("iaso/tests/fixtures/odk_form_valid_no_settings.xlsx", "rb") as xls_file: survey = parse_xls_form(xls_file) self.assertIsInstance(survey, Survey) @@ -40,7 +40,7 @@ def test_parse_xls_form_invalid_version(self): self.assertEqual(str(cm.exception), "Invalid XLS file: Invalid version (must be a string of 1-10 numbers).") def test_parse_xls_form_invalid_version_inferior_to_previous(self): - with open("iaso/tests/fixtures/odk_form_valid_sample1_2020022401.xls", "rb") as xls_file: + with open("iaso/tests/fixtures/odk_form_valid_sample1_2020022401.xlsx", "rb") as xls_file: with self.assertRaises(ParsingError) as cm: parse_xls_form(xls_file, previous_version="2020022501") self.assertEqual( @@ -48,7 +48,7 @@ def test_parse_xls_form_invalid_version_inferior_to_previous(self): ) def test_parse_xls_form_invalid_version_same_as_previous(self): - with open("iaso/tests/fixtures/odk_form_valid_sample1_2020022401.xls", "rb") as xls_file: + with open("iaso/tests/fixtures/odk_form_valid_sample1_2020022401.xlsx", "rb") as xls_file: with self.assertRaises(ParsingError) as cm: parse_xls_form(xls_file, previous_version="2020022401") self.assertEqual(