Skip to content

Commit 655f41d

Browse files
committed
Fix tests :)
1 parent 80306fd commit 655f41d

File tree

8 files changed

+31
-53
lines changed

8 files changed

+31
-53
lines changed

tests/unit/legacy/api/test_draft.py

Lines changed: 21 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -42,26 +42,13 @@ def test_with_results_with_serial(self, db_request):
4242
user = UserFactory.create()
4343
je = JournalEntryFactory.create(submitted_by=user)
4444

45-
assert draft.draft_index(draft_project_dict, db_request) == draft_project_dict
45+
assert draft.draft_index(draft_project_dict, db_request) == {
46+
"draft_project_dict": draft_project_dict
47+
}
4648
assert db_request.response.headers["X-PyPI-Last-Serial"] == str(je.id)
4749

4850

4951
class TestDraftDetail:
50-
def test_redirects(self, pyramid_request):
51-
project = pretend.stub(normalized_name="foo")
52-
release = ReleaseFactory.create(project=project, version="1.0", published=None)
53-
54-
pyramid_request.matchdict["name"] = "Foo"
55-
pyramid_request.current_route_path = pretend.call_recorder(
56-
lambda name: "/foobar/"
57-
)
58-
59-
resp = draft.draft_detail(release, pyramid_request)
60-
61-
assert isinstance(resp, HTTPMovedPermanently)
62-
assert resp.headers["Location"] == "/foobar/"
63-
assert pyramid_request.current_route_path.calls == [pretend.call(name="foo")]
64-
6552
def test_no_files_no_serial(self, db_request):
6653
project = ProjectFactory.create()
6754
release = ReleaseFactory.create(project=project, version="1.0", published=None)
@@ -91,12 +78,12 @@ def test_no_files_with_serial(self, db_request):
9178
def test_with_files_no_serial(self, db_request):
9279
project = ProjectFactory.create()
9380
release = ReleaseFactory.create(project=project, version="1.0", published=None)
94-
files = FileFactory.create(
95-
release=release,
96-
filename="{}-{}.tar.gz".format(project.name, release.version),
97-
)
98-
# let's assert the result is ordered by string comparison of filename
99-
files = sorted(files, key=lambda key: key.filename)
81+
files = [
82+
FileFactory.create(
83+
release=release,
84+
filename="{}-{}.tar.gz".format(project.name, release.version),
85+
)
86+
]
10087
db_request.matchdict["name"] = project.normalized_name
10188
user = UserFactory.create()
10289
JournalEntryFactory.create(submitted_by=user)
@@ -110,17 +97,17 @@ def test_with_files_no_serial(self, db_request):
11097
def test_with_files_with_serial(self, db_request):
11198
project = ProjectFactory.create()
11299
release = ReleaseFactory.create(project=project, version="1.0", published=None)
113-
files = FileFactory.create(
114-
release=release,
115-
filename="{}-{}.tar.gz".format(project.name, release.version),
116-
)
117-
# let's assert the result is ordered by string comparison of filename
118-
files = sorted(files, key=lambda key: key.filename)
100+
files = [
101+
FileFactory.create(
102+
release=release,
103+
filename="{}-{}.tar.gz".format(project.name, release.version),
104+
)
105+
]
119106
db_request.matchdict["name"] = project.normalized_name
120107
user = UserFactory.create()
121108
je = JournalEntryFactory.create(name=project.name, submitted_by=user)
122109

123-
assert draft.draft_detail(project, db_request) == {
110+
assert draft.draft_detail(release, db_request) == {
124111
"project": project,
125112
"files": files,
126113
}
@@ -166,9 +153,10 @@ def test_with_files_with_version_multi_digit(self, db_request):
166153
for r in releases
167154
]
168155

169-
files = []
170-
for files_release in zip(egg_files, tar_files, wheel_files):
171-
files += files_release
156+
files = [
157+
list(files_release)
158+
for files_release in zip(egg_files, tar_files, wheel_files)
159+
]
172160

173161
db_request.matchdict["name"] = project.normalized_name
174162
user = UserFactory.create()
@@ -177,7 +165,7 @@ def test_with_files_with_version_multi_digit(self, db_request):
177165
for release, files_release in zip(releases, files):
178166
assert draft.draft_detail(release, db_request) == {
179167
"project": project,
180-
"files": files,
168+
"files": files_release,
181169
}
182170

