from django.core.exceptions import ValidationError from py.test import raises from ..forms import GlobalIDFormField,GlobalIDMultipleChoiceField # 'TXlUeXBlOmFiYw==' -> 'MyType', 'abc' def test_global_id_valid(): field = GlobalIDFormField() field.clean('TXlUeXBlOmFiYw==') def test_global_id_invalid(): field = GlobalIDFormField() with raises(ValidationError): field.clean('badvalue') def test_global_id_multiple_valid(): field = GlobalIDMultipleChoiceField() field.clean(['TXlUeXBlOmFiYw==', 'TXlUeXBlOmFiYw==']) def test_global_id_multiple_invalid(): field = GlobalIDMultipleChoiceField() with raises(ValidationError): field.clean(['badvalue', 'another bad avue']) def test_global_id_none(): field = GlobalIDFormField() with raises(ValidationError): field.clean(None) def test_global_id_none_optional(): field = GlobalIDFormField(required=False) field.clean(None)