def main(): logger.info(f"Running app: {config.NBA_APP_NAME}") logger.debug("Updating env variables...") env_vars = update_config_with_env_vars() logger.debug("Getting runtime parameters...") args = get_argv() start = False end = False if "NBA_STARTDATE" in args: start = date.fromisoformat(args["NBA_STARTDATE"]) if "NBA_ENDDATE" in args: end = date.fromisoformat(args["NBA_ENDDATE"]) logger.info("Getting data...") if start and end: logger.info(f"Using provided start: {start} " f"and end {end} dates.") data = merge_line_score( fetch_scoreboard_data(start_date=start, end_date=end)) else: logger.info("Defaulting to yesterday as start and end date.") data = merge_line_score(fetch_scoreboard_data()) logger.info("Retrieved data.") logger.info(f"Pushing data to db at: {env_vars['NBA_DB_URL']}") results = batch_upload(data=data, db=start_engine(env_vars["NBA_DB_URL"]), batch_def=config.BATCHES['default']) logger.info( f"Pushing monitor stats to db at: {env_vars['NBA_MONITOR_DB_URL']}") for result in results: post_monitor_data(db=start_engine(env_vars['NBA_MONITOR_DB_URL']), data=result) logger.info("Finished pushing monitor stats.") logger.info("Finished run!")
def test_get_env_args_returns_dict_with_keywords_starting_with_app_name( self, set_up_env_vars): names = list(update_config_with_env_vars().keys()) non_compliant = [ i for i in names if not i.startswith(self.params.get("app_name")) ] assert_that(non_compliant).is_empty()
def get_db_envs(): return update_config_with_env_vars()
def test_get_env_overwrites_default_values(self, set_up_env_vars): assert_that(update_config_with_env_vars()["NBA_DB_URL"]).matches( self.params.get("nba_db_url"))
def test_get_env_args_does_not_contain_wrong_entry(self, set_up_env_vars_wrong): names = list(update_config_with_env_vars().keys()) assert_that(self.params.get("wrong_entry")).is_not_in(names)
def test_get_env_args_returns_non_empty_dict(set_up_env_vars): assert_that([update_config_with_env_vars().items()]).is_not_empty()
def test_get_env_args_returns_dict(set_up_env_vars): assert_that(update_config_with_env_vars()).is_type_of(dict)