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)), )
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)), )
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)), )
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)))
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)), )
class SchemaField(MessageValidator): schema = ( (NAME, NonEmptyStringField()), (VERSION, VersionField(components_number=( 2, 3, ))), (ATTR_NAMES, IterableField(NonEmptyStringField())), )
class GetSchemaField(MessageValidator): schema = ( (NAME, NonEmptyStringField()), (VERSION, VersionField(components_number=( 2, 3, ))), (ORIGIN, NonEmptyStringField(optional=True)), )
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)), )
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)))
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)), )
class GetSchemaField(MessageValidator): schema = ( (SCHEMA_NAME, LimitedLengthStringField(max_length=NAME_FIELD_LIMIT)), (SCHEMA_VERSION, VersionField(version_cls=SchemaVersion)), (ORIGIN, IdentifierField(optional=True)) )
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():
class GetContextField(MessageValidator): context = ( (CONTEXT_NAME, LimitedLengthStringField(max_length=NAME_FIELD_LIMIT)), (CONTEXT_VERSION, VersionField(version_cls=ContextVersion)), (ORIGIN, IdentifierField(optional=True)) )
class GetContextField(MessageValidator): schema = ((CONTEXT_NAME, LimitedLengthStringField(max_length=NAME_FIELD_LIMIT)), (CONTEXT_VERSION, VersionField(version_cls=ContextVersion)))
class SetContextMetaField(MessageValidator): schema = ( (CONTEXT_NAME, LimitedLengthStringField(max_length=NAME_FIELD_LIMIT)), (CONTEXT_VERSION, VersionField(version_cls=ContextVersion)), (RS_TYPE, ConstantField(CONTEXT_TYPE)), )
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)), )
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():
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')