Beispiel #1
0
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
Beispiel #3
0
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_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
Beispiel #6
0
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
Beispiel #8
0
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