Пример #1
0
    def test_with_files_with_seiral(self, db_request):
        project = ProjectFactory.create()
        releases = [
            ReleaseFactory.create(project=project)
            for _ in range(3)
        ]
        files = [
            FileFactory.create(
                release=r,
                filename="{}-{}.tar.gz".format(project.name, r.version),
            )
            for r in releases
        ]
        # let's assert the result is ordered by string comparison of filename
        files = sorted(files, key=lambda key: key.filename)
        db_request.matchdict["name"] = project.normalized_name
        user = UserFactory.create()
        je = JournalEntryFactory.create(name=project.name, submitted_by=user)

        # Make sure that we get any changes made since the JournalEntry was
        # saved.
        db_request.db.refresh(project)

        assert simple.simple_detail(project, db_request) == {
            "project": project,
            "files": files,
        }
        assert db_request.response.headers["X-PyPI-Last-Serial"] == str(je.id)
Пример #2
0
    def test_with_files_with_seiral(self, db_request):
        project = ProjectFactory.create()
        releases = [
            ReleaseFactory.create(project=project)
            for _ in range(3)
        ]
        files = [
            FileFactory.create(
                release=r,
                filename="{}-{}.tar.gz".format(project.name, r.version),
            )
            for r in releases
        ]
        db_request.matchdict["name"] = project.normalized_name
        user = UserFactory.create()
        je = JournalEntryFactory.create(
            name=project.name,
            submitted_by=user.username,
        )

        assert simple.simple_detail(project, db_request) == {
            "project": project,
            "files": files,
        }
        assert db_request.response.headers["X-PyPI-Last-Serial"] == je.id
Пример #3
0
    def test_with_files_with_version_multi_digit(self, db_request):
        project = ProjectFactory.create()
        releases = [ReleaseFactory.create(project=project) for _ in range(3)]
        release_versions = [
            "0.3.0rc1",
            "0.3.0",
            "0.3.0-post0",
            "0.14.0",
            "4.2.0",
            "24.2.0",
        ]

        for release, version in zip(releases, release_versions):
            release.version = version

        tar_files = [
            FileFactory.create(
                release=r,
                filename="{}-{}.tar.gz".format(project.name, r.version),
                packagetype="sdist",
            )
            for r in releases
        ]
        wheel_files = [
            FileFactory.create(
                release=r,
                filename="{}-{}.whl".format(project.name, r.version),
                packagetype="bdist_wheel",
            )
            for r in releases
        ]
        egg_files = [
            FileFactory.create(
                release=r,
                filename="{}-{}.egg".format(project.name, r.version),
                packagetype="bdist_egg",
            )
            for r in releases
        ]

        files = []
        for files_release in zip(egg_files, tar_files, wheel_files):
            files += files_release

        db_request.matchdict["name"] = project.normalized_name
        user = UserFactory.create()
        je = JournalEntryFactory.create(name=project.name, submitted_by=user)

        # Make sure that we get any changes made since the JournalEntry was
        # saved.
        db_request.db.refresh(project)

        assert simple.simple_detail(project, db_request) == {
            "project": project,
            "files": files,
        }

        assert db_request.response.headers["X-PyPI-Last-Serial"] == str(je.id)
Пример #4
0
    def test_no_files_no_serial(self, db_request):
        project = ProjectFactory.create()
        db_request.matchdict["name"] = project.normalized_name
        user = UserFactory.create()
        JournalEntryFactory.create(submitted_by=user)

        assert simple.simple_detail(project, db_request) == {
            "project": project,
            "files": [],
        }
        assert db_request.response.headers["X-PyPI-Last-Serial"] == "0"
Пример #5
0
    def test_no_files_no_serial(self, db_request):
        project = ProjectFactory.create()
        db_request.matchdict["name"] = project.normalized_name
        user = UserFactory.create()
        JournalEntryFactory.create(submitted_by=user)

        assert simple.simple_detail(project, db_request) == {
            "project": project,
            "files": [],
        }
        assert db_request.response.headers["X-PyPI-Last-Serial"] == "0"
