Esempio n. 1
0
def run_with_fake_auth():
    def get_project_ids(role="_member_", project_ids=None):
        from gdcdatamodel import models as md

        if project_ids is None:
            project_ids = []
        if not project_ids:
            with current_app.db.session_scope():
                project_ids += [
                    "{}-{}".format(p.programs[0].name, p.code)
                    for p in current_app.db.nodes(md.Project).all()
                ]
        return project_ids

    with patch(
            "sheepdog.auth.FederatedUser.roles",
            new_callable=PropertyMock,
            return_value=roles,
    ), patch(
            "sheepdog.auth.FederatedUser.logged_in",
            new_callable=PropertyMock,
            return_value=lambda: True,
    ), patch(
            "sheepdog.auth.FederatedUser.get_project_ids",
            new_callable=PropertyMock,
            return_value=get_project_ids,
    ), patch("sheepdog.auth.verify_hmac", new=set_user):

        run_for_development(debug=debug, threaded=True)
Esempio n. 2
0
def run_with_fake_auth():
    def get_project_ids(role='_member_', project_ids=None):
        if project_ids is None:
            project_ids = []
        if not project_ids:
            with current_app.db.session_scope():
                project_ids += [
                    '{}-{}'.format(p.programs[0].name, p.code)
                    for p in current_app.db.nodes(md.Project).all()
                ]
        return project_ids

    with patch('sheepdog.api.AuthDriver', spec=True) as _, patch(
            'sheepdog.auth.FederatedUser.roles',
            new_callable=PropertyMock,
            return_value=roles,
    ), patch(
            'sheepdog.auth.FederatedUser.logged_in',
            new_callable=PropertyMock,
            return_value=lambda: True,
    ), patch(
            'sheepdog.auth.FederatedUser.get_project_ids',
            new_callable=PropertyMock,
            return_value=get_project_ids,
    ), patch(
            'sheepdog.auth.verify_hmac',
            new=set_user,
    ):

        run_for_development(debug=debug, threaded=True)
Esempio n. 3
0
def run_with_fake_download():
    with patch("sheepdog.download.get_nodes", fake_get_nodes):
        with patch.multiple("sheepdog.download",
                            key_for=fake_key_for,
                            key_for_node=fake_key_for_node,
                            urls_from_signpost=fake_urls_from_signpost):
            if os.environ.get("GDC_FAKE_AUTH"):
                run_with_fake_auth()
            else:
                run_for_development(debug=debug, threaded=True)
Esempio n. 4
0
def run_with_fake_authz():
    """
    Mocks arborist calls.
    """
    authorized = True  # modify this to mock authorized/unauthorized
    with patch(
            'gen3authz.client.arborist.client.ArboristClient.create_resource',
            new_callable=PropertyMock,
    ), patch(
            'gen3authz.client.arborist.client.ArboristClient.auth_request',
            new_callable=PropertyMock,
            return_value=lambda jwt, service, methods, resources: authorized,
    ):
        run_for_development(debug=debug, threaded=True)
Esempio n. 5
0
            return_value=get_project_ids,
    ), patch(
            'sheepdog.auth.verify_hmac',
            new=set_user,
    ):

        run_for_development(debug=debug, threaded=True)


def run_with_fake_download():
    with patch("sheepdog.download.get_nodes", fake_get_nodes):
        with patch.multiple("sheepdog.download",
                            key_for=fake_key_for,
                            key_for_node=fake_key_for_node,
                            urls_from_signpost=fake_urls_from_signpost):
            if os.environ.get("GDC_FAKE_AUTH"):
                run_with_fake_auth()
            else:
                run_for_development(debug=debug, threaded=True)


if __name__ == '__main__':
    debug = bool(os.environ.get('SHEEPDOG_DEBUG', True))
    if os.environ.get("GDC_FAKE_DOWNLOAD") == 'True':
        run_with_fake_download()
    else:
        if os.environ.get("GDC_FAKE_AUTH") == 'True':
            run_with_fake_auth()
        else:
            run_for_development(debug=debug, threaded=True)