예제 #1
0
def import_long_live_sessions(schema_name, datasource_name=''):
    with DBConnection(name=datasource_name) as connector:
        user_session = connector.get_table('user_session')
        here = os.path.abspath(os.path.dirname(__file__))
        resources_dir = os.path.join(os.path.join(here, 'resources'))
        with open(os.path.join(resources_dir,
                               'long_lived_sessions.csv')) as file_obj:
            # first row of the csv file is the header names
            reader = csv.DictReader(file_obj, delimiter=',')
            for row in reader:
                new_row = {}
                for field_name in row.keys():
                    # strip out spaces and \n
                    clean_field_name = field_name.rstrip()
                    new_row[clean_field_name] = row[field_name]

                # Inserts to the table one row at a time
                check_existing = connector.get_result(
                    select([user_session.c.session_id],
                           from_obj=[user_session
                                     ]).where(user_session.c.session_id ==
                                              new_row['session_id']))
                if len(check_existing) == 0:
                    connector.execute(user_session.insert().values(**new_row))
                else:
                    connector.execute(user_session.update().values(
                        session_context=new_row['session_context'],
                        last_access=new_row['last_access'],
                        expiration=new_row['expiration']).where(
                            user_session.c.session_id ==
                            new_row['session_id']))
예제 #2
0
 def select_from_table(self, table):
     with DBConnection(
             name=TestServicesTriggerAPI.datasource_name) as connector:
         dim_table = connector.get_table(table)
         query = select([dim_table])
         results = connector.get_result(query)
     return results
예제 #3
0
 def select_from_table(self, table):
     with DBConnection(
             name=DatabaseTestHelper.datasource_name) as connector:
         dim_table = connector.get_table(table)
         query = select([dim_table])
         results = connector.get_result(query)
     return results
 def verify_file_location_not_in_db(self, reg_id):
     with DBConnection(name='hpz') as connector:
         table = connector.get_table(self.reg_table)
         query = select([table.c.file_path
                         ]).where(table.c.registration_id == reg_id)
         result = connector.execute(query).fetchall()
         self.assertEqual(result, [(None, )])
예제 #5
0
 def check_db_for_upload(self, reg_id):
     with DBConnection(name='hpz') as connector:
         table = connector.get_table(self.reg_table)
         query = select([table.c.file_path
                         ]).where(table.c.registration_id == reg_id)
         result = connector.execute(query).fetchall()
         self.assertNotEqual(result, [(None, )])
예제 #6
0
 def select_pdf_cache_trigger_col_from_table(self, table, column_name):
     with DBConnection(
             name=TestServicesTriggerAPI.datasource_name) as connector:
         dim_table = connector.get_table(table)
         if column_name is "last_pre_cached":
             query = select(
                 [dim_table.c.last_pre_cached.label('last_pre_cached')])
         elif column_name is "last_pdf_task_requested":
             query = select([
                 dim_table.c.last_pdf_task_requested.label(
                     'last_pdf_task_requested')
             ])
         return connector.get_result(query)
예제 #7
0
 def set_data_stat_table(self, table, new_row):
     with DBConnection(
             name=TestServicesTriggerAPI.datasource_name) as connector:
         dim_table = connector.get_table(table)
         connector.execute(dim_table.insert().values(**new_row))
예제 #8
0
 def delete_stat_table(self, table):
     with DBConnection(
             name=TestServicesTriggerAPI.datasource_name) as connector:
         table_name = connector.get_table(table)
         connector.execute(table_name.delete())
예제 #9
0
 def get_tables(self):
     with DBConnection(
             name=TestServicesTriggerAPI.datasource_name) as connector:
         metadata = connector.get_metadata()
     return metadata.tables
예제 #10
0
 def get_tables(self):
     with DBConnection(
             name=DatabaseTestHelper.datasource_name) as connector:
         metadata = connector.get_metadata()
     return metadata.tables
 def verify_registration_not_in_db(self, reg_id):
     with DBConnection(name='hpz') as connector:
         table = connector.get_table(self.reg_table)
         query = select([table]).where(table.c.registration_id == reg_id)
         result = connector.execute(query).fetchall()
         self.assertFalse(result, 'Registration is stored in db')
예제 #12
0
 def check_db_for_registration(self, reg_id):
     with DBConnection(name='hpz') as connector:
         table = connector.get_table(self.reg_table)
         query = select([table]).where(table.c.registration_id == reg_id)
         result = connector.execute(query).fetchall()
         self.assertTrue(result, 'Registration not stored in db')