コード例 #1
0
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!")
コード例 #2
0
 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()
コード例 #3
0
def get_db_envs():
    return update_config_with_env_vars()
コード例 #4
0
 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"))
コード例 #5
0
 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)
コード例 #6
0
 def test_get_env_args_returns_non_empty_dict(set_up_env_vars):
     assert_that([update_config_with_env_vars().items()]).is_not_empty()
コード例 #7
0
 def test_get_env_args_returns_dict(set_up_env_vars):
     assert_that(update_config_with_env_vars()).is_type_of(dict)