def test_alert_generated(self): self._setup() page_threshold_limit( db=self.db, debug=True ) ## VERIFY AN ALERT IS GENERATED alert = self.db.query(""" SELECT id, status, create_time, tdad_id, reason, details, severity, confidence FROM alerts WHERE reason={{reason}} """, { "reason": REASON }) assert len(alert) == 1 assert alert[0].status == 'new' assert alert[0].severity == self.severity assert alert[0].confidence == 1.0 #VERIFY last_run HAS BEEEN UPDATED last_run = self.db.query( "SELECT last_run FROM reasons WHERE code={{type}}", {"type": REASON} )[0].last_run assert last_run >= datetime.utcnow() + timedelta(minutes=-1) #REMEMEBER id FOR CHECKING OBSOLETE self.alert_id = alert[0].id #VERIFY test_data_all_dimensions HAS BEEN MARKED PROPERLY h0_rejected = self.db.query(""" SELECT h0_rejected FROM test_data_all_dimensions t JOIN alerts a ON a.tdad_id=t.id WHERE a.id={{alert_id}} """, {"alert_id": alert[0].id} ) assert len(h0_rejected) == 1 assert h0_rejected[0].h0_rejected == 1
def test_alert_obsolete(self): ##SETUP assert self.alert_id != None #EXPECTING test_alert_generated TO BE RUN FIRST self.db.execute("UPDATE alert_page_thresholds SET threshold={{threshold}} WHERE page={{page_id}}", { "threshold": 900, "page_id": self.page_id }) ## TEST page_threshold_limit( db=self.db, debug=True ) ## VERIFY SHOWING OBSOLETE new_state = self.db.query( "SELECT status FROM alerts WHERE id={{alert_id}}", {"alert_id": self.alert_id} ) assert len(new_state) == 1 assert new_state[0].status == "obsolete" #VERIFY test_data_all_dimensions HAS BEEN UNMARKED PROPERLY h0_rejected = self.db.query(""" SELECT h0_rejected FROM test_data_all_dimensions t JOIN alerts a ON a.tdad_id=t.id WHERE a.id={{alert_id}} """, {"alert_id": self.alert_id} ) assert len(h0_rejected) == 1 assert h0_rejected[0].h0_rejected == 0