File size: 2,777 Bytes
7a8b84d 4e35839 7a8b84d 4e35839 7a8b84d 4e35839 7a8b84d 4e35839 7a8b84d 4e35839 7a8b84d 4e35839 7a8b84d 4e35839 7a8b84d 4e35839 7a8b84d 4e35839 7a8b84d 4e35839 7a8b84d 4e35839 7a8b84d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
import unittest
import numpy as np
from src import app_logger
from src.io.tms2geotiff import download_extent
from src.utilities.utilities import hash_calculate
from tests import LOCAL_URL_TILE, TEST_EVENTS_FOLDER
input_bbox = [[39.036252959636606, 15.040283203125002], [38.302869955150044, 13.634033203125002]]
class TestTms2geotiff(unittest.TestCase):
def test_download_extent(self):
from tests.local_tiles_http_server import LocalTilesHttpServer
listen_port = 8000
with LocalTilesHttpServer.http_server("localhost", listen_port, directory=TEST_EVENTS_FOLDER):
pt0, pt1 = input_bbox
zoom = 10
img, matrix = download_extent(
source=LOCAL_URL_TILE, lat0=pt0[0], lon0=pt0[1], lat1=pt1[0], lon1=pt1[1], zoom=zoom
)
app_logger.info("# DOWNLOAD ENDED! #")
np_img = np.array(img)
output_hash = hash_calculate(np_img)
assert output_hash == b'Rd95Whd3nP4PW4pgcYsoyTqUUabpt8LfYxns022em7o='
assert matrix == (1517733.63363046, 152.8740565703522, 0, 4726865.829155299, 0, -152.87405657035038)
def test_download_extent_io_error1(self):
with self.assertRaises(IOError):
try:
pt0, pt1 = input_bbox
zoom = 10
download_extent(
source=LOCAL_URL_TILE, lat0=pt0[0], lon0=pt0[1], lat1=pt1[0], lon1=pt1[1], zoom=zoom
)
except IOError as ioe1:
app_logger.error(f"ioe1:{ioe1}.")
msg0 = "HTTPConnectionPool(host='localhost', port=8000): Max retries exceeded with url: /lambda_handler"
msg1 = "Caused by NewConnectionError"
msg2 = ": Failed to establish a new connection: [Errno 61] Connection refused'))"
assert msg0 in str(ioe1)
assert msg1 in str(ioe1)
assert msg2 in str(ioe1)
raise ioe1
def test_download_extent_io_error2(self):
from tests.local_tiles_http_server import LocalTilesHttpServer
listen_port = 8000
with LocalTilesHttpServer.http_server("localhost", listen_port, directory=TEST_EVENTS_FOLDER):
pt0, pt1 = input_bbox
zoom = 10
with self.assertRaises(AttributeError):
try:
download_extent(
source=LOCAL_URL_TILE + "_not_found_raster!",
lat0=pt0[0], lon0=pt0[1], lat1=pt1[0], lon1=pt1[1], zoom=zoom
)
except AttributeError as ae:
app_logger.error(f"ae:{ae}.")
assert str(ae) == "'NoneType' object has no attribute 'crop'"
raise ae
|