test für ein komplettes entities file
This commit is contained in:
parent
0376228d30
commit
7671739300
1 changed files with 88 additions and 41 deletions
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/python3
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
import cerberus
|
from cerberus import Validator
|
||||||
from schwifty import IBAN, BIC
|
from schwifty import IBAN, BIC
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
|
@ -89,7 +89,8 @@ schema_fin={
|
||||||
'scan-sepa-mandate': {'type': 'string'},
|
'scan-sepa-mandate': {'type': 'string'},
|
||||||
'holder': {'type': 'string'}}
|
'holder': {'type': 'string'}}
|
||||||
|
|
||||||
schema_member={'bis': {
|
schema_membership={
|
||||||
|
'bis': {
|
||||||
'type': 'string',
|
'type': 'string',
|
||||||
'oneof': [{'check_with': iso_date},{'empty': True}]},
|
'oneof': [{'check_with': iso_date},{'empty': True}]},
|
||||||
'mitgliedsbeitrag': {
|
'mitgliedsbeitrag': {
|
||||||
|
@ -110,8 +111,54 @@ schema_member={'bis': {
|
||||||
'required': True,
|
'required': True,
|
||||||
'check_with': iso_date}}
|
'check_with': iso_date}}
|
||||||
|
|
||||||
v = cerberus.Validator()
|
schema_base={
|
||||||
print(v.validate(document['finanzdaten'], schema_fin))
|
'address_code': {
|
||||||
print(v.errors)
|
'type': 'string'},
|
||||||
print(v.validate(document['mitgliederdaten'], schema_member))
|
'address_country': {
|
||||||
|
'type': 'string'},
|
||||||
|
'address_label': {
|
||||||
|
'type': 'string'},
|
||||||
|
'address_locality': {
|
||||||
|
'type': 'string'},
|
||||||
|
'address_region': {
|
||||||
|
'type': 'string'},
|
||||||
|
'address_street': {
|
||||||
|
'type': 'string'},
|
||||||
|
'birth_date': {
|
||||||
|
'type': 'string',
|
||||||
|
'required': True,
|
||||||
|
'check_with': iso_date},
|
||||||
|
'birth_location': {
|
||||||
|
'type': 'string'},
|
||||||
|
'email': {
|
||||||
|
'type': 'string',
|
||||||
|
'regex': '^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$'},
|
||||||
|
'fullname': {
|
||||||
|
'type': 'string'},
|
||||||
|
'nickname': {
|
||||||
|
'type': 'string'},
|
||||||
|
'pgp-key': {
|
||||||
|
'type': 'string'},
|
||||||
|
'ssh-key': {
|
||||||
|
'type': 'string'}}
|
||||||
|
|
||||||
|
schema = {
|
||||||
|
'finanzdaten': {
|
||||||
|
'type': 'dict',
|
||||||
|
'schema': schema_fin},
|
||||||
|
'mitgliederdaten': {
|
||||||
|
'type': 'dict',
|
||||||
|
'schema': schema_membership},
|
||||||
|
'stammdaten': {
|
||||||
|
'type': 'dict',
|
||||||
|
'schema': schema_base},
|
||||||
|
'id': {
|
||||||
|
'type': 'string',
|
||||||
|
'regex': '^[a-f0-9]{5}$'},
|
||||||
|
'timestamp': {
|
||||||
|
'type': 'string'}
|
||||||
|
}
|
||||||
|
|
||||||
|
v = Validator()
|
||||||
|
print(v.validate(document, schema))
|
||||||
print(v.errors)
|
print(v.errors)
|
Loading…
Reference in a new issue