105 lines
3.6 KiB
Python
105 lines
3.6 KiB
Python
from com.my_lovely_company.my_lovely_team.my_lovely_project.my_lovely_component import (
|
|
MyLovelyCompanyTeamProjectComponent, # NOT DRY
|
|
)
|
|
from com.my_lovely_company.my_lovely_team.my_lovely_project.my_lovely_component import (
|
|
MyLovelyCompanyTeamProjectComponent as component, # DRY
|
|
)
|
|
|
|
|
|
class C:
|
|
@pytest.mark.parametrize(
|
|
("post_data", "message"),
|
|
[
|
|
# metadata_version errors.
|
|
(
|
|
{},
|
|
"None is an invalid value for Metadata-Version. "
|
|
"Error: This field is required. "
|
|
"see "
|
|
"https://packaging.python.org/specifications/core-metadata",
|
|
),
|
|
(
|
|
{"metadata_version": "-1"},
|
|
"'-1' is an invalid value for Metadata-Version. "
|
|
"Error: Unknown Metadata Version "
|
|
"see "
|
|
"https://packaging.python.org/specifications/core-metadata",
|
|
),
|
|
# name errors.
|
|
(
|
|
{"metadata_version": "1.2"},
|
|
"'' is an invalid value for Name. "
|
|
"Error: This field is required. "
|
|
"see "
|
|
"https://packaging.python.org/specifications/core-metadata",
|
|
),
|
|
(
|
|
{"metadata_version": "1.2", "name": "foo-"},
|
|
"'foo-' is an invalid value for Name. "
|
|
"Error: Must start and end with a letter or numeral and "
|
|
"contain only ascii numeric and '.', '_' and '-'. "
|
|
"see "
|
|
"https://packaging.python.org/specifications/core-metadata",
|
|
),
|
|
# version errors.
|
|
(
|
|
{"metadata_version": "1.2", "name": "example"},
|
|
"'' is an invalid value for Version. "
|
|
"Error: This field is required. "
|
|
"see "
|
|
"https://packaging.python.org/specifications/core-metadata",
|
|
),
|
|
(
|
|
{"metadata_version": "1.2", "name": "example", "version": "dog"},
|
|
"'dog' is an invalid value for Version. "
|
|
"Error: Must start and end with a letter or numeral and "
|
|
"contain only ascii numeric and '.', '_' and '-'. "
|
|
"see "
|
|
"https://packaging.python.org/specifications/core-metadata",
|
|
),
|
|
],
|
|
)
|
|
def test_fails_invalid_post_data(
|
|
self, pyramid_config, db_request, post_data, message
|
|
):
|
|
pyramid_config.testing_securitypolicy(userid=1)
|
|
db_request.POST = MultiDict(post_data)
|
|
|
|
|
|
def foo(list_a, list_b):
|
|
results = (
|
|
User.query.filter(User.foo == "bar")
|
|
.filter( # Because foo.
|
|
db.or_(User.field_a.astext.in_(list_a), User.field_b.astext.in_(list_b))
|
|
)
|
|
.filter(User.xyz.is_(None))
|
|
# Another comment about the filtering on is_quux goes here.
|
|
.filter(db.not_(User.is_pending.astext.cast(db.Boolean).is_(True)))
|
|
.order_by(User.created_at.desc())
|
|
.with_for_update(key_share=True)
|
|
.all()
|
|
)
|
|
return results
|
|
|
|
|
|
def foo2(list_a, list_b):
|
|
# Standalone comment reasonably placed.
|
|
return (
|
|
User.query.filter(User.foo == "bar")
|
|
.filter(
|
|
db.or_(User.field_a.astext.in_(list_a), User.field_b.astext.in_(list_b))
|
|
)
|
|
.filter(User.xyz.is_(None))
|
|
)
|
|
|
|
|
|
def foo3(list_a, list_b):
|
|
return (
|
|
# Standlone comment but weirdly placed.
|
|
User.query.filter(User.foo == "bar")
|
|
.filter(
|
|
db.or_(User.field_a.astext.in_(list_a), User.field_b.astext.in_(list_b))
|
|
)
|
|
.filter(User.xyz.is_(None))
|
|
)
|