Example #1
0
class RevocRegEntryValueField(MessageValidator):
    schema = (
        (PREV_ACCUM, NonEmptyStringField(optional=True)),
        (ACCUM, NonEmptyStringField()),
        (ISSUED, IterableField(inner_field_type=IntegerField(), optional=True)),
        (REVOKED, IterableField(inner_field_type=IntegerField(), optional=True))
    )
Example #2
0
class ClientRevocDefSubmitField(MessageValidator):
    schema = ((TXN_TYPE, ConstantField(REVOC_REG_DEF)),
              (ID, NonEmptyStringField()), (REVOC_TYPE,
                                            LimitedLengthStringField()),
              (TAG, LimitedLengthStringField(max_length=TAG_LIMIT_SIZE)),
              (CRED_DEF_ID, NonEmptyStringField()), (VALUE,
                                                     RevocDefValueField()))
Example #3
0
class ClientRevocRegEntrySubmitField(MessageValidator):
    schema = (
        (TXN_TYPE, ConstantField(REVOC_REG_ENTRY)),
        (REVOC_REG_DEF_ID, NonEmptyStringField()),
        (REVOC_TYPE, NonEmptyStringField()),
        (VALUE, RevocRegEntryValueField())
    )
Example #4
0
class ClientGetTxnAuthorAgreementOperation(MessageValidator):
    schema = ((TXN_TYPE, ConstantField(GET_TXN_AUTHOR_AGREEMENT)),
              (GET_TXN_AUTHOR_AGREEMENT_VERSION,
               NonEmptyStringField(optional=True)),
              (GET_TXN_AUTHOR_AGREEMENT_DIGEST,
               NonEmptyStringField(optional=True)),
              (GET_TXN_AUTHOR_AGREEMENT_TIMESTAMP,
               NonNegativeNumberField(optional=True)))
Example #5
0
def rich_schema_objects_schema(txn_type, rs_type):
    return ((TXN_TYPE, ConstantField(txn_type)),
            (RS_ID, NonEmptyStringField()), (RS_TYPE, ConstantField(rs_type)),
            (RS_NAME, LimitedLengthStringField(max_length=NAME_FIELD_LIMIT)),
            (RS_VERSION, VersionField(version_cls=SchemaVersion)),
            (RS_CONTENT,
             NonEmptyStringField()), (OP_VER,
                                      LimitedLengthStringField(optional=True)))
Example #6
0
class ClientRevocDefSubmitField(MessageValidator):
    schema = (
        (ID, NonEmptyStringField()),
        (TYPE, NonEmptyStringField()),
        (TAG, NonEmptyStringField()),
        (CRED_DEF_ID, NonEmptyStringField()),
        (VALUE, RevocDefValueField())
    )
Example #7
0
class RevocDefValueField(MessageValidator):
    schema = (
        (ISSUANCE_TYPE, NonEmptyStringField()),
        (MAX_CRED_NUM, IntegerField()),
        (PUBLIC_KEYS, AnyMapField()),
        (TAILS_HASH, NonEmptyStringField()),
        (TAILS_LOCATION, NonEmptyStringField()),
    )
Example #8
0
class RevocDefValueField(MessageValidator):
    schema = (
        (ISSUANCE_TYPE, ChooseField(values=(ISSUANCE_BY_DEFAULT,
                                            ISSUANCE_ON_DEMAND))),
        (MAX_CRED_NUM, IntegerField()),
        (PUBLIC_KEYS, AnyMapField()),
        (TAILS_HASH, NonEmptyStringField()),
        (TAILS_LOCATION, NonEmptyStringField()),
    )
Example #9
0
class ClientRevocDefSubmitField(MessageValidator):
    schema = (
        (TXN_TYPE, ConstantField(REVOC_REG_DEF)),
        (ID, NonEmptyStringField()),
        (REVOC_TYPE, NonEmptyStringField()),
        (TAG, NonEmptyStringField()),
        (CRED_DEF_ID, NonEmptyStringField()),
        (VALUE, RevocDefValueField())
    )
Example #10
0
class ClientPoolUpgradeOperation(MessageValidator):
    schema = (
        (TXN_TYPE, ConstantField(POOL_UPGRADE)),
        (ACTION, ChooseField(values=(
            START,
            CANCEL,
        ))),
        (VERSION,
         VersionField(components_number=(
             2,
             3,
         ),
                      max_length=VERSION_FIELD_LIMIT)),
        # TODO replace actual checks (idr, datetime)
        (SCHEDULE,
         MapField(IdentifierField(), NonEmptyStringField(), optional=True)),
        (SHA256, Sha256HexField()),
        (TIMEOUT, NonNegativeNumberField(optional=True)),
        (JUSTIFICATION,
         LimitedLengthStringField(max_length=JUSTIFICATION_MAX_SIZE,
                                  optional=True,
                                  nullable=True)),
        (NAME, LimitedLengthStringField(max_length=NAME_FIELD_LIMIT)),
        (FORCE, BooleanField(optional=True)),
        (REINSTALL, BooleanField(optional=True)),
    )
Example #11
0
class ClientGetRevocRegDeltaField(MessageValidator):
    schema = (
        (TXN_TYPE, ConstantField(GET_REVOC_REG_DELTA)),
        (REVOC_REG_DEF_ID, NonEmptyStringField()),
        (FROM, IntegerField(optional=True)),
        (TO, IntegerField()),
    )
