def test_map_index(self): index = Row(relid=1, schemaname='public', relname='table1', indexrelname='index1', idx_scan=100, idx_tup_read=700, idx_tup_fetch=80, indisunique=True) mapped_index = IndexesDatabaseHandler.map_index(index) self.assertEquals('public.table1.index1', mapped_index['name']) self.assertEquals(100, mapped_index['scans']) self.assertEquals(780, mapped_index['tuples']) self.assertEquals(True, mapped_index['isUnique'])
def test_map_table(self): table = Row(relid=1, schemaname='public', relname='table1', seq_scan=20, seq_tup_read=200) mapped_table = IndexesDatabaseHandler.map_table(table, {}) self.assertEquals('public.table1', mapped_table['name']) self.assertEquals('public.table1.unindexed', mapped_table['children'][0]['name']) self.assertEquals(20, mapped_table['children'][0]['scans']) self.assertEquals(200, mapped_table['children'][0]['tuples']) self.assertEquals(False, mapped_table['children'][0]['isIndex'])
def test_build_index_json(self): tables = [ Row(relid=1, schemaname='public', relname='table1', seq_scan=20, seq_tup_read=200), Row(relid=2, schemaname='public', relname='table2', seq_scan=10, seq_tup_read=100) ] indexes = [ Row(relid=1, schemaname='public', relname='table1', indexrelname='index1', idx_scan=100, idx_tup_read=700, idx_tup_fetch=80, indisunique=True), Row(relid=1, schemaname='public', relname='table1', indexrelname='index2', idx_scan=50, idx_tup_read=70, idx_tup_fetch=8, indisunique=False), Row(relid=2, schemaname='public', relname='table2', indexrelname='index3', idx_scan=100, idx_tup_read=700, idx_tup_fetch=80, indisunique=True) ] json = json_decode(IndexesDatabaseHandler.build_json('database', tables, indexes)) self.assertEquals('database', json['name']) self.assertEquals(['public.table1', 'public.table2'], [c['name'] for c in json['children']])