Something went wrong on our end
-
Mussab Abdalla authoredMussab Abdalla authored
registrar_test.py 2.40 KiB
import psycopg2
import os
import csv
from xml.etree import ElementTree
with open('./env/emg_db.env', 'r') as f:
env = dict(
line.split('=', 1)
for line in f
)
database= env['DB_NAME'].replace('\n','')
port = env['DB_PORT'].replace('\n','')
host = env['DB_HOST'].replace('\n','')
database_password= env['DB_PW'].replace('\n','')
database_user = env['DB_USER'].replace('\n','')
def connect_to_db(eo_id):
global db_name, coverage_id
connection= None
try:
connection = psycopg2.connect(dbname=database, user=database_user, password=database_password, host='docker', port=port)
cursor = connection.cursor()
db_name = connection.get_dsn_parameters()["dbname"]
postgreSQL_select_Query = "SELECT identifier FROM coverages_eoobject WHERE identifier = '%s';" % eo_id
cursor.execute(postgreSQL_select_Query)
coverage_id = cursor.fetchone()[0]
except (Exception, psycopg2.Error) as error :
print ("Error while connecting to PostgreSQL", error)
finally:
#closing database connection.
if connection:
cursor.close()
connection.close()
print("PostgreSQL connection is closed")
def test_db_name(name):
with open(name, newline='') as csvfile:
spamreader = csv.reader(csvfile)
for row in spamreader:
identifier = row[0].split('/')[4]
xml_file= "%s.xml"% identifier
tree = ElementTree.parse(xml_file)
root = tree.getroot()
urls = root.findall('{http://www.telespazio.com/CSCDA/CDD/PDAS}URL')
wms_link = urls[0].find('{http://www.telespazio.com/CSCDA/CDD/PDAS}URL').text
wcs_link = urls[1].find('{http://www.telespazio.com/CSCDA/CDD/PDAS}URL').text
wms_capabilities = 'emg.pass.copernicus.eu/ows?service=wms&request=GetCapabilities&&cql=identifier='
wcs_capabilities = 'emg.pass.copernicus.eu/ows?service=wcs&request=GetCapabilities&&cql=identifier='
expected_wms_link = '%s"%s"' % (wms_capabilities, identifier)
expected_wcs_link = '%s"%s"' % (wcs_capabilities, identifier)
assert expected_wms_link.replace('&&', '&') == wms_link
assert expected_wcs_link.replace('&&', '&') == wcs_link
connect_to_db(identifier)
assert coverage_id == identifier
assert db_name == database