예제 #1
0
def test_enum_encoder():
    class TestEnum(enum.Enum):
        A = 1
        B = 'b'

    encoder = encoders.EnumEncoder(TestEnum)

    with pytest.raises(errors.PropertyConstraintViolationError):
        encoder.from_json(123)
    assert encoder.from_json(1) == TestEnum.A
    assert encoder.from_json('b') == TestEnum.B

    with pytest.raises(errors.TypeConstraintViolationError):
        encoder.to_json('well thats not an enum')
    assert encoder.to_json(TestEnum.A) == 1
    assert encoder.to_json(TestEnum.B) == 'b'
예제 #2
0
class RemoteStartStopStatus(types.SimpleType):
    value: str = field(
        metadata={'encoder': encoders.EnumEncoder(RemoteStartStopStatusEnum)})
예제 #3
0
class ErrorCode(types.SimpleType):
    """Field type coercing a string to a ErrorCodeEnum."""
    value: str = field(
        metadata={'encoder': encoders.EnumEncoder(types.ErrorCodeEnum)})
예제 #4
0
class TriggerReasonEnumType(types.SimpleType):
    value: str = field(metadata={'encoder': encoders.EnumEncoder(TriggerReasonEnum)})
예제 #5
0
class SignatureMethodEnumType(types.SimpleType):
    value: str = field(metadata={'encoder': encoders.EnumEncoder(SignatureMethodEnum)})
예제 #6
0
class RegistrationStatusEnumType(types.SimpleType):
    value: str = field(metadata={'encoder': encoders.EnumEncoder(RegistrationStatusEnum)})
예제 #7
0
class PhaseEnumType(types.SimpleType):
    value: str = field(metadata={'encoder': encoders.EnumEncoder(PhaseEnum)})
예제 #8
0
class MessageFormatEnumType(types.SimpleType):
    value: str = field(metadata={'encoder': encoders.EnumEncoder(MessageFormatEnum)})
예제 #9
0
class AttributeEnumType(types.SimpleType):
    value: str = field(metadata={'encoder': encoders.EnumEncoder(AttributeEnum)})
예제 #10
0
class AuthorizationStatusEnumType(types.SimpleType):
    value: str = field(metadata={'encoder': encoders.EnumEncoder(AuthorizationStatusEnum)})
예제 #11
0
class EnumType(types.SimpleType):
    value: str = field(metadata={'encoder': encoders.EnumEncoder(FooBarEnum)})
예제 #12
0
class ValueFormat(types.SimpleType):
    value: str = field(
        metadata={'encoder': encoders.EnumEncoder(ValueFormatEnum)})
예제 #13
0
class UpdateType(types.SimpleType):
    value: str = field(
        metadata={'encoder': encoders.EnumEncoder(UpdateTypeEnum)})
예제 #14
0
class UnlockStatus(types.SimpleType):
    value: str = field(
        metadata={'encoder': encoders.EnumEncoder(UnlockStatusEnum)})
예제 #15
0
class UnitOfMeasure(types.SimpleType):
    value: str = field(
        metadata={'encoder': encoders.EnumEncoder(UnitOfMeasureEnum)})
예제 #16
0
class LocationEnumType(types.SimpleType):
    value: str = field(metadata={'encoder': encoders.EnumEncoder(LocationEnum)})
예제 #17
0
class MeasurandEnumType(types.SimpleType):
    value: str = field(metadata={'encoder': encoders.EnumEncoder(MeasurandEnum)})
예제 #18
0
class CertificateStatusEnumType(types.SimpleType):
    value: str = field(metadata={'encoder': encoders.EnumEncoder(CertificateStatusEnum)})
예제 #19
0
class OperationalStatusEnumType(types.SimpleType):
    value: str = field(metadata={'encoder': encoders.EnumEncoder(OperationalStatusEnum)})
예제 #20
0
class ChangeAvailabilityStatusEnumType(types.SimpleType):
    value: str = field(metadata={'encoder': encoders.EnumEncoder(ChangeAvailabilityStatusEnum)})
예제 #21
0
class ReadingContextEnumType(types.SimpleType):
    value: str = field(metadata={'encoder': encoders.EnumEncoder(ReadingContextEnum)})
예제 #22
0
class ChargingStateEnumType(types.SimpleType):
    value: str = field(metadata={'encoder': encoders.EnumEncoder(ChargingStateEnum)})
예제 #23
0
class SetVariableStatusEnumType(types.SimpleType):
    value: str = field(metadata={'encoder': encoders.EnumEncoder(SetVariableStatusEnum)})
예제 #24
0
class ConnectorStatusEnumType(types.SimpleType):
    value: str = field(metadata={'encoder': encoders.EnumEncoder(ConnectorStatusEnum)})
예제 #25
0
class TransactionEventEnumType(types.SimpleType):
    value: str = field(metadata={'encoder': encoders.EnumEncoder(TransactionEventEnum)})
예제 #26
0
class EncodingMethodEnumType(types.SimpleType):
    value: str = field(metadata={'encoder': encoders.EnumEncoder(EncodingMethodEnum)})
예제 #27
0
class MessageType(types.SimpleType):
    """Field type coercing an integer to a MessageTypeEnum."""
    value: int = field(
        metadata={'encoder': encoders.EnumEncoder(MessageTypeEnum)})
예제 #28
0
class HashAlgorithmEnumType(types.SimpleType):
    value: str = field(metadata={'encoder': encoders.EnumEncoder(HashAlgorithmEnum)})
예제 #29
0
class IdTokenEnumType(types.SimpleType):
    value: str = field(metadata={'encoder': encoders.EnumEncoder(IdTokenEnum)})
예제 #30
0
class RecurrencyKindType(types.SimpleType):
    value: str = field(
        metadata={'encoder': encoders.EnumEncoder(RecurrencyKindTypeEnum)})