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