Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Paste
P989
class overload wat
Active
Public
Actions
Authored by
vlorentz
on Mar 25 2021, 5:11 PM.
Edit Paste
Archive Paste
View Raw File
Subscribe
Mute Notifications
Award Token
Flag For Later
Tags
None
Subscribers
None
def
test_load_get_known_extids
()
->
None
:
"""Checks PackageLoader.load() fetches known extids efficiently"""
storage
=
Mock
(
wraps
=
get_storage
(
"memory"
))
class
StubPackageInfo
(
BasePackageInfo
):
pass
def
MyPackageLoader
(
PackageLoader
):
def
get_versions
(
self
):
return
[
"v1.0"
,
"v2.0"
,
"v3.0"
]
def
get_package_info
(
self
,
version
):
p_info
=
StubPackageInfo
(
"http://example.org/"
)
extid_type
=
"extid-type1"
if
version
in
(
"v1.0"
,
"v2.0"
)
else
"extid-type2"
# Versions 1.0 and 2.0 have an extid of a given type, v3.0 has an extid
# of a different type
patch
(
p_info
,
"extid"
,
autospec
=
True
,
return_value
=
(
extid_type
,
f
"extid-of-{version}"
.
encode
()),
)
return
p_info
loader
=
PackageLoader
(
storage
,
"http://example.org"
)
# passes
loader
=
MyPackageLoader
(
storage
,
"http://example.org"
)
# TypeError: MyPackageLoader() takes 1 positional argument but 2 were given
Event Timeline
vlorentz
created this paste.
Mar 25 2021, 5:11 PM
2021-03-25 17:11:02 (UTC+1)
Log In to Comment