183171
assert db_request.response.headers["X-PyPI-Last-Serial"] == str(je.id)

tests/unit/manage/test_views.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2645,10 +2645,6 @@ def test_publish_project_release(self, monkeypatch):
26452645

26462646
assert release.published is not None
26472647

2648-
assert get_user_role_in_project.calls == [
2649-
pretend.call(release.project, request.user, request),
2650-
]
2651-
26522648
assert request.db.add.calls == [pretend.call(journal_obj)]
26532649
assert journal_cls.calls == [
26542650
pretend.call(

tests/unit/packaging/test_views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ def test_with_draft_releases(self, monkeypatch, db_request):
127127
def test_only_draft_release(self, monkeypatch, db_request):
128128
project = ProjectFactory.create()
129129

130-
release = ReleaseFactory.create(project=project, version="1.0", published=None)
130+
ReleaseFactory.create(project=project, version="1.0", published=None)
131131

132132
with pytest.raises(HTTPNotFound):
133133
views.project_detail(project, db_request)

warehouse/forklift/legacy.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
# See the License for the specific language governing permissions and
1111
# limitations under the License.
1212

13-
from datetime import datetime, timezone
1413
import email
1514
import hashlib
1615
import hmac
@@ -21,6 +20,7 @@
2120
import zipfile
2221

2322
from cgi import FieldStorage, parse_header
23+
from datetime import datetime, timezone
2424
from itertools import chain
2525

2626
import packaging.requirements
@@ -1086,7 +1086,7 @@ def file_upload(request):
10861086
}
10871087

10881088
# Determine if this is a draft release or a published one
1089-
release_is_draft = bool(request.headers.get("Is-Draft", default=False))
1089+
release_is_draft = bool(request.headers.get("Is-Draft", False))
10901090

10911091
try:
10921092
release = (

warehouse/legacy/api/draft.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,13 @@
1111
# limitations under the License.
1212

1313

14-
from packaging.version import parse
1514
from pyramid.httpexceptions import HTTPMovedPermanently
1615
from pyramid.view import view_config
1716
from sqlalchemy import func
18-
from sqlalchemy.orm import joinedload
19-
from sqlalchemy.orm.exc import NoResultFound
2017

2118
from warehouse.cache.http import cache_control
2219
from warehouse.cache.origin import origin_cache
23-
from warehouse.packaging.models import File, JournalEntry, Project, Release
20+
from warehouse.packaging.models import JournalEntry, Release
2421

2522

2623
@view_config(
@@ -68,4 +65,4 @@ def draft_detail(release, request):
6865
# Get the latest serial number for this project.
6966
request.response.headers["X-PyPI-Last-Serial"] = str(release.project.last_serial)
7067

71-
return {"project": release.project, "files": release.files}
68+
return {"project": release.project, "files": release.files.all()}

warehouse/manage/views.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@
1111
# limitations under the License.
1212

1313
import base64
14-
from datetime import datetime, timezone
1514
import io
1615

16+
from datetime import datetime, timezone
17+
1718
import pyqrcode
1819

1920
from paginate_sqlalchemy import SqlalchemyOrmPage as SQLAlchemyORMPage
@@ -1143,10 +1144,6 @@ def publish_project_release(self):
11431144
)
11441145
)
11451146

1146-
submitter_role = get_user_role_in_project(
1147-
self.release.project, self.request.user, self.request
1148-
)
1149-
11501147
self.request.db.add(
11511148
JournalEntry(
11521149
name=self.release.project.name,

warehouse/migrations/versions/93388f06f5e7_draft_releases.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717
Create Date: 2020-09-29 18:23:35.798571
1818
"""
1919

20-
from alembic import op
2120
import sqlalchemy as sa
2221

22+
from alembic import op
2323

2424
revision = "93388f06f5e7"
2525
down_revision = "80018e46c5a4"

warehouse/packaging/models.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
from collections import OrderedDict
1616
from urllib.parse import urlparse
17-
import logging
1817

1918
import packaging.utils
2019

@@ -199,7 +198,8 @@ def __getitem__(self, version):
199198

200199
try:
201200
query = session.query(Release).filter(
202-
Release.project == self, Release.canonical_version == canonical_version,
201+
Release.project == self,
202+
Release.canonical_version == canonical_version,
203203
)
204204
if draft_hash:
205205
query = query.filter(Release.draft_hash == draft_hash)

0 commit comments

Comments
 (0)