Пример #6
0
    def test_redirects(self, pyramid_request):
        project = pretend.stub(normalized_name="foo")

        pyramid_request.matchdict["name"] = "Foo"
        pyramid_request.current_route_path = pretend.call_recorder(
            lambda name: "/foobar/"
        )

        resp = simple.simple_detail(project, pyramid_request)

        assert isinstance(resp, HTTPMovedPermanently)
        assert resp.headers["Location"] == "/foobar/"
        assert pyramid_request.current_route_path.calls == [pretend.call(name="foo")]
Пример #7
0
    def test_no_files_with_serial(self, db_request):
        project = ProjectFactory.create()
        db_request.matchdict["name"] = project.normalized_name
        user = UserFactory.create()
        je = JournalEntryFactory.create(name=project.name, submitted_by=user)

        # Make sure that we get any changes made since the JournalEntry was
        # saved.
        db_request.db.refresh(project)

        assert simple.simple_detail(project, db_request) == {
            "project": project,
            "files": [],
        }
        assert db_request.response.headers["X-PyPI-Last-Serial"] == str(je.id)
Пример #8
0
    def test_no_files_with_serial(self, db_request):
        project = ProjectFactory.create()
        db_request.matchdict["name"] = project.normalized_name
        user = UserFactory.create()
        je = JournalEntryFactory.create(name=project.name, submitted_by=user)

        # Make sure that we get any changes made since the JournalEntry was
        # saved.
        db_request.db.refresh(project)

        assert simple.simple_detail(project, db_request) == {
            "project": project,
            "files": [],
        }
        assert db_request.response.headers["X-PyPI-Last-Serial"] == str(je.id)
Пример #9
0
    def test_with_files_no_serial(self, db_request):
        project = ProjectFactory.create()
        releases = [ReleaseFactory.create(project=project) for _ in range(3)]
        files = [
            FileFactory.create(
                release=r,
                filename="{}-{}.tar.gz".format(project.name, r.version),
            ) for r in releases
        ]
        db_request.matchdict["name"] = project.normalized_name
        user = UserFactory.create()
        JournalEntryFactory.create(submitted_by=user.username)

        assert simple.simple_detail(project, db_request) == {
            "project": project,
            "files": files,
        }
        assert db_request.response.headers["X-PyPI-Last-Serial"] == 0
Пример #10
0
    def test_with_files_no_serial(self, db_request):
        project = ProjectFactory.create()
        releases = [ReleaseFactory.create(project=project) for _ in range(3)]
        files = [
            FileFactory.create(release=r,
                               filename="{}-{}.tar.gz".format(
                                   project.name, r.version)) for r in releases
        ]
        # let's assert the result is ordered by string comparison of filename
        files = sorted(files, key=lambda key: key.filename)
        db_request.matchdict["name"] = project.normalized_name
        user = UserFactory.create()
        JournalEntryFactory.create(submitted_by=user)

        assert simple.simple_detail(project, db_request) == {
            "project": project,
            "files": files,
        }
        assert db_request.response.headers["X-PyPI-Last-Serial"] == "0"
Пример #11
0
    def test_with_files_no_serial(self, db_request):
        project = ProjectFactory.create()
        releases = [
            ReleaseFactory.create(project=project)
            for _ in range(3)
        ]
        files = [
            FileFactory.create(
                release=r,
                filename="{}-{}.tar.gz".format(project.name, r.version),
            )
            for r in releases
        ]
        # let's assert the result is ordered by string comparison of filename
        files = sorted(files, key=lambda key: key.filename)
        db_request.matchdict["name"] = project.normalized_name
        user = UserFactory.create()
        JournalEntryFactory.create(submitted_by=user.username)

        assert simple.simple_detail(project, db_request) == {
            "project": project,
            "files": files,
        }
        assert db_request.response.headers["X-PyPI-Last-Serial"] == 0