Example #1
0
def test_index(app):
    project_count = pretend.stub()
    download_count = pretend.stub()
    updated = pretend.stub()

    app.db = pretend.stub(
        packaging=pretend.stub(
            get_project_count=pretend.call_recorder(
                lambda: project_count,
            ),
            get_download_count=pretend.call_recorder(
                lambda: download_count,
            ),
            get_recently_updated=pretend.call_recorder(lambda: updated),
        ),
    )

    request = pretend.stub()

    resp = index(app, request)

    assert resp.response.template.name == "index.html"
    assert resp.response.context == {
        "project_count": project_count,
        "download_count": download_count,
        "recently_updated": updated,
    }
    assert app.db.packaging.get_project_count.calls == [pretend.call()]
    assert app.db.packaging.get_download_count.calls == [pretend.call()]
    assert app.db.packaging.get_recently_updated.calls == [pretend.call()]
Example #2
0
def test_index(monkeypatch):
    project_count = pretend.stub()
    download_count = pretend.stub()
    updated = pretend.stub()

    app = pretend.stub(
        config=pretend.stub(
            cache=pretend.stub(browser=False, varnish=False),
        ),
        db=pretend.stub(
            packaging=pretend.stub(
                get_project_count=pretend.call_recorder(
                    lambda: project_count,
                ),
                get_download_count=pretend.call_recorder(
                    lambda: download_count,
                ),
                get_recently_updated=pretend.call_recorder(lambda: updated),
            ),
        ),
    )
    request = pretend.stub()

    response = pretend.stub(
        status_code=200,
        headers={},
        cache_control=pretend.stub(),
        surrogate_control=pretend.stub(),
    )
    render_response = pretend.call_recorder(lambda *a, **kw: response)

    monkeypatch.setattr(views, "render_response", render_response)

    resp = index(app, request)

    assert resp is response
    assert app.db.packaging.get_project_count.calls == [pretend.call()]
    assert app.db.packaging.get_download_count.calls == [pretend.call()]
    assert app.db.packaging.get_recently_updated.calls == [pretend.call()]
    assert render_response.calls == [
        pretend.call(
            app, request, "index.html",
            project_count=project_count,
            download_count=download_count,
            recently_updated=updated,
        ),
    ]
Example #3
0
def test_index(monkeypatch):
    project_count = pretend.stub()
    download_count = pretend.stub()
    updated = pretend.stub()

    app = pretend.stub(
        config=pretend.stub(
            cache=pretend.stub(browser=False, varnish=False),
        ),
        models=pretend.stub(
            packaging=pretend.stub(
                get_project_count=pretend.call_recorder(
                    lambda: project_count,
                ),
                get_download_count=pretend.call_recorder(
                    lambda: download_count,
                ),
                get_recently_updated=pretend.call_recorder(lambda: updated),
            ),
        ),
    )
    request = pretend.stub()

    response = pretend.stub(status_code=200, headers={})
    render_response = pretend.call_recorder(lambda *a, **kw: response)

    monkeypatch.setattr(views, "render_response", render_response)

    resp = index(app, request)

    assert resp is response
    assert app.models.packaging.get_project_count.calls == [pretend.call()]
    assert app.models.packaging.get_download_count.calls == [pretend.call()]
    assert app.models.packaging.get_recently_updated.calls == [pretend.call()]
    assert render_response.calls == [
        pretend.call(
            app, request, "index.html",
            project_count=project_count,
            download_count=download_count,
            recently_updated=updated,
        ),
    ]
Example #4
0
    def test_index(self, db_request):

        project = ProjectFactory.create()
        release1 = ReleaseFactory.create(project=project)
        release1.created = datetime.date(2011, 1, 1)
        release2 = ReleaseFactory.create(project=project)
        release2.created = datetime.date(2012, 1, 1)
        FileFactory.create(
            release=release1,
            filename="{}-{}.tar.gz".format(project.name, release1.version),
            python_version="source",
        )
        UserFactory.create()

        assert index(db_request) == {
            # assert that ordering is correct
            'latest_updated_releases': [release2, release1],
            'num_projects': 1,
            'num_users': 1,
            'num_releases': 2,
            'num_files': 1,
        }
