def test_notify(self): data = {'query': 'Kashmir'} failed_alert = Alert.create(data, self.role_no_email.id) failed_alert.notified_at = datetime.utcnow() - timedelta(hours=72) alert = Alert.create(data, self.role_email.id) alert.notified_at = datetime.utcnow() + timedelta(hours=72) db.session.commit() res = get_notifications(self.role_email) notcount = res.get('hits').get('total').get('value') assert notcount == 0, notcount db.session.refresh(alert) alert.notified_at = datetime.utcnow() - timedelta(hours=72) db.session.add(alert) db.session.commit() check_alerts() res = get_notifications(self.role_email) notcount = res.get('hits').get('total').get('value') assert notcount == 1, res.get('hits') check_alerts() res = get_notifications(self.role_email) notcount = res.get('hits').get('total').get('value') assert notcount == 1, res.get('hits')
def create(): """Creates an alert for a given query string. --- post: summary: Create an alert requestBody: content: application/json: schema: $ref: '#/components/schemas/AlertCreate' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Alert' description: OK tags: - Alert """ require(request.authz.session_write) data = parse_request("AlertCreate") alert = Alert.create(data, request.authz.id) db.session.commit() tag_request(alert_id=alert.id) return AlertSerializer.jsonify(alert)
def test_notify(self): data = {'query_text': '', 'label': 'Test Alert'} alert = Alert.create(data, self.role_email) alert.notified_at = datetime.utcnow() + timedelta(hours=72) db.session.commit() with mail.record_messages() as outbox: check_alerts() assert len(outbox) == 0, outbox db.session.refresh(alert) alert.notified_at = datetime.utcnow() - timedelta(hours=72) db.session.add(alert) db.session.commit() with mail.record_messages() as outbox: check_alerts() assert len(outbox) == 1, outbox msg = outbox[0] assert 'Test Alert' in msg.subject, msg assert '*****@*****.**' in msg.recipients, msg with mail.record_messages() as outbox: check_alerts() assert len(outbox) == 0, outbox
def create(): authz.require(authz.logged_in()) alert = Alert.create(request_data(), request.auth_role) db.session.commit() log_event(request) return view(alert.id)
def create(): require(request.authz.session_write) data = parse_request(AlertSchema) alert = Alert.create(data, request.authz.id) db.session.commit() tag_request(alert_id=alert.id) return AlertSerializer.jsonify(alert)
def test_notify(self): data = {'query_text': '', 'label': 'Test Alert'} alert = Alert.create(data, self.role_email) alert.notified_at = datetime.utcnow() + timedelta(hours=72) db.session.commit() with mail.record_messages() as outbox: check_alerts() assert len(outbox) == 0, outbox db.session.refresh(alert) alert.notified_at = datetime.utcnow() - timedelta(hours=72) db.session.add(alert) db.session.commit() with mail.record_messages() as outbox: check_alerts() assert len(outbox) == 1, outbox msg = outbox[0] assert 'Test Alert' in msg.subject, msg assert '*****@*****.**' in msg.recipients, msg with mail.record_messages() as outbox: check_alerts() assert len(outbox) == 0, outbox
def test_notify_no_email(self): data = {'query': {}, 'custom_label': 'Test Alert'} assert self.role_no_email.email is None, self.role_no_email.email alert = Alert.create(data, self.role_no_email) alert.notified_at = datetime.utcnow() - timedelta(hours=72) db.session.commit() notcount = Notification.all().count() assert notcount == 0, notcount
def test_notify_no_email(self): data = {'query': {}, 'custom_label': 'Test Alert'} assert self.role_no_email.email is None, self.role_no_email.email alert = Alert.create(data, self.role_no_email) alert.notified_at = datetime.utcnow() - timedelta(hours=72) db.session.commit() with mail.record_messages() as outbox: check_alerts() assert len(outbox) == 0, outbox
def test_notify_entity(self): data = {'query': 'kwazulu'} alert = Alert.create(data, self.role_email.id) alert.notified_at = datetime.utcnow() - timedelta(hours=72) db.session.add(alert) db.session.commit() check_alerts() notcount = Notification.all().count() assert notcount == 2, notcount
def test_notify_no_email(self): data = {'query': {}, 'custom_label': 'Test Alert'} assert self.role_no_email.email is None, self.role_no_email.email alert = Alert.create(data, self.role_no_email) alert.notified_at = datetime.utcnow() - timedelta(hours=72) db.session.commit() with mail.record_messages() as outbox: check_alerts() assert len(outbox) == 0, outbox
def test_notify_entity(self): data = {'query_text': 'kwazulu', 'label': 'Test Alert'} alert = Alert.create(data, self.role_email.id) alert.notified_at = datetime.utcnow() - timedelta(hours=72) db.session.add(alert) db.session.commit() check_alerts() notcount = Notification.all().count() assert notcount == 2, notcount
def test_notify(self): data = {'query': 'Kashmir'} failed_alert = Alert.create(data, self.role_no_email.id) failed_alert.notified_at = datetime.utcnow() - timedelta(hours=72) alert = Alert.create(data, self.role_email.id) alert.notified_at = datetime.utcnow() + timedelta(hours=72) db.session.commit() notcount = Notification.all().count() assert notcount == 0, notcount db.session.refresh(alert) alert.notified_at = datetime.utcnow() - timedelta(hours=72) db.session.add(alert) db.session.commit() check_alerts() notcount = Notification.all().count() assert notcount == 1, notcount check_alerts() notcount = Notification.all().count() assert notcount == 1, notcount
def test_notify(self): data = {'query_text': '', 'label': 'Test Alert'} alert = Alert.create(data, self.role_email) alert.notified_at = datetime.utcnow() + timedelta(hours=72) db.session.commit() notcount = Notification.all().count() assert notcount == 0, notcount db.session.refresh(alert) alert.notified_at = datetime.utcnow() - timedelta(hours=72) db.session.add(alert) db.session.commit() check_alerts() notcount = Notification.all().count() assert notcount == 3, notcount check_alerts() notcount = Notification.all().count() assert notcount == 3, notcount
def test_notify(self): data = {'query': 'fruit'} alert = Alert.create(data, self.role_email.id) alert.notified_at = datetime.utcnow() + timedelta(hours=72) db.session.commit() notcount = Notification.all().count() assert notcount == 0, notcount db.session.refresh(alert) alert.notified_at = datetime.utcnow() - timedelta(hours=72) db.session.add(alert) db.session.commit() check_alerts() notcount = Notification.all().count() assert notcount == 1, notcount check_alerts() notcount = Notification.all().count() assert notcount == 1, notcount
def create(): require(request.authz.session_write) data = parse_request(schema=AlertSchema) alert = Alert.create(data, request.authz.role) db.session.commit() return view(alert.id)
def create(): request.authz.require(request.authz.session_write()) alert = Alert.create(request_data(), request.authz.role) db.session.commit() log_event(request) return view(alert.id)
def create(): require(request.authz.session_write) data = parse_request(AlertSchema) alert = Alert.create(data, request.authz.id) db.session.commit() return AlertSerializer.jsonify(alert)
def create(): authz.require(authz.logged_in()) alert = Alert.create(request_data(), request.auth_role) db.session.commit() log_event(request) return view(alert.id)