o «Þh5ã@s¨ddlZddlmmZddlZddlmZddlm Z ddl m Z ej dd„ƒZ dd„Zd d „Zd d „Zd d„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„ZdS)éN)Úapp)Úreform_flatmap_query_result)Úcreate_dataset_flatmap_querycCsdtjd<t ¡S)NTÚTESTING)rÚconfigÚ test_client©rrú=/home/cmiss/Jenkins/workspace/SPARC-API/tests/test_flatmap.pyÚclient s r c CsVd}d}|jd||dœd}|j}d}||k}|sMt d|fd||f¡d t ¡vs.t |¡r3t |¡nd t |¡t |¡d œ}d d |i}tt  |¡ƒ‚d}}}d ddddœg} |j }| |k}|s¥t d|fd| |f¡dt ¡vsyt | ¡r~t | ¡ndd t ¡vsŠt |¡rt |¡nd t |¡dœ} dd| i} tt  | ¡ƒ‚d}}dS)Núsub-f006ú$2a3d01c0-39d3-464a-8746-54c9d67ebe0fú /flatmap/find©ÚsubjectÚdataset©Ú query_stringéÈ©ú==©z3%(py2)s {%(py2)s = %(py0)s.status_code } == %(py5)sÚr©Úpy0Úpy2Úpy5úassert %(py7)sÚpy7z.N:dataset:031598b5-88eb-44eb-ba70-67ad1c2fe36az$0ea45841-ce99-5b86-8d16-2d12689566f6z$238599e8-fd25-533e-9f88-68fad90c1bf2)rÚleftÚrightr©z,%(py0)s == %(py4)s {%(py4)s = %(py2)s.json }Úexpected_result©rrÚpy4úassert %(py6)sÚpy6© ÚgetÚ status_codeÚ @pytest_arÚ_call_reprcompareÚ @py_builtinsÚlocalsÚ_should_repr_global_nameÚ _safereprÚAssertionErrorÚ_format_explanationÚjson© r Útarget_subjectÚtarget_datasetrÚ @py_assert1Ú @py_assert4Ú @py_assert3Ú @py_format6Ú @py_format8r!Ú @py_format5Ú @py_format7rrr Útest_find_flatmap_uuids Š r<c Có\d}d}|jd||dœd}|j}d}||k}|sMt d|fd||f¡d t ¡vs.t |¡r3t |¡nd t |¡t |¡d œ}d d |i}tt  |¡ƒ‚d}}}d d|›d|›di} |j }| |k}|s¨t d|fd| |f¡dt ¡vs|t | ¡rt | ¡ndd t ¡vst |¡r’t |¡nd t |¡dœ} dd| i} tt  | ¡ƒ‚d}}dS)Nzsub-f999r r rré”rrrrrrÚerrorú'404 Not Found: No results for subject 'ú' in dataset 'ú'.r r!r"r$r%r&r2rrr Ú"test_find_flatmap_uuid_bad_subjectó Š rCc Cr=)Nr ú$2b3d01c0-39d3-464a-8746-54c9d67ebe0fr rrr>rrrrrrr?r@rArBr r!r"r$r%r&r2rrr Ú"test_find_flatmap_uuid_bad_dataset#rDrFc Csdd}|jdd|id}|j}d}||k}|sJt d|fd||f¡dt ¡vs+t |¡r0t |¡ndt |¡t |¡d œ}d d |i}tt  |¡ƒ‚d}}}d }|j }|j } d } | | ƒ} || v} | s¤t d| fd|| f¡t |¡dt ¡vs}t |¡r‚t |¡ndt |¡t | ¡t | ¡t | ¡dœ} dd| i}tt  |¡ƒ‚d}} }} } } dS)NrEr rrirrrrrrzQuery arguments are not validzutf-8)Úin)zh%(py1)s in %(py11)s {%(py11)s = %(py7)s {%(py7)s = %(py5)s {%(py5)s = %(py3)s.data }.decode }(%(py9)s) })Úpy1Úpy3rrÚpy9Úpy11zassert %(py13)sÚpy13) r'r(r)r*r+r,r-r.r/r0ÚdataÚdecode)r r4rr5r6r7r8r9Ú @py_assert0Ú @py_assert6Ú @py_assert8Ú @py_assert10Ú @py_assert2Ú @py_format12Ú @py_format14rrr Ú%test_find_flatmap_uuid_missing_params,sŠÄrVcCs‚tdƒ}|dddd}d}||k}|s9t d|fd||f¡t |¡t |¡dœ}dd |i}tt |¡ƒ‚d}}}dS) Nú12345-6789-123-456ÚqueryÚmatchúitem.identifierr©z%(py1)s == %(py4)s©rHr#r$r%©rr)r*r.r/r0©rXrOr7rSr:r;rrr Útest_flatmap_query3szr_cCs\tdddd}|d}d}||k}|s6t d|fd||f¡t |¡t |¡dœ}d d |i}tt |¡ƒ‚d}}}|d }d}||k}|skt d|fd||f¡t |¡t |¡dœ}d d |i}tt |¡ƒ‚d}}}|d d dd }d}||k}|s¦t d|fd||f¡t |¡t |¡dœ}d d |i}tt |¡ƒ‚d}}}dS)NrWé é)ÚsizeÚfrom_rbrr[r\r$r%ÚfromrXrYrZr]r^rrr Ú#test_flatmap_query_named_parameters8sjjzrecCsˆtdddƒ}i}||k}|s>t d|fd||f¡dt ¡vs#t |¡r(t |¡ndt |¡dœ}dd|i}tt |¡ƒ‚d}}dS© Núsub-f005ú12345-6789-123-45r©z%(py0)s == %(py3)sÚoutput©rrIúassert %(py5)sr© rr)r*r+r,r-r.r/r0©rjrSr5Ú @py_format4r8rrr Ú*test_reform_flatmap_query_result_bad_input?ó |rpcCsˆtiddƒ}i}||k}|s>t d|fd||f¡dt ¡vs#t |¡r(t |¡ndt |¡dœ}dd|i}tt |¡ƒ‚d}}dSrfrmrnrrr Ú,test_reform_flatmap_query_result_empty_inputDrqrrcCsŒtdiiddƒ}i}||k}|s@t d|fd||f¡dt ¡vs%t |¡r*t |¡ndt |¡dœ}dd |i}tt |¡ƒ‚d}}dS) NÚhitsrgrhrrirjrkrlrrmrnrrr Ú.test_reform_flatmap_query_result_no_hits_inputIs|rtcCs¶ddddddiddidœgiigii}t|d d ƒ}d d dd œ}||k}|sUt d |fd ||f¡dt ¡vs:t |¡r?t |¡ndt |¡dœ}dd|i}tt |¡ƒ‚d}}dS)NrsÚ_sourceÚobjectsÚ identifierz54321-6789-123-45Úpathz/home/sub-f005/L/here)Úassociated_flatmaprrgrh)rrrrrirjrkrlrrm)Úsci_crunch_datarjrSr5ror8rrr Ú,test_reform_flatmap_query_result_valid_inputNsþÿÿÿÿÿÿ „r{)Úbuiltinsr+Ú_pytest.assertion.rewriteÚ assertionÚrewriter)ÚpytestrÚapp.scicrunch_process_resultsrÚapp.scicrunch_requestsrÚfixturer r<rCrFrVr_rerprrrtr{rrrr Ús "