Example #5
0
    def test_index(self, db_request):

        project = ProjectFactory.create()
        release1 = ReleaseFactory.create(project=project)
        release1.created = datetime.date(2011, 1, 1)
        release2 = ReleaseFactory.create(project=project)
        release2.created = datetime.date(2012, 1, 1)
        FileFactory.create(
            release=release1,
            filename="{}-{}.tar.gz".format(project.name, release1.version),
            python_version="source",
        )
        UserFactory.create()

        assert index(db_request) == {
            # assert that ordering is correct
            'latest_updated_releases': [release2, release1],
            'num_projects': 1,
            'num_users': 1,
            'num_releases': 2,
            'num_files': 1,
        }
Example #6
0
def test_index(dbapp):
    project1 = ProjectFactory.create(engine=dbapp.engine)
    project2 = ProjectFactory.create(engine=dbapp.engine)

    project1_release1 = ReleaseFactory.create(
        name=project1["name"],
        engine=dbapp.engine,
    )
    project1_release2 = ReleaseFactory.create(
        name=project1["name"],
        engine=dbapp.engine,
    )
    project2_release1 = ReleaseFactory.create(
        name=project2["name"],
        engine=dbapp.engine,
    )

    project1_release1_file1 = ReleaseFileFactory.create(
        name=project1["name"],
        version=project1_release1["version"],
        engine=dbapp.engine,
    )
    project1_release2_file1 = ReleaseFileFactory.create(
        name=project1["name"],
        version=project1_release2["version"],
        engine=dbapp.engine,
    )
    project2_release1_file1 = ReleaseFileFactory.create(
        name=project2["name"],
        version=project2_release1["version"],
        engine=dbapp.engine,
    )

    request = pretend.stub()

    resp = index(dbapp, request)

    assert resp.response.template.name == "index.html"
    assert resp.response.context == {
        "project_count":
        2,
        "download_count":
        sum(x["downloads"] for x in [
            project1_release1_file1,
            project1_release2_file1,
            project2_release1_file1,
        ]),
        "recently_updated":
        list(
            unique(
                sorted(
                    [
                        project1_release1,
                        project1_release2,
                        project2_release1,
                    ],
                    key=lambda r: r["created"],
                    reverse=True,
                ),
                key=lambda r: r["name"],
            )),
    }
Example #7
0
def test_index(dbapp):
    project1 = ProjectFactory.create(engine=dbapp.engine)
    project2 = ProjectFactory.create(engine=dbapp.engine)

    project1_release1 = ReleaseFactory.create(
        name=project1["name"],
        engine=dbapp.engine,
    )
    project1_release2 = ReleaseFactory.create(
        name=project1["name"],
        engine=dbapp.engine,
    )
    project2_release1 = ReleaseFactory.create(
        name=project2["name"],
        engine=dbapp.engine,
    )

    project1_release1_file1 = ReleaseFileFactory.create(
        name=project1["name"],
        version=project1_release1["version"],
        engine=dbapp.engine,
    )
    project1_release2_file1 = ReleaseFileFactory.create(
        name=project1["name"],
        version=project1_release2["version"],
        engine=dbapp.engine,
    )
    project2_release1_file1 = ReleaseFileFactory.create(
        name=project2["name"],
        version=project2_release1["version"],
        engine=dbapp.engine,
    )

    request = pretend.stub()

    resp = index(dbapp, request)

    assert resp.response.template.name == "index.html"
    assert resp.response.context == {
        "project_count": 2,
        "download_count": sum(
            x["downloads"]
            for x in [
                project1_release1_file1,
                project1_release2_file1,
                project2_release1_file1,
            ]
        ),
        "recently_updated": list(unique(
            sorted(
                [
                    project1_release1,
                    project1_release2,
                    project2_release1,
                ],
                key=lambda r: r["created"],
                reverse=True,
            ),
            key=lambda r: r["name"],
        )),
    }