def test_pre_write_to_full_table_q2(self): qids.reset_atomic_qid_seen() qids.reset_full_qid_seen() entry = qr.QueryResultBase._pre_write_to_full_table( self._query2, self._result2) matching_record_ids = self._result2[rdb.DBF_MATCHINGRECORDIDS] matching_records = len(matching_record_ids) gold = \ { rdb.DBF_FQID : self._query2[qs.QRY_QID], rdb.DBF_CAT : self._query2[qs.QRY_CAT], rdb.DBF_SUBCAT : self._query2[qs.QRY_SUBCAT], rdb.DBF_NUMRECORDS : self._query2[qs.QRY_DBNUMRECORDS], rdb.DBF_RECORDSIZE : self._query2[qs.QRY_DBRECORDSIZE], rdb.DBF_WHERECLAUSE : self._query2[qs.QRY_WHERECLAUSE], rdb.DBF_IBM1SUPPORTED : "IBM1" in self._query2[qs.QRY_PERF], rdb.DBF_IBM2SUPPORTED : "IBM2" in self._query2[qs.QRY_PERF], rdb.DBF_COLUMBIASUPPORTED : "COL" in self._query2[qs.QRY_PERF], rdb.DBF_NUMMATCHINGRECORDS : matching_records, rdb.DBF_MATCHINGRECORDIDS : matching_record_ids, rdb.DBF_P1NEGATEDTERM : self._query2[qs.QRY_NEGATEDTERMS], rdb.DBF_P1NUMTERMSPERCLAUSE : self._query2[qs.QRY_NUMTERMSPERCLAUSE], rdb.DBF_P1NUMCLAUSES : self._query2[qs.QRY_NUMCLAUSES] } gold[rdb.DBF_SELECTSTAR] = entry[rdb.DBF_SELECTSTAR] self.assertEqual(entry, gold)
def test_process_repeat_query(self): ''' test process_query with repeats''' qids.reset_atomic_qid_seen() qids.reset_full_qid_seen() query_result = qr.P9AlarmQueryResult(self.query1, self.result1, None, True) (atomic_entry, full_entry, full_to_atomic_entry, full_to_full_entry) = \ query_result.process_query() full_entry[rdb.DBF_SELECTSTAR] = True self.assertEqual(atomic_entry, self.query1_atomic_entry) self.assertEqual(full_entry, self.query1_full_entry) self.assertEqual(full_to_atomic_entry, self.query1_full_to_atomic_entry) self.assertEqual(full_to_full_entry, {}) # test again but pass in None for results query_result = qr.EqualityQueryResult(self.query1, None, None, True) (atomic_entry, full_entry, full_to_atomic_entry, full_to_full_entry) = \ query_result.process_query() self.assertEqual(atomic_entry, {}) self.assertEqual(full_entry, {}) self.assertEqual(full_to_atomic_entry, {}) self.assertEqual(full_to_full_entry, {})
def test_process_query(self): ''' test process_query ''' qids.reset_atomic_qid_seen() qids.reset_full_qid_seen() query_result = qr.P3P4P6P7QueryResult(self.__query1, self.__result1, None, True) (atomic_entry, full_entry, full_to_atomic_entry, full_to_full_entry) = \ query_result.process_query() full_entry[rdb.DBF_SELECTSTAR] = True self.assertEqual(atomic_entry, self.__query1_atomic_entry) self.assertEqual(full_entry, self.__query1_full_entry) self.assertEqual(full_to_atomic_entry, self.__query1_full_to_atomic_entry) self.assertEqual(full_to_full_entry, {}) # test again but pass in None for results qids.reset_atomic_qid_seen() qids.reset_full_qid_seen() query_result = qr.P3P4P6P7QueryResult(self.__query1, None, None, True) (atomic_entry, full_entry, full_to_atomic_entry, full_to_full_entry) = \ query_result.process_query() full_entry[rdb.DBF_SELECTSTAR] = True self.assertEqual(atomic_entry, self.__query1_atomic_entry_no_matches) self.assertEqual(full_entry, self.__query1_full_entry_no_matches) self.assertEqual(full_to_atomic_entry, self.__query1_full_to_atomic_entry) self.assertEqual(full_to_full_entry, {})
def test_write_query(self): ''' test write_query ''' qids.reset_atomic_qid_seen() qids.reset_full_qid_seen() db_name = ':memory:' db_object = ta1_database.Ta1ResultsDB(db_name) query_result = qr.P9AlarmQueryResult(self.query1, self.result1, db_object, True) query_result.write_query() db_object.close()
def test_process_query(self): ''' test process_query ''' qids.reset_atomic_qid_seen() qids.reset_full_qid_seen() query_result = qr.P9AlarmQueryResult(self.query1, self.result1, None, True) (atomic_entry, full_entry, full_to_atomic_entry, full_to_full_entry) = \ query_result.process_query() full_entry[rdb.DBF_SELECTSTAR] = True self.assertEqual(atomic_entry, self.query1_atomic_entry) self.assertEqual(full_entry, self.query1_full_entry) self.assertEqual(full_to_atomic_entry, self.query1_full_to_atomic_entry) self.assertEqual(full_to_full_entry, {})
def test_write_to_full_table_q1(self): qids.reset_atomic_qid_seen() qids.reset_full_qid_seen() db_name = ':memory:' db_object = ta1_database.Ta1ResultsDB(db_name) qr.QueryResultBase.write_to_full_table(self._query1, self._result1, db_object) db_object._execute("SELECT * FROM " + rdb.DBF_TABLENAME) rows = db_object._fetchall() self.assertEqual(len(rows), 1) fields = [ \ (rdb.DBF_FQID, 1), (rdb.DBF_CAT, self._query1[qs.QRY_CAT]), (rdb.DBF_SUBCAT, self._query1[qs.QRY_SUBCAT]), (rdb.DBF_NUMRECORDS, self._query1[qs.QRY_DBNUMRECORDS]), (rdb.DBF_RECORDSIZE, self._query1[qs.QRY_DBRECORDSIZE]), (rdb.DBF_WHERECLAUSE, self._query1[qs.QRY_WHERECLAUSE]), (rdb.DBF_NUMMATCHINGRECORDS, 2), (rdb.DBF_MATCHINGRECORDIDS, "1|3" ), (rdb.DBF_P1NUMTERMSPERCLAUSE, self._query1[qs.QRY_NUMTERMSPERCLAUSE]), (rdb.DBF_P1ANDNUMRECORDSMATCHINGFIRSTTERM, self._result1[qs.QRY_NUMRECORDSMATCHINGFIRSTTERM]), (rdb.DBF_P1NUMCLAUSES, self._query1[qs.QRY_NUMCLAUSES]), (rdb.DBF_IBM1SUPPORTED, "IBM1" in self._query1[qs.QRY_PERF]), (rdb.DBF_IBM2SUPPORTED, "IBM2" in self._query1[qs.QRY_PERF]), (rdb.DBF_COLUMBIASUPPORTED, "COL" in self._query1[qs.QRY_PERF]) ] for field, gold in fields: cmd = "SELECT " + field + " FROM " + rdb.DBF_TABLENAME db_object._execute(cmd) row = db_object._fetchone() # note: row is a tuple, we want the first element self.assertEqual(row[0], gold) db_object.close()
def testAtomicQID(self): qids.reset_atomic_qid_seen() self.assertEqual(qids.atomic_qid_seen(100), False) self.assertEqual(qids.atomic_qid_seen(100), True) qids.reset_atomic_qid_seen() self.assertEqual(qids.atomic_qid_seen(100), False)