예제 #1
0
파일: types.py 프로젝트: zed7576/indy-node
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)),
    )
예제 #2
0
파일: types.py 프로젝트: wYaobiz/indy-node
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)),
    )
예제 #3
0
class SchemaField(MessageValidator):
    schema = (
        (SCHEMA_NAME, LimitedLengthStringField(max_length=NAME_FIELD_LIMIT)),
        (SCHEMA_VERSION, VersionField(components_number=(2, 3,), max_length=VERSION_FIELD_LIMIT)),
        (SCHEMA_ATTR_NAMES, IterableField(
            LimitedLengthStringField(max_length=NAME_FIELD_LIMIT),
            min_length=1)),
    )
예제 #4
0
파일: types.py 프로젝트: wYaobiz/indy-node
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)))
예제 #5
0
class SetContextField(MessageValidator):
    context = (
        (CONTEXT_NAME, LimitedLengthStringField(max_length=NAME_FIELD_LIMIT)),
        (CONTEXT_VERSION, VersionField(version_cls=ContextVersion)),
        (CONTEXT_CONTEXT_ARRAY, IterableField(
            LimitedLengthStringField(max_length=NAME_FIELD_LIMIT),
            min_length=1,
            max_length=CONTEXT_ATTRIBUTES_LIMIT)),
    )
예제 #6
0
class SchemaField(MessageValidator):
    schema = (
        (NAME, NonEmptyStringField()),
        (VERSION, VersionField(components_number=(
            2,
            3,
        ))),
        (ATTR_NAMES, IterableField(NonEmptyStringField())),
    )
예제 #7
0
class GetSchemaField(MessageValidator):
    schema = (
        (NAME, NonEmptyStringField()),
        (VERSION, VersionField(components_number=(
            2,
            3,
        ))),
        (ORIGIN, NonEmptyStringField(optional=True)),
    )
예제 #8
0
class SchemaField(MessageValidator):
    schema = (
        (SCHEMA_NAME, LimitedLengthStringField(max_length=NAME_FIELD_LIMIT)),
        (SCHEMA_VERSION, VersionField(version_cls=SchemaVersion)),
        (SCHEMA_ATTR_NAMES, IterableField(
            LimitedLengthStringField(max_length=NAME_FIELD_LIMIT),
            min_length=1,
            max_length=SCHEMA_ATTRIBUTES_LIMIT)),
    )
예제 #9
0
class GetSchemaField(MessageValidator):
    schema = ((SCHEMA_NAME,
               LimitedLengthStringField(max_length=NAME_FIELD_LIMIT)),
              (SCHEMA_VERSION,
               VersionField(components_number=(
                   2,
                   3,
               ),
                            max_length=VERSION_FIELD_LIMIT)),
              (ORIGIN, IdentifierField(optional=True)))
예제 #10
0
class GetSchemaField(MessageValidator):
    schema = (
        (NAME, LimitedLengthStringField(max_length=NAME_FIELD_LIMIT)),
        (VERSION, VersionField(components_number=(
            2,
            3,
        ))),
        (ORIGIN,
         LimitedLengthStringField(max_length=ORIGIN_FIELD_LIMIT,
                                  optional=True)),
    )
예제 #11
0
class GetSchemaField(MessageValidator):
    schema = (
        (SCHEMA_NAME, LimitedLengthStringField(max_length=NAME_FIELD_LIMIT)),
        (SCHEMA_VERSION, VersionField(version_cls=SchemaVersion)),
        (ORIGIN, IdentifierField(optional=True))
    )
예제 #12
0
import pytest

from common.version import DigitDotVersion
from plenum.common.messages.fields import VersionField
from plenum.config import VERSION_FIELD_LIMIT


class VersionTestCls(DigitDotVersion):
    def __init__(self, version: str, **kwargs):
        super().__init__(version, parts_num=(2, 3), **kwargs)


max_length = 20
validator = VersionField(version_cls=VersionTestCls, max_length=max_length)


def test_empty_version():
    assert validator.validate('')


def test_valid_version():
    assert not validator.validate('1.2.3')
    assert not validator.validate('0.2.0')
    assert not validator.validate('0.2')


def test_one_component_fails():
    assert validator.validate('123')


def test_a_string_component_fails():
예제 #13
0
class GetContextField(MessageValidator):
    context = (
        (CONTEXT_NAME, LimitedLengthStringField(max_length=NAME_FIELD_LIMIT)),
        (CONTEXT_VERSION, VersionField(version_cls=ContextVersion)),
        (ORIGIN, IdentifierField(optional=True))
    )
예제 #14
0
class GetContextField(MessageValidator):
    schema = ((CONTEXT_NAME,
               LimitedLengthStringField(max_length=NAME_FIELD_LIMIT)),
              (CONTEXT_VERSION, VersionField(version_cls=ContextVersion)))
예제 #15
0
class SetContextMetaField(MessageValidator):
    schema = (
        (CONTEXT_NAME, LimitedLengthStringField(max_length=NAME_FIELD_LIMIT)),
        (CONTEXT_VERSION, VersionField(version_cls=ContextVersion)),
        (RS_TYPE, ConstantField(CONTEXT_TYPE)),
    )
예제 #16
0
class RsSchemaMetaField(MessageValidator):
    schema = (
        (RS_META_TYPE, ConstantField(RS_SCHEMA_META_TYPE)),
        (RS_META_NAME, LimitedLengthStringField(max_length=NAME_FIELD_LIMIT)),
        (RS_META_VERSION, VersionField(version_cls=RsMetaVersion)),
    )
예제 #17
0
import pytest

from plenum.common.messages.fields import VersionField
from plenum.config import VERSION_FIELD_LIMIT

validator = VersionField(components_number=(
    2,
    3,
),
                         max_length=VERSION_FIELD_LIMIT)


def test_empty_version():
    assert validator.validate('')


def test_valid_version():
    assert not validator.validate('1.2.3')
    assert not validator.validate('0.2.0')
    assert not validator.validate('0.2')


def test_one_component_fails():
    assert validator.validate('123')


def test_a_string_component_fails():
    assert validator.validate('asdf.asdf')


def test_invalid_version():
예제 #18
0
import pytest

from plenum.common.messages.fields import VersionField

validator = VersionField(components_number=(
    2,
    3,
))


def test_empty_version():
    assert validator.validate('')


def test_valid_version():
    assert not validator.validate('1.2.3')
    assert not validator.validate('0.2.0')
    assert not validator.validate('0.2')


def test_one_component_fails():
    assert validator.validate('123')


def test_a_string_component_fails():
    assert validator.validate('asdf.asdf')


def test_invalid_version():
    assert validator.validate('123.ads.00')