def test_read_XFERO_Scheduled_Task(self):
        '''

        **Purpose:**

        SELECT rows from the XFERO_Scheduled_Task table with scheduled_task_id = 1 and confirm that
        the rows returned are as expected

        +------------+-------------+----------------------------------------------------+
        | Date       | Author      | Change Details                                     |
        +============+=============+====================================================+
        | 02/06/2013 | Chris Falck | Created                                            |
        +------------+-------------+----------------------------------------------------+
        | 13/01/2014 | Chris Falck | Tested to confirm changes to DB                    |
        +------------+-------------+----------------------------------------------------+

        '''
        # Create the row in the database
        for t in [('FTH Housekeeping1', 'housekeeping1', 'NULL', 'NULL', 'NULL', 'NULL', 'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ]:

            self.scheduled_task_name, self.scheduled_task_function, self.scheduled_task_year, self.scheduled_task_month, self.scheduled_task_day, self.scheduled_task_week, self.scheduled_task_day_of_week, self.scheduled_task_hour, self.scheduled_task_minute, self.scheduled_task_second, self.scheduled_task_args, self.scheduled_task_active = t
            result = db_schedule.create_XFERO_Scheduled_Task(self.scheduled_task_name, self.scheduled_task_function, self.scheduled_task_year, self.scheduled_task_month, self.scheduled_task_day,
                                                          self.scheduled_task_week, self.scheduled_task_day_of_week, self.scheduled_task_hour, self.scheduled_task_minute, self.scheduled_task_second, self.scheduled_task_args, self.scheduled_task_active)

        self.scheduled_task_id = '1'
        rows = db_schedule.read_XFERO_Scheduled_Task(self.scheduled_task_id,)

        expected_tuple = (1, 'FTH Housekeeping1', 'housekeeping1', 'NULL', 'NULL', 'NULL',
                          'NULL', 'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1')

        for row in rows:
            self.assertTupleEqual(
                expected_tuple, row, 'Unexpected row retrieved')
示例#2
0
    def Button_Add_Click(self):
        '''button add'''
        sched_task_name = self.Entry_Task_Name.get()
        sched_function = self.Entry_Function.get()
        sched_year = self.Entry_Year.get()
        sched_month = self.Entry_Month.get()
        sched_day = self.Entry_Day.get()
        sched_week = self.Entry_Week.get()
        sched_day_of_week = self.Entry_Day_of_Week.get()
        sched_hour = self.Entry_Hour.get()
        sched_minute = self.Entry_Minute.get()
        sched_second = self.Entry_Second.get()
        sched_args = self.Entry_Args.get()
        sched_active = self.Entry_Active.get()

        result = db_schedule.create_XFERO_Scheduled_Task(sched_task_name,
                                                      sched_function,
                                                      sched_year, sched_month,
                                                      sched_day, sched_week,
                                                      sched_day_of_week,
                                                      sched_hour, sched_minute,
                                                      sched_second, sched_args,
                                                      sched_active)

        self.reload_tree()
    def test_update_XFERO_Scheduled_Task(self):
        '''

        **Purpose:**

        UPDATE rows on the XFERO_Scheduled_Task table with scheduled_task_id = 2 and confirm that the
        update has been applied to the table.

        +------------+-------------+----------------------------------------------------+
        | Date       | Author      | Change Details                                     |
        +============+=============+====================================================+
        | 02/06/2013 | Chris Falck | Created                                            |
        +------------+-------------+----------------------------------------------------+
        | 13/01/2014 | Chris Falck | Tested to confirm changes to DB                    |
        +------------+-------------+----------------------------------------------------+

        '''
        # Create the row in the database
        for t in [('FTH Housekeeping1', 'housekeeping1', 'NULL', 'NULL', 'NULL', 'NULL', 'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', 1),
                  ]:

            self.scheduled_task_name, self.scheduled_task_function, self.scheduled_task_year, self.scheduled_task_month, self.scheduled_task_day, self.scheduled_task_week, self.scheduled_task_day_of_week, self.scheduled_task_hour, self.scheduled_task_minute, self.scheduled_task_second, self.scheduled_task_args, self.scheduled_task_active = t
            result = db_schedule.create_XFERO_Scheduled_Task(self.scheduled_task_name, self.scheduled_task_function, self.scheduled_task_year, self.scheduled_task_month, self.scheduled_task_day,
                                                          self.scheduled_task_week, self.scheduled_task_day_of_week, self.scheduled_task_hour, self.scheduled_task_minute, self.scheduled_task_second, self.scheduled_task_args, self.scheduled_task_active)

        self.scheduled_task_id = '1'
        self.scheduled_task_name = 'FTH HK'
        self.scheduled_task_function = 'housekeeping'
        self.scheduled_task_year = 'NULL'
        self.scheduled_task_month = 'NULL'
        self.scheduled_task_day = 'NULL'
        self.scheduled_task_week = 'NULL'
        self.scheduled_task_day_of_week = 'mon-sun'
        self.scheduled_task_hour = '*'
        self.scheduled_task_minute = '0-59'
        self.scheduled_task_second = '*/25'
        self.scheduled_task_args = '[`\/FTH/logs\', \'^FTH\', 7, False]'
        self.scheduled_task_active = '1'

        rows = db_schedule.update_XFERO_Scheduled_Task(self.scheduled_task_id, self.scheduled_task_name, self.scheduled_task_function, self.scheduled_task_year, self.scheduled_task_month, self.scheduled_task_day,
                                                    self.scheduled_task_week, self.scheduled_task_day_of_week, self.scheduled_task_hour, self.scheduled_task_minute, self.scheduled_task_second, self.scheduled_task_args, self.scheduled_task_active)

        # Check update
        rows = db_schedule.read_XFERO_Scheduled_Task(self.scheduled_task_id)

        expected_tuple = (1, 'FTH HK', 'housekeeping', 'NULL', 'NULL', 'NULL', 'NULL',
                          'mon-sun', '*', '0-59', '*/25', "[`\\/FTH/logs', '^FTH', 7, False]", '1')

        for row in rows:
            self.assertTupleEqual(
                expected_tuple, row, 'Unexpected row retrieved')
    def test_delete_XFERO_Scheduled_Task(self):
        '''

        **Purpose:**

        DELETE rows on the XFERO_Scheduled_Task table with scheduled_task_id = 1 and confirm that the
        deletion has been successful.

        +------------+-------------+----------------------------------------------------+
        | Date       | Author      | Change Details                                     |
        +============+=============+====================================================+
        | 02/06/2013 | Chris Falck | Created                                            |
        +------------+-------------+----------------------------------------------------+
        | 13/01/2014 | Chris Falck | Tested to confirm changes to DB                    |
        +------------+-------------+----------------------------------------------------+

        '''
        # Create the row in the database
        for t in [('FTH Housekeeping1', 'housekeeping1', 'NULL', 'NULL', 'NULL', 'NULL', 'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ]:

            self.scheduled_task_name, self.scheduled_task_function, self.scheduled_task_year, self.scheduled_task_month, self.scheduled_task_day, self.scheduled_task_week, self.scheduled_task_day_of_week, self.scheduled_task_hour, self.scheduled_task_minute, self.scheduled_task_second, self.scheduled_task_args, self.scheduled_task_active = t
            result = db_schedule.create_XFERO_Scheduled_Task(self.scheduled_task_name, self.scheduled_task_function, self.scheduled_task_year, self.scheduled_task_month, self.scheduled_task_day,
                                                          self.scheduled_task_week, self.scheduled_task_day_of_week, self.scheduled_task_hour, self.scheduled_task_minute, self.scheduled_task_second, self.scheduled_task_args, self.scheduled_task_active)

        self.scheduled_task_id = '1'
        rows = db_schedule.delete_XFERO_Scheduled_Task(self.scheduled_task_id)

        # Check update
        config = configparser.RawConfigParser()
        try:
            config.read('conf/XFERO_config.ini')
        except configparser.Error as e:
            raise e

        xfero_db = config.get('database', 'db_location')
        con = lite.connect(xfero_db)

        try:
            cur = con.cursor()
            cur = con.execute("pragma foreign_keys=ON")
            cur.execute('SELECT count(*) FROM XFERO_Scheduled_Task')

        except lite.Error as e:
            print("Error %s:" % e.args[0])

        data = cur.fetchone()[0]
        expected = 0
        self.assertEqual(expected == data, True, "Unexpected row selected")
    def test_create_XFERO_Scheduled_Task(self):
        '''

        **Purpose:**

        INSERT rows into the XFERO_Scheduled_Task table and confirm they have been successfully
        inserted

        +------------+-------------+----------------------------------------------------+
        | Date       | Author      | Change Details                                     |
        +============+=============+====================================================+
        | 02/06/2013 | Chris Falck | Created                                            |
        +------------+-------------+----------------------------------------------------+
        | 13/01/2014 | Chris Falck | Tested to confirm changes to DB                    |
        +------------+-------------+----------------------------------------------------+

        '''

        for t in [('FTH Housekeeping1', 'housekeeping1', 'NULL', 'NULL', 'NULL', 'NULL', 'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ('FTH Housekeeping2', 'housekeeping2', 'NULL', 'NULL', 'NULL', 'NULL',
                   'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ('FTH Housekeeping3', 'housekeeping3', 'NULL', 'NULL', 'NULL', 'NULL',
                   'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ('FTH Housekeeping4', 'housekeeping4', 'NULL', 'NULL', 'NULL', 'NULL',
                   'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ('FTH Housekeeping5', 'housekeeping5', 'NULL', 'NULL', 'NULL', 'NULL',
                   'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ('FTH Housekeeping6', 'housekeeping6', 'NULL', 'NULL', 'NULL', 'NULL',
                   'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ('FTH Housekeeping7', 'housekeeping7', 'NULL', 'NULL', 'NULL', 'NULL',
                   'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ('FTH Housekeeping8', 'housekeeping8', 'NULL', 'NULL', 'NULL', 'NULL',
                   'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ('FTH Housekeeping9', 'housekeeping9', 'NULL', 'NULL', 'NULL', 'NULL',
                   'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ('FTH Housekeeping10', 'housekeeping10', 'NULL', 'NULL', 'NULL', 'NULL',
                   'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ]:

            self.scheduled_task_name, self.scheduled_task_function, self.scheduled_task_year, self.scheduled_task_month, self.scheduled_task_day, self.scheduled_task_week, self.scheduled_task_day_of_week, self.scheduled_task_hour, self.scheduled_task_minute, self.scheduled_task_second, self.scheduled_task_args, self.scheduled_task_active = t
            result = db_schedule.create_XFERO_Scheduled_Task(self.scheduled_task_name, self.scheduled_task_function, self.scheduled_task_year, self.scheduled_task_month, self.scheduled_task_day,
                                                          self.scheduled_task_week, self.scheduled_task_day_of_week, self.scheduled_task_hour, self.scheduled_task_minute, self.scheduled_task_second, self.scheduled_task_args, self.scheduled_task_active)

        config = configparser.RawConfigParser()
        try:
            config.read('conf/XFERO_config.ini')
        except configparser.Error as e:
            raise e

        xfero_db = config.get('database', 'db_location')
        con = lite.connect(xfero_db)

        try:
            cur = con.cursor()
            cur = con.execute("pragma foreign_keys=ON")
            cur.execute('SELECT scheduled_task_id FROM XFERO_Scheduled_Task')

        except lite.Error as e:
            print("Error %s:" % e.args[0])

        expected_tuple = (
            (1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,), (10,))

        rows = cur.fetchall()
        for row in rows:
            self.assertIn(row, expected_tuple, 'Unexpected row retrieved')
    def test_list_XFERO_Scheduled_Task(self):
        '''

        **Purpose:**

        SELECT ALL rows on the XFERO_Scheduled_Task table and confirm that all rows have been
        returned successfully.

        +------------+-------------+----------------------------------------------------+
        | Date       | Author      | Change Details                                     |
        +============+=============+====================================================+
        | 02/06/2013 | Chris Falck | Created                                            |
        +------------+-------------+----------------------------------------------------+
        | 13/01/2014 | Chris Falck | Tested to confirm changes to DB                    |
        +------------+-------------+----------------------------------------------------+

        '''
        expected_tuple = ((1, 'FTH Housekeeping1', 'housekeeping1', 'NULL', 'NULL', 'NULL', 'NULL', 'mon-sun', '*', '0-59', '*/25', "['/FTH/logs', '^FTH', 7, False]", '1'),
                          (2, 'FTH Housekeeping2', 'housekeeping2', 'NULL', 'NULL', 'NULL', 'NULL',
                           'mon-sun', '*', '0-59', '*/25', "['/FTH/logs', '^FTH', 7, False]", '1'),
                          (3, 'FTH Housekeeping3', 'housekeeping3', 'NULL', 'NULL', 'NULL', 'NULL',
                           'mon-sun', '*', '0-59', '*/25', "['/FTH/logs', '^FTH', 7, False]", '1'),
                          (4, 'FTH Housekeeping4', 'housekeeping4', 'NULL', 'NULL', 'NULL', 'NULL',
                           'mon-sun', '*', '0-59', '*/25', "['/FTH/logs', '^FTH', 7, False]", '1'),
                          (5, 'FTH Housekeeping5', 'housekeeping5', 'NULL', 'NULL', 'NULL', 'NULL',
                           'mon-sun', '*', '0-59', '*/25', "['/FTH/logs', '^FTH', 7, False]", '1'),
                          (6, 'FTH Housekeeping6', 'housekeeping6', 'NULL', 'NULL', 'NULL', 'NULL',
                           'mon-sun', '*', '0-59', '*/25', "['/FTH/logs', '^FTH', 7, False]", '1'),
                          (7, 'FTH Housekeeping7', 'housekeeping7', 'NULL', 'NULL', 'NULL', 'NULL',
                           'mon-sun', '*', '0-59', '*/25', "['/FTH/logs', '^FTH', 7, False]", '1'),
                          (8, 'FTH Housekeeping8', 'housekeeping8', 'NULL', 'NULL', 'NULL', 'NULL',
                           'mon-sun', '*', '0-59', '*/25', "['/FTH/logs', '^FTH', 7, False]", '1'),
                          (9, 'FTH Housekeeping9', 'housekeeping9', 'NULL', 'NULL', 'NULL', 'NULL',
                           'mon-sun', '*', '0-59', '*/25', "['/FTH/logs', '^FTH', 7, False]", '1'),
                          (10, 'FTH Housekeeping10', 'housekeeping10', 'NULL', 'NULL', 'NULL', 'NULL', 'mon-sun', '*', '0-59', '*/25', "['/FTH/logs', '^FTH', 7, False]", '1'))

        for t in [('FTH Housekeeping1', 'housekeeping1', 'NULL', 'NULL', 'NULL', 'NULL', 'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ('FTH Housekeeping2', 'housekeeping2', 'NULL', 'NULL', 'NULL', 'NULL',
                   'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ('FTH Housekeeping3', 'housekeeping3', 'NULL', 'NULL', 'NULL', 'NULL',
                   'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ('FTH Housekeeping4', 'housekeeping4', 'NULL', 'NULL', 'NULL', 'NULL',
                   'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ('FTH Housekeeping5', 'housekeeping5', 'NULL', 'NULL', 'NULL', 'NULL',
                   'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ('FTH Housekeeping6', 'housekeeping6', 'NULL', 'NULL', 'NULL', 'NULL',
                   'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ('FTH Housekeeping7', 'housekeeping7', 'NULL', 'NULL', 'NULL', 'NULL',
                   'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ('FTH Housekeeping8', 'housekeeping8', 'NULL', 'NULL', 'NULL', 'NULL',
                   'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ('FTH Housekeeping9', 'housekeeping9', 'NULL', 'NULL', 'NULL', 'NULL',
                   'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ('FTH Housekeeping10', 'housekeeping10', 'NULL', 'NULL', 'NULL', 'NULL',
                   'mon-sun', '*', '0-59', '*/25', '[\'/FTH/logs\', \'^FTH\', 7, False]', '1'),
                  ]:

            self.scheduled_task_name, self.scheduled_task_function, self.scheduled_task_year, self.scheduled_task_month, self.scheduled_task_day, self.scheduled_task_week, self.scheduled_task_day_of_week, self.scheduled_task_hour, self.scheduled_task_minute, self.scheduled_task_second, self.scheduled_task_args, self.scheduled_task_active = t
            result = db_schedule.create_XFERO_Scheduled_Task(self.scheduled_task_name, self.scheduled_task_function, self.scheduled_task_year, self.scheduled_task_month, self.scheduled_task_day,
                                                          self.scheduled_task_week, self.scheduled_task_day_of_week, self.scheduled_task_hour, self.scheduled_task_minute, self.scheduled_task_second, self.scheduled_task_args, self.scheduled_task_active)

        rows = db_schedule.list_XFERO_Scheduled_Task()
        for row in rows:
            self.assertIn(row, expected_tuple, 'Unexpected row selected')