def access_request_not_confirmed(app, db, users, record_example): """Access Request.""" pid_value, record = record_example with db.session.begin_nested(): id_req = create_access_request(pid_value, users, confirmed=False).id db.session.commit() return id_req
def access_request_confirmed(app, db, users, record_example): """Access Request.""" pid_value, record = record_example with db.session.begin_nested(): id_req = create_access_request(pid_value, users, confirmed=True).id db.session.commit() return id_req
def test_create_secret_link_norecord(app, db, users): """Test creation of secret link with no record.""" # Patch get_record with app.test_request_context(): with patch('zenodo_accessrequests.utils.get_record', return_value=None): with pytest.raises(PIDDoesNotExistError): r = create_access_request("1", users, confirmed=True)
def test_create_secret_link(app, db, users, record_example): """Test creation of secret link via token.""" pid_value, record = record_example with app.test_request_context(): datastore = current_app.extensions['security'].datastore receiver = datastore.get_user(users['receiver']['id']) r = create_access_request(pid_value=pid_value, users=users, confirmed=False) l = r.create_secret_link( "My link", "Link description", expires_at=datetime.utcnow() + timedelta(days=1) ) assert r.link == l assert l.title == "My link" assert l.description == "Link description" assert l.extra_data == dict(recid=pid_value) assert l.owner == receiver
def test_create_secret_link(app, db, users, record_example): """Test creation of secret link via token.""" pid_value, record = record_example with app.test_request_context(): datastore = current_app.extensions['security'].datastore receiver = datastore.get_user(users['receiver']['id']) r = create_access_request(pid_value=pid_value, users=users, confirmed=False) l = r.create_secret_link("My link", "Link description", expires_at=datetime.utcnow() + timedelta(days=1)) assert r.link == l assert l.title == "My link" assert l.description == "Link description" assert l.extra_data == dict(recid=pid_value) assert l.owner == receiver
def test_query_by_receiver(app, db, users, record_example): """Test query by receiver.""" pid_value, record = record_example with app.test_request_context(): datastore = current_app.extensions['security'].datastore receiver = datastore.get_user(users['receiver']['id']) sender = datastore.get_user(users['sender']['id']) assert AccessRequest.query_by_receiver(receiver).count() == 0 assert AccessRequest.query_by_receiver(sender).count() == 0 # Create an accesrequest r = create_access_request(pid_value=pid_value, users=users, confirmed=False) assert AccessRequest.query_by_receiver(receiver).count() == 1 assert AccessRequest.query_by_receiver(sender).count() == 0 assert AccessRequest.get_by_receiver(r.id, receiver) is not None assert AccessRequest.get_by_receiver(r.id, sender) is None