Skip to content

Commit

Permalink
implmented new tests
Browse files Browse the repository at this point in the history
  • Loading branch information
esalonico committed Jun 27, 2023
1 parent 4cda8e3 commit 1dbd536
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 28 deletions.
14 changes: 1 addition & 13 deletions flight_analysis.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
import numpy as np
import pandas as pd
from datetime import timedelta, datetime
import json
import configparser

from src.google_flight_analysis.scrape import Scrape
Expand All @@ -22,21 +21,10 @@
config.read(os.path.join(os.path.dirname(__file__), "config.ini"))


def get_routes_from_config():
"""
Returns a list of routes from the config file.
"""
routes = []
for route in config["routes"]:
routes.append(json.loads(config["routes"][route]))

return routes


if __name__ == "__main__":

# 1. scrape routes
routes = get_routes_from_config()
routes = utils.get_routes_from_config(config)

# compute number of total scrapes
n_total_scrapes = sum([x[2] for x in routes])
Expand Down
40 changes: 26 additions & 14 deletions tests/test_scrape.py
Original file line number Diff line number Diff line change
@@ -1,22 +1,34 @@
import pytest
import pandas as pd
from selenium import webdriver
import numpy as np
from datetime import datetime, timedelta

from src.google_flight_analysis.scrape import *
from src.google_flight_analysis.scrape import Scrape
from src.google_flight_analysis.database import Database

test_df = pd.read_csv("./outputs/MUC_JFK_test.csv")
import private.private as private
import configparser

def test_dataframe_type():
assert isinstance(test_df, pd.DataFrame)

def test_dataframe_shape():
assert np.array_equal(test_df.shape, np.array([241, 16]))

# def test_chromedriver_found():
# chrome_driver = webdriver.Chrome(executable_path="/usr/bin/google-chrome")
# assert chrome_driver is not None
def test_database_connection():
db = Database(db_host=private.DB_HOST, db_name=private.DB_NAME, db_user=private.DB_USER, db_pw=private.DB_PW, db_table=private.DB_TABLE)
try:
conn = db.connect_to_postgresql()
except ConnectionError as e:
assert False, e


def test_dataset_generation():
ten_days_ahead = (datetime.today() + timedelta(5)).strftime("%Y-%m-%d")
scrape_obj = Scrape("MUC", "FCO", ten_days_ahead)
scrape_obj.run_scrape()
assert isinstance(scrape_obj.data, pd.DataFrame)

# def test_dataset_generation():
# scrape_obj = Scrape("MUC", "FCO", "2023-11-22")
# assert isinstance(scrape_obj.data, pd.DataFrame)
def test_config_file():
try:
config = configparser.ConfigParser()
config.read("config.ini")
except Exception as e:
assert False, e


14 changes: 13 additions & 1 deletion utils.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import os
import logging
import logging.config
import json

# logging
LOGS_PATH = os.path.join(os.path.dirname(__file__), "logs")
Expand Down Expand Up @@ -42,4 +43,15 @@ def setup_logger(logger_name):
create_logs_folder()
logging.getLogger('WDM').setLevel(logging.NOTSET) # suppress WDM (Webdrive Manager) logs
logging.config.dictConfig(LOGGING_CONFIG_DICT)
return logging.getLogger(logger_name)
return logging.getLogger(logger_name)


def get_routes_from_config(config_obj):
"""
Returns a list of routes from the config file.
"""
routes = []
for route in config_obj["routes"]:
routes.append(json.loads(config_obj["routes"][route]))

return routes

0 comments on commit 1dbd536

Please sign in to comment.