Beispiel #1
0
def test_user_profile_missing_user():
    app = pretend.stub(db=pretend.stub(accounts=pretend.stub(
        get_user=pretend.call_recorder(lambda user: None), ), ), )
    request = pretend.stub()

    username = "******"

    with pytest.raises(NotFound):
        user_profile(app, request, username=username)

    assert app.db.accounts.get_user.calls == [pretend.call("test-user")]
Beispiel #2
0
def test_user_profile_renders(app):
    app.db = pretend.stub(
        accounts=pretend.stub(get_user=pretend.call_recorder(
            lambda user: {
                "username": "******",
                "email": "*****@*****.**",
            }, ), ),
        packaging=pretend.stub(
            get_projects_for_user=pretend.call_recorder(lambda user: None), ),
    )

    request = pretend.stub()

    resp = user_profile(app, request, username="******")

    assert resp.status_code == 200
    assert resp.response.context == {
        "projects": None,
        "user": {
            "username": "******",
            "email": "*****@*****.**",
        },
    }

    assert app.db.accounts.get_user.calls == [pretend.call("test-user")]
    assert app.db.packaging.get_projects_for_user.calls == [
        pretend.call("test-user"),
    ]
Beispiel #3
0
def test_user_profile_redirects():
    app = pretend.stub(
        config=pretend.stub(cache=pretend.stub(
            browser=False,
            varnish=False,
        ), ),
        db=pretend.stub(accounts=pretend.stub(get_user=pretend.call_recorder(
            lambda user: {"username": "******"}, ), ), ),
    )
    request = pretend.stub(url_adapter=pretend.stub(
        build=pretend.call_recorder(lambda *a, **kw: "/~test-User/",
                                    ), ), )

    username = "******"

    resp = user_profile(app, request, username=username)

    assert resp.status_code == 301
    assert resp.headers["Location"] == "/~test-User/"

    assert app.db.accounts.get_user.calls == [pretend.call("test-user")]

    assert request.url_adapter.build.calls == [
        pretend.call(
            "warehouse.accounts.views.user_profile",
            {"username": "******"},
            force_external=False,
        ),
    ]
Beispiel #4
0
def test_user_profile_renders(app):
    app.db = pretend.stub(
        accounts=pretend.stub(
            get_user=pretend.call_recorder(
                lambda user: {
                    "username": "******",
                    "email": "*****@*****.**",
                },
            ),
        ),
        packaging=pretend.stub(
            get_projects_for_user=pretend.call_recorder(lambda user: None),
        ),
    )

    request = pretend.stub()

    resp = user_profile(app, request, username="******")

    assert resp.status_code == 200
    assert resp.response.context == {
        "projects": None,
        "user": {
            "username": "******",
            "email": "*****@*****.**",
        },
    }

    assert app.db.accounts.get_user.calls == [pretend.call("test-user")]
    assert app.db.packaging.get_projects_for_user.calls == [
        pretend.call("test-user"),
    ]
Beispiel #5
0
def test_user_profile_missing_user():
    app = pretend.stub(
        db=pretend.stub(
            accounts=pretend.stub(
                get_user=pretend.call_recorder(lambda user: None),
            ),
        ),
    )
    request = pretend.stub()

    username = "******"

    with pytest.raises(NotFound):
        user_profile(app, request, username=username)

    assert app.db.accounts.get_user.calls == [pretend.call("test-user")]
Beispiel #6
0
def test_user_profile_renders():
    app = pretend.stub(
        config=pretend.stub(
            cache=pretend.stub(
                browser=False,
                varnish=False,
            ),
        ),
        db=pretend.stub(
            accounts=pretend.stub(
                get_user=pretend.call_recorder(
                    lambda user: {"username": "******"},
                ),
            ),
            packaging=pretend.stub(
                get_projects_for_user=pretend.call_recorder(
                    lambda user: None,
                ),
            ),
        ),
        templates=pretend.stub(
            get_template=pretend.call_recorder(
                lambda t: pretend.stub(render=lambda **ctx: ""),
            ),
        ),
    )
    request = pretend.stub()

    username = "******"

    resp = user_profile(app, request, username=username)

    assert resp.status_code == 200

    assert app.db.accounts.get_user.calls == [pretend.call("test-user")]
    assert app.db.packaging.get_projects_for_user.calls == [
        pretend.call("test-user"),
    ]

    assert app.templates.get_template.calls == [
        pretend.call("accounts/profile.html"),
    ]
Beispiel #7
0
def test_user_profile_renders():
    app = pretend.stub(
        config=pretend.stub(
            cache=pretend.stub(
                browser=False,
                varnish=False,
            ),
        ),
        models=pretend.stub(
            accounts=pretend.stub(
                get_user=pretend.call_recorder(
                    lambda user: {"username": "******"},
                ),
            ),
            packaging=pretend.stub(
                get_projects_for_user=pretend.call_recorder(
                    lambda user: None,
                ),
            ),
        ),
        templates=pretend.stub(
            get_template=pretend.call_recorder(
                lambda t: pretend.stub(render=lambda **ctx: ""),
            ),
        ),
    )
    request = pretend.stub()

    username = "******"

    resp = user_profile(app, request, username=username)

    assert resp.status_code == 200

    assert app.models.accounts.get_user.calls == [pretend.call("test-user")]
    assert app.models.packaging.get_projects_for_user.calls == [
        pretend.call("test-user"),
    ]

    assert app.templates.get_template.calls == [
        pretend.call("accounts/profile.html"),
    ]
Beispiel #8
0
def test_user_profile_redirects():
    app = pretend.stub(
        config=pretend.stub(
            cache=pretend.stub(
                browser=False,
                varnish=False,
            ),
        ),
        db=pretend.stub(
            accounts=pretend.stub(
                get_user=pretend.call_recorder(
                    lambda user: {"username": "******"},
                ),
            ),
        ),
    )
    request = pretend.stub(
        url_adapter=pretend.stub(
            build=pretend.call_recorder(
                lambda *a, **kw: "/~test-User/",
            ),
        ),
    )

    username = "******"

    resp = user_profile(app, request, username=username)

    assert resp.status_code == 301
    assert resp.headers["Location"] == "/~test-User/"

    assert app.db.accounts.get_user.calls == [pretend.call("test-user")]

    assert request.url_adapter.build.calls == [
        pretend.call(
            "warehouse.accounts.views.user_profile",
            {"username": "******"},
            force_external=False,
        ),
    ]