Skip to content
Snippets Groups Projects
Commit 75fc9309 authored by Sara Savanovic Djordjevic's avatar Sara Savanovic Djordjevic
Browse files

add: unit tests for get_lake_realtion.py

parent 17629d1e
No related branches found
No related tags found
1 merge request!16Clhp map into main
No preview for this file type
No preview for this file type
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, []
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment