def runTest(self):
        '''
        Run the tests.

        :param None
        :return: None
        '''
        self.assertEqual(
            DailyDataServices.update_daily_data_by_symbol("AA")[0], True)
        self.assertEqual(
            DailyDataServices.update_daily_data_by_symbol("A2")[0], False)

        self.assertTrue(
            len(DailyDataServices.get_daily_data_by_symbol("AA")) > 0)
        self.assertTrue(
            len(DailyDataServices.get_daily_data_by_symbol("A2")) == 0)

        self.assertTrue(DailyDataServices.is_daily_data_by_symbol("AA")[0])
        self.assertFalse(DailyDataServices.is_daily_data_by_symbol("A2")[0])

        self.assertTrue(DailyDataServices.remove_daily_data_by_symbol("AA")[0])
        self.assertTrue(
            len(DailyDataServices.get_daily_data_by_symbol("AA")) == 0)
        self.assertEqual(
            DailyDataServices.update_daily_data_by_symbol("AA")[0], True)
        self.assertTrue(
            len(DailyDataServices.get_daily_data_by_symbol("AA")) > 0)
def update_daily_data(symbols, retries):
    '''
    Functions that update the historical daily data for a given list of symbols, 
    using a number of the retries if the isn't successfully updated.

    :param symbols -- list of str, names of the symbols.
    :param retries -- int, number of the retries if the isn't successfully update.
    :return: None
    '''
    logging.config.fileConfig(app_config.LOG_CONFIG_FILE)
    logger = logging.getLogger()
    logger.info("START update_daily_data")
    for symbol in symbols:
        #update $symbol
        counter = 0
        while counter < retries:
            if DailyDataServices.update_daily_data_by_symbol(symbol)[0]:
                #update counter
                counter = retries
            else:
                logger.info("ERROR " + symbol)
            counter += 1
        #check if successfully updated.
        if counter > retries:
            logger.info(symbol + " OK")
        else:
            logger.info(symbol + " NO_DATA")
    logger.info("FINAL update_daily_data")
def update_daily_data(symbols, retries):
    '''
    Functions that update the historical daily data for a given list of symbols, 
    using a number of the retries if the isn't successfully updated.

    :param symbols -- list of str, names of the symbols.
    :param retries -- int, number of the retries if the isn't successfully update.
    :return: None
    '''
    logging.config.fileConfig(app_config.LOG_CONFIG_FILE)
    logger = logging.getLogger()
    logger.info("START update_daily_data")
    for symbol in symbols:
        #update $symbol
        counter = 0
        while counter < retries:
            if DailyDataServices.update_daily_data_by_symbol(symbol)[0]:
                #update counter
                counter = retries
            else:
                logger.info("ERROR " + symbol)
            counter += 1
        #check if successfully updated.
        if counter > retries:
            logger.info(symbol + " OK")
        else:
            logger.info(symbol + " NO_DATA")
    logger.info("FINAL update_daily_data")
    def runTest(self):
        """
        Run the tests.

        :param None
        :return: None
        """
        self.assertEqual(DailyDataServices.update_daily_data_by_symbol("AA")[0], True)
        self.assertEqual(DailyDataServices.update_daily_data_by_symbol("A2")[0], False)

        self.assertTrue(len(DailyDataServices.get_daily_data_by_symbol("AA")) > 0)
        self.assertTrue(len(DailyDataServices.get_daily_data_by_symbol("A2")) == 0)

        self.assertTrue(DailyDataServices.is_daily_data_by_symbol("AA")[0])
        self.assertFalse(DailyDataServices.is_daily_data_by_symbol("A2")[0])

        self.assertTrue(DailyDataServices.remove_daily_data_by_symbol("AA")[0])
        self.assertTrue(len(DailyDataServices.get_daily_data_by_symbol("AA")) == 0)
        self.assertEqual(DailyDataServices.update_daily_data_by_symbol("AA")[0], True)
        self.assertTrue(len(DailyDataServices.get_daily_data_by_symbol("AA")) > 0)