Example #1
0
def test_db_alert_dates():
    al = Alert(query = 'test data',
               user = get_test_user(),
               label = 'test query',
               checking_interval = 5)

    db.session.add(al)
    db.session.commit()
    assert al.due_to_check()

    al.mark_as_checked()
    db.session.add(al)
    db.session.commit()
    assert not al.due_to_check()

    al.checked_at = datetime.datetime.utcnow() - datetime.timedelta(days=6)
    db.session.add(al)
    db.session.commit()
    assert al.due_to_check()
    
    al.checked_at = datetime.datetime.utcnow() - datetime.timedelta(days=4)
    db.session.add(al)
    db.session.commit()
    assert not al.due_to_check()    

    db.session.delete(al)
    db.session.commit()
Example #2
0
def create():
    # also handles update
    data = request.get_json()
    print(data)
    if 'query_text' not in data:
        return jsonify({'status': 'invalid'})
    authz.require(authz.logged_in())

    if data.get('alert_id', None): # UPDATE
        alert_id = int(data['alert_id'])
        alert = obj_or_404(Alert.by_id(alert_id))
        authz.require(alert.role_id == request.auth_role.id)
        alert.query_text = data['query_text']
        alert.custom_label = data.get('custom_label' '') or data['query_text']
        alert.checking_interval=int(data.get('checking_interval', 9))
    else: # CREATE
        alert = Alert(
            role_id = request.auth_role.id,
            query_text=data['query_text'],
            custom_label=data.get('custom_label' '') or data['query_text'],
            checking_interval=int(data.get('checking_interval', 9))
         )
    db.session.add(alert)
    db.session.commit()
    return view(alert.id)
Example #3
0
 def setUp(self):
     super(EntitiesTestCase, self).setUp()
     self.rolex = self.create_user(foreign_id='user_3')
     self.col = Collection()
     self.col.label = 'Original Collection'
     self.col.foreign_id = 'test_coll_entities'
     db.session.add(self.col)
     self.col_other = Collection()
     self.col_other.label = 'Other Collection'
     self.col_other.foreign_id = 'test_coll_entities_other'
     db.session.add(self.col_other)
     db.session.flush()
     self.ent = Entity.save(
         {
             'name':
             'Winnie the Pooh',
             'jurisdiction_code':
             'pa',
             'summary':
             'a fictional teddy bear created by author A. A. Milne',
             'identifiers': [{
                 'scheme': 'wikipedia',
                 'identifier': 'en:Winnie-the-Pooh'
             }],
             'other_names': [{
                 'name': u'Puh der Bär'
             }, {
                 'name': 'Pooh Bear'
             }]
         }, [self.col])
     db.session.add(self.ent)
     db.session.flush()
     self.other = Entity.save(
         {
             'name':
             'Pu der Bär',
             'jurisdiction_code':
             'de',
             'description':
             'he is a bear',
             'identifiers': [{
                 'scheme': 'wikipedia',
                 'identifier': 'en:Winnie-the-Pooh'
             }, {
                 'scheme': 'animals',
                 'identifier': 'bears.winnie.pooh'
             }],
             'other_names': [{
                 'name': u'Puh der Bär'
             }]
         }, [self.col_other])
     db.session.add(self.other)
     self.alert = Alert()
     self.alert.entity = self.other
     db.session.add(self.alert)
     db.session.commit()
Example #4
0
def create():
    authz.require(authz.logged_in())
    data = request.get_json()
    validate(data, alerts_schema)
    alert = Alert(user_id=current_user.id,
                  query=data['query'],
                  label=data.get('custom_label', data['query']),
                  checking_interval=int(data.get('checking_interval', 9)))
    db.session.add(alert)
    db.session.commit()
    return view(alert.id)
Example #5
0
 def setUp(self):
     super(EntitiesTestCase, self).setUp()
     self.rolex = self.create_user(foreign_id='user_3')
     self.col = Collection()
     self.col.label = 'Original Collection'
     self.col.foreign_id = 'test_coll_entities'
     db.session.add(self.col)
     self.col_other = Collection()
     self.col_other.label = 'Other Collection'
     self.col_other.foreign_id = 'test_coll_entities_other'
     db.session.add(self.col_other)
     db.session.flush()
     self.ent = Entity.save(
         {
             'schema': 'LegalEntity',
             'name': 'Winnie the Pooh',
             'data': {
                 'country': 'pa',
                 'summary': 'a fictional teddy bear created by A. A. Milne',
                 'alias': [u'Puh der Bär', 'Pooh Bear']
             }
         }, self.col)
     self.other = Entity.save(
         {
             'schema': 'LegalEntity',
             'name': 'Pu der Bär',
             'data': {
                 'country': 'de',
                 'description': 'he is a bear',
                 'alias': [u'Puh der Bär']
             }
         }, self.col)
     self.alert = Alert()
     self.alert.entity = self.other
     db.session.add(self.alert)
     db.session.commit()
     index_entity(self.ent)
     index_entity(self.other)
Example #6
0
def test_search():
    al = Alert(query = 'China',
               user = get_test_user(),
               label = 'test query: China',
               checking_interval = 5)
    res = alerts.run_alert(al)