class _RepoForm(formencode.Schema): allow_extra_fields = True filter_extra_fields = False repo_name = All(v.UnicodeString(strip=True, min=1, not_empty=True), v.SlugifyName()) repo_group = All(v.CanWriteGroup(old_data), v.OneOf(repo_group_ids, hideList=True), v.Int(min=-1, not_empty=True)) repo_type = v.OneOf(supported_backends, required=False, if_missing=old_data.get('repo_type')) repo_description = v.UnicodeString(strip=True, min=1, not_empty=False) repo_private = v.StringBoolean(if_missing=False) repo_landing_rev = v.OneOf(landing_revs, hideList=True) repo_copy_permissions = v.StringBoolean(if_missing=False) clone_uri = All(v.UnicodeString(strip=True, min=1, not_empty=False)) repo_enable_statistics = v.StringBoolean(if_missing=False) repo_enable_downloads = v.StringBoolean(if_missing=False) repo_enable_locking = v.StringBoolean(if_missing=False) if edit: owner = All(v.UnicodeString(not_empty=True), v.ValidRepoUser()) # Not a real field - just for reference for validation: # clone_uri_hidden = v.UnicodeString(if_missing='') chained_validators = [ v.ValidCloneUri(), v.ValidRepoName(edit, old_data) ]
class _PullRequestPostForm(formencode.Schema): allow_extra_fields = True filter_extra_fields = True pullrequest_title = v.UnicodeString(strip=True, required=True) pullrequest_desc = v.UnicodeString(strip=True, required=False) org_review_members = v.Set() review_members = v.Set() updaterev = v.UnicodeString(strip=True, required=False, if_missing=None) owner = All(v.UnicodeString(strip=True, required=True), v.ValidRepoUser())
def test_ValidRepoUser(self): validator = v.ValidRepoUser() with pytest.raises(formencode.Invalid): validator.to_python('nouser') assert base.TEST_USER_ADMIN_LOGIN == validator.to_python( base.TEST_USER_ADMIN_LOGIN)
def test_ValidRepoUser(self): validator = v.ValidRepoUser() self.assertRaises(formencode.Invalid, validator.to_python, 'nouser') self.assertEqual(TEST_USER_ADMIN_LOGIN, validator.to_python(TEST_USER_ADMIN_LOGIN))