From 75fc9309505612478aa49b4d463d514a77ee6d06 Mon Sep 17 00:00:00 2001 From: Sara <sarasdj@stud.ntnu.no> Date: Mon, 13 May 2024 13:40:40 +0200 Subject: [PATCH] add: unit tests for get_lake_realtion.py --- .coverage | Bin 53248 -> 53248 bytes .../get_lake_relation.cpython-311.pyc | Bin 2213 -> 2035 bytes server/map_handler/get_lake_relation.py | 31 +++++++++--------- ...lake_relation.cpython-311-pytest-8.2.0.pyc | Bin 0 -> 3036 bytes .../unit_tests/test_get_lake_relation.py | 25 ++++++++++++++ 5 files changed, 41 insertions(+), 15 deletions(-) create mode 100644 server/map_handler/unit_tests/__pycache__/test_get_lake_relation.cpython-311-pytest-8.2.0.pyc create mode 100644 server/map_handler/unit_tests/test_get_lake_relation.py diff --git a/.coverage b/.coverage index 947808bfdf95dfe02c7c8f3a2eb95b8642601207..33e83fadb35bea307b53549f033bd58858f40a41 100644 GIT binary patch delta 425 zcmZozz}&Eac>{}s2nX+e2L4n0?fjN}kNDQ{rSoy~?%ymZu$-68i-U!sQF5}qzmZgW zYDs)fVs>hLQEE<NNoIbYUO{CPJ5bsZC~YfWl3H96k4=p$8&C~D$cWAJ{Zbi$mK|W= zKh3wEzk@G>_W-{Y-(x-=pk*s~S-n{rB^hzr#SzWYXbF<WV;8#{OCvwnh|TlkQWZrw z_~$V2|K$J3|C0YM{}ukt{44n90PSkwH|OGDVdNC!5Mp4QZpz6HWQ(wG+7!ho&jw^V zu>DhIKmh^_YV-9O)6^IyU+y;qntF<X|2O{^{<r+k`0w-I;J?U!3TWykem;<HMh*@z z#m>I@#(W(Gpz0eS)!%@wc*Fmk{}Iq7H-M@S@M|!0Ff;Hnvx5jW5Wxx}SU?0bh+qN{ Hj6ebaO$l<U delta 223 zcmZozz}&Eac>{}s02^OA1OF-hc798~M||t}(l-kV1oN@Evav8U@=q4@Guk}gFO?Cf zDuaRlG~asu4!#V2E564-RUv$=ZY+)bj1Wa}sfq$@{F@p0fAW9if60HB{|f(RprZNw z3i50$jGPW^|5O=JfB=Kqe0|2WG`7i?`wf9wZ!qxx=KsR~mj4<5ef}Fjtw;Db-<YqX q0F-(JlKKWT_YMDZ{zpKmbNq75Y|IS2%&Z`S1w=4|2qqB02qXY&EjXJ1 diff --git a/server/map_handler/__pycache__/get_lake_relation.cpython-311.pyc b/server/map_handler/__pycache__/get_lake_relation.cpython-311.pyc index 0fd58c6d138d4c59f692b857fd1258738781ea3b..f00723a019e00b75f19812ef8cd73a543fdbf61b 100644 GIT binary patch delta 1107 zcmZ`&&ube;6n^t-wX$Q`j%CSd-9}hW91&s%5~x#J7nQ_^7JO(9O-vdiG_#3<qjh#y zI6qd{lpK7Nx&`;rqC=au1X>^4Tl@#KNI{UW5OOHJ<PZcd!6cWwS<5yJ<n7Kk-^};k z?3*{UKMij6PyF21*8^yOy~<lZaDadGVAo<@vh`toV(dMtsAP&sp@gCqwG3(8<@1J& zorj!RpUa;S=+3ZhaRRUo9^$U~#HaTtz<q2xb_rRPRk;rh66DEH8hmySBku1-5kQS< zZ3rZhZ^Q===sUqlHjwb)8s@!Y4WZoy_`G3g#z3;*1vzX0=E&!Qr+gxji-kRw@`_g% zWWg&0S@FqaPK4Z5i<YAoa`ZOBUe_yl6?dU%OBI^e3rmr=tF_>FacSis67B7-AgscZ z(W8x98^>FtGwsot7C*H5d2OU)fQUchsfRpOyVK&?HqSPB_Axgf@#I6EtX*y%`Jlz8 z+kCpor}w5?Jk{o@CQn7-cR%YoUszxGW})$AYxqQa_(Y4(PPX}EbNAiC93V6t<yD+= zaj(QUX<&<v<T;Xch=WfYCP|f+siaj}|Lsr=ZlmPW`rm26e6~~YV2btADi0E5azzTC zTl73+!PBdCZ5*5!0cl(Tix%lctgmP8Y5-j|wy!S3O?DBMNzT0eswdO6FQSCqjCWOK zigwvkWzWsnRy20hjf!$T)gv=l{ft#wRKfS`c<?^o{J8WjUXs#(2>RsgB~^CxCPVJ1 zf(!>|(Ra@FX6;H@o^u@A3FGH(7S)nhvdcLUtckH>`W&MqoIzxczUUDQAaS1|tU_m? zU!;S>Mt#MAfuY*jwOdVdWc%OV(GC!i-iOEi2Wy|MEw3f?^Q1SquSD#Ba))8)_V%`W z20!ujSUw3q4(A2?^8m6<!SnIhW}In$fN0)lXr4?a@~7G6c%Q~o1aU4G3x>_il)i)^ zE0w({_g}#o!ii`{FU^mx+p@B#W}I=H)Blva6wI6Ner3eTR3qB~>^9Cu-J39yCh70c W1G`_)1G|mlAE!3vBl=c|zWo|*6b8uv delta 1114 zcmbVK&1(}u6n~rD$xf1neweoTu+5k%HE3(mo5o673q6V0f)o@<yAw@KH+6SQMN=!D zy@c_jc&IsOMS4)Y6+x)zQAkRlQm7#Q1A%x5o_w1&tzZS|W9Gfzn|bf|-h5OVUp9BY z@_OBXQfNM#yh#9l*iK!PZBU8ix+8>)K-8H_#=}lrmT^|zIRKu53$hMF)}%REcW90| zS=^HYs&oefva(o|+li7@@{Zj11LBL^BoXmV?iD8`f15^@B!Fd{TOvUg@(RWUKyzy9 z5|S_D{9}`Bku)~hp_6tSHOZ^EP9RJ26oCvH6;Gsat1<#zV71hv01ksODEg#eo95bY zWxoVtpdqv6+l$w|U*2nV-dVUUkHM@I^(4meX54IBF7bqBvILt-OtWMv%~?X%*sPJV zxXDtM$tE(o#dQQ$hFLc_Gq^dO(M`@W<CA>C5|5Q*Lncor+0lW7$%jWrFJ9ueX1Hk$ zBT<?g(bFu>Qo3m+^a)H#VyV3Y#T#W!yqCH=Qjf5|)K64V&xVqj=DJ~jiVelURz+Dl zCl*Oqb#5qjS@D5Hi2YzpTy<RW`4Qn~19Jt_??bu8PeOt^bMq8j-gO#Wqrrt!MH(*A zaDj%u(uQ^FU!(qo&O-D|k;Y0iR-mz+<suE1Xs|$oWhbUTbZ-ayo`;@=@|TN&o>HKv zNPA1Pw@@F|P0ztH$RxC@Y`Xb<m&WQ_W7Ff?<*cDvpZ|BH>wlkVhq$a_yVYvdjN!#S zhz#_@i`F=iR~itl5+&|ZS6#A=8zdWh<0sJh*dKQdwaK5{af;@1tAzSOl!)UhJ7Pb= wYp9?GqaD>R8k@>!Gily$bfSwd1LmN(tA_gMAt{vaDg&Cg=WFJl%ILtf-;^O2y#N3J diff --git a/server/map_handler/get_lake_relation.py b/server/map_handler/get_lake_relation.py index 2b820eb0..220ebf52 100644 --- a/server/map_handler/get_lake_relation.py +++ b/server/map_handler/get_lake_relation.py @@ -1,13 +1,23 @@ from server.consts import LAKE_RELATIONS_PATH -# Writes contents of a lake json file to the response def get_map_data(self, file_name: str, measurement: bool): + status_code, map_data = fetch_data(file_name, measurement) + + # Set HTTP headers + self.send_response(status_code) + self.send_header("Content-type", "application/json") + self.end_headers() + + # Write contents of the JSON file to response + self.wfile.write(map_data.encode('utf-8')) + + +def fetch_data(file_name: str, measurement: bool) -> (int, str): """ - Reads a map file and writes its contents to the response object. + Returns the contents of the requested map file. Parameters: - self (BaseHTTPRequestHandler): A instance of a BaseHTTPRequestHandler file_name (str): The name of the requested file/lake measurement (bool): Whether the file is of type _measurements.json or _div.json """ @@ -21,19 +31,10 @@ def get_map_data(self, file_name: str, measurement: bool): with open(LAKE_RELATIONS_PATH + file_name + file_type, "r") as file: data = file.read() - # Set HTTP headers - self.send_response(200) - self.send_header("Content-type", "application/json") - self.end_headers() + return 200, data - # Write contents of the JSON file to response - self.wfile.write(data.encode('utf-8')) except FileNotFoundError: - self.send_response(404) - self.send_header("Content-type", "application/json") - self.end_headers() + return 404, [] except Exception: - self.send_response(500) - self.send_header("Content-type", "application/json") - self.end_headers() + return 500, [] diff --git a/server/map_handler/unit_tests/__pycache__/test_get_lake_relation.cpython-311-pytest-8.2.0.pyc b/server/map_handler/unit_tests/__pycache__/test_get_lake_relation.cpython-311-pytest-8.2.0.pyc new file mode 100644 index 0000000000000000000000000000000000000000..498461db33caa3aaa66d942e959682911a937c5d GIT binary patch literal 3036 zcmeGeJ#X7a^p2z`Sx%HVvCt3Ht=l9>G(>Qm*g%`QXwWoEQ7!!#3;_p5JlV1-l6ZGY zY(oOvAU~i(fGiz4xe&Z`?B1ngT)04RQ-PvGHUmZ$qeI^vO@?xuB}<DSPt?2jb?@Gh z@7}wgPM$0igm?bA(Vn#k`Aah?Aa7v*CJqmYPkb7XMQTQ?Yqu;)y3S&OYK;}R-Qr>q z>7wu4cNR-H7H}NH(Z#Xs)2~Ra^h7&s)Tk=Axoj;n-;<tlfy*9*Ewk7mD&lD4e}99T zwdsIJq*CbPidz`pb{ZpTA~m1`%eM!1pZ4ulqZv4TM?93;(;=*6GknywsbA36ZEMRx zZ}?BZccqTt5LPnz7D~2LF}Xv;<cRM=s_N4%jCMPV7)I^f7ukgrSI$TK%+en9=of#m zHc&e#_$7a=U+7T7x$;!%n~)JtrBvQ`M?H;l_wf6!(Sb9teS%-C+<2-(_;TgfUxfGd zli!dY(gSN@VMsU5T(}gk&(y^9!osvBuhxVb7t)hG!CH~ehnBL@K%=V%6;B8b(iqO6 zAqwY)W1#n{%AdyTk_*W^P!p`>1pxydLo4dW9&mL6)$De!6Ua^|lp927A=H~pEJwY- zH>PYUh;DlU3%xE^V@!B$u05#A4YO(|3O@&kK%Hgn2)dqRd@T;V(37Yc7FETp9(b$V zcz|&o6=iB%ubc!vn`f>hOycWWo|zXqZ>AGC`1Z4pn&05IMKhFPuX&S;RT;(27^0=w z4`*hYsJg?U+4W+!?1g@SbT8~kro$0U6Vwuy%mfBJFyYqYbv0>J&yEn2(Btp{uB<av z=u@^y9#^L}8-G{d`?2z~vs0bht<HVd*!<%Ai9emGN9pr>N}%KqXKFXcW;RIdq^iUw zWAn2zVdf{39BY=iMVx<dN@9G(N#0f79_fADENN+!!t2^$-o(m(UpqjDa0~PY0bPGU zHyd-h;Dn}ht%B1UO=$EsqWt-R_fep#N0Ysc$DhLm)M+QrXM16%I=@?;e<iaW&f%6{ zXFDPP!%n#|5k}!<zSa?vhw`$n+P69n@DA|ux&Ow|+z%tu4d5cC!P$KFUrKBJE1&%} z3v`!j)W%gQy%oSDO4M5{xkuEKmW{o=4*V{3B;E-!kt!a_;EbMgKIy^rTo0~4*K^G^ z#q?KGcFfx!5_1+!jXEfO+>QKRz(0XHI@Q-cv4&{Rrj$O`&G`7=BXa%7v*#A*yL)65 QogQV4wsMRtn`R>W7Z}%~D*ylh literal 0 HcmV?d00001 diff --git a/server/map_handler/unit_tests/test_get_lake_relation.py b/server/map_handler/unit_tests/test_get_lake_relation.py new file mode 100644 index 00000000..26ba06b5 --- /dev/null +++ b/server/map_handler/unit_tests/test_get_lake_relation.py @@ -0,0 +1,25 @@ +from server.map_handler.get_lake_relation import fetch_data + + +def test_fetch_data_true() -> None: + test_lake_name = "Mjøsa" + + status_code, _ = fetch_data(test_lake_name, True) + + assert status_code == 200 + + +def test_fetch_data_false() -> None: + test_lake_name = "Mjøsa" + + status_code, _ = fetch_data(test_lake_name, False) + + assert status_code == 200 + + +def test_fetch_data_no_lake() -> None: + test_lake_name = "non-existent-lake" + + status_code, _ = fetch_data(test_lake_name, False) + + assert status_code == 404 -- GitLab