Example #12
0
class ClientGetRichSchemaObjectByMetadataOperation(MessageValidator):
    schema = (
        (TXN_TYPE, ConstantField(GET_RICH_SCHEMA_OBJECT_BY_METADATA)),
        (RS_TYPE, NonEmptyStringField()),
        (RS_NAME, LimitedLengthStringField(max_length=NAME_FIELD_LIMIT)),
        (RS_VERSION, VersionField(version_cls=SchemaVersion)),
    )
Example #13
0
class ClientPoolRestartOperation(MessageValidator):
    schema = (
        (TXN_TYPE, ConstantField(POOL_RESTART)),
        (ACTION, ChooseField(values=(
            START,
            CANCEL,
        ))),
        (DATETIME, NonEmptyStringField(optional=True)),
    )
Example #14
0
class ClientNYMOperation(MessageValidator):
    schema = (
        (TXN_TYPE, ConstantField(NYM)),
        (ALIAS, NonEmptyStringField(optional=True)),
        (VERKEY, VerkeyField(optional=True)),
        (TARGET_NYM, DestNymField()),
        (ROLE, RoleField(optional=True)),
        # TODO: validate role using ChooseField,
        # do roles list expandable form outer context
    )
    schema_is_strict = False
Example #15
0
class ClientNodeOperationData(MessageValidator):
    schema = (
        (NODE_IP, NetworkIpAddressField(optional=True)),
        (NODE_PORT, NetworkPortField(optional=True)),
        (CLIENT_IP, NetworkIpAddressField(optional=True)),
        (CLIENT_PORT, NetworkPortField(optional=True)),
        (ALIAS, NonEmptyStringField()),
        (SERVICES,
         IterableField(ChooseField(values=(VALIDATOR, )), optional=True)),
    )

    def _validate_message(self, dct):
        # TODO: make ha fields truly optional (needs changes in stackHaChanged)
        required_ha_fields = {NODE_IP, NODE_PORT, CLIENT_IP, CLIENT_PORT}
        ha_fields = {f for f in required_ha_fields if f in dct}
        if ha_fields and len(ha_fields) != len(required_ha_fields):
            self._raise_missed_fields(*list(required_ha_fields - ha_fields))
Example #16
0
class ClientMessageValidator(MessageValidator):
    def __init__(self, operation_schema_is_strict, *args, **kwargs):
        super().__init__(*args, **kwargs)
        # Following code is for support of non-strict schema
        # TODO: refactor this
        # TODO: this (and all related functionality) can be removed when
        # when fixed problem with transaction serialization (INDY-338)
        strict = operation_schema_is_strict
        if not strict:
            operation_field_index = 2
            op = ClientOperationField(schema_is_strict=False)
            schema = list(self.schema)
            schema[operation_field_index] = (OPERATION, op)
            self.schema = tuple(schema)

    schema = (
        (f.IDENTIFIER.nm, IdentifierField()),
        (f.REQ_ID.nm, NonNegativeNumberField()),
        (OPERATION, ClientOperationField()),
        (f.SIG.nm, SignatureField(optional=True)),
        (f.DIGEST.nm, NonEmptyStringField(optional=True)),
    )
Example #17
0
class ClientGetRichSchemaObjectByIdOperation(MessageValidator):
    schema = (
        (TXN_TYPE, ConstantField(GET_RICH_SCHEMA_OBJECT_BY_ID)),
        (RS_ID, NonEmptyStringField()),
    )
Example #18
0
class ClientGetRevocRegField(MessageValidator):
    schema = (
        (REVOC_REG_DEF_ID, NonEmptyStringField()),
        (TIMESTAMP, IntegerField()),
        (TXN_TYPE, ConstantField(GET_REVOC_REG)),
    )
Example #19
0
class ClientGetRevocRegDefField(MessageValidator):
    schema = (
        (ID, NonEmptyStringField()),
        (TXN_TYPE, ConstantField(GET_REVOC_REG_DEF)),
    )
Example #20
0
class TestMsg(MessageBase):
    typename = "TESTMSG"
    schema = (
        ("subject", NonEmptyStringField()),
        ("content", NonEmptyStringField()),
    )
Example #21
0
 def __init__(self, **kwargs):
     super().__init__(NonEmptyStringField(), NonNegativeNumberField(),
                      **kwargs)
from collections import OrderedDict
from indy_common.types import ClientGetRevocRegDefField
from plenum.common.messages.fields import NonEmptyStringField, ConstantField
from indy_common.constants import ID, TXN_TYPE, REVOC_TYPE

EXPECTED_GET_REVOC_REG_DEF_FIELD = OrderedDict([
    (ID, NonEmptyStringField()),
    (REVOC_TYPE, NonEmptyStringField),
    (TXN_TYPE, ConstantField),
])


def test_get_revoc_reg_def_schema():
    actual_field_name = OrderedDict(ClientGetRevocRegDefField.schema).keys()
    assert EXPECTED_GET_REVOC_REG_DEF_FIELD.keys() == actual_field_name
class SomeNonMessageClass:
    typename = 'SomeNonMessageClass'
    schema = (
        ('a', NonNegativeNumberField()),
        ('b', NonEmptyStringField()),
    )
class Message1(MessageBase):
    typename = 'Message1'
    schema = (
        ('a', NonNegativeNumberField()),
        ('b', NonEmptyStringField()),
    )
Example #25
0
import pytest
from plenum.common.messages.fields import NonEmptyStringField

validator = NonEmptyStringField()


def test_non_empty_string():
    assert not validator.validate("x")


def test_empty_string():
    assert validator.validate("")