def from_dict(cls, tx_body): super().validate_id(tx_body) validate_transaction_schema(tx_body) validate_txn_obj('asset', tx_body['asset'], 'data', validate_key) validate_txn_obj('metadata', tx_body, 'metadata', validate_key) validate_language_key(tx_body['asset'], 'data') return super().from_dict(tx_body)
def from_dict(cls, tx_body): super().validate_id(tx_body) validate_transaction_schema(tx_body) validate_txn_obj('asset', tx_body['asset'], 'data', validate_key) validate_txn_obj('metadata', tx_body, 'metadata', validate_key) validate_language_key(tx_body['asset'], 'data') return super().from_dict(tx_body)
def validate_transaction_model(tx): from bigchaindb.common.transaction import Transaction from bigchaindb.common.schema import validate_transaction_schema tx_dict = tx.to_dict() # Check that a transaction is valid by re-serializing it # And calling validate_transaction_schema validate_transaction_schema(tx_dict) Transaction.from_dict(tx_dict)
def validate_transaction_model(tx): from bigchaindb.common.transaction import Transaction from bigchaindb.common.schema import validate_transaction_schema tx_dict = tx.to_dict() # Check that a transaction is valid by re-serializing it # And calling validate_transaction_schema validate_transaction_schema(tx_dict) Transaction.from_dict(tx_dict)
def test_condition_uri_with_unknown_fpt(dummy_transaction, condition_uri): dummy_transaction['outputs'][0]['condition']['uri'] = condition_uri with raises(SchemaValidationError): validate_transaction_schema(dummy_transaction)
def test_condition_uri_with_supported_fpt(dummy_transaction, condition_uri): dummy_transaction['outputs'][0]['condition']['uri'] = condition_uri validate_transaction_schema(dummy_transaction)
def test_validate_failure_inconsistent(): with patch('jsonschema.validate'): with raises(SchemaValidationError): validate_transaction_schema({})
def test_validate_transaction_fails(): with raises(SchemaValidationError): validate_transaction_schema({})
'type': 'ed25519-sha-256', 'public_key': 'HB8pchV2m2kUYG261VLooVyFtRy7oa8zYM5bp8LydtN9' }, 'uri': 'ni:///sha-256;jgEMKhUiWp14Ta60Znk1VnQQXyVHAKyH53BCes_ts34?fpt=ed25519-sha-256&cost=131072' }, 'amount': '1' }], 'operation': 'CREATE', 'metadata': { 'date': 1527499149.748151 }, 'asset': { 'data': { 'data': { 'pripid': '88273712778381', 'reg_no': '88273712778381', 'origin_entname': 'xxxxxxxxxxx' } } }, 'version': '2.0', 'id': '1132758e481701f615d88105dd8eff9cb30a782fe5b5396bbe93c011902d0d48' } for _ in range(100000): validate_transaction_schema(tx)
def test_condition_uri_with_unsupported_fpt(dummy_transaction, condition_uri): dummy_transaction['outputs'][0]['condition']['uri'] = condition_uri with raises(SchemaValidationError): validate_transaction_schema(dummy_transaction)
def test_validate_failure_inconsistent(): with patch('jsonschema.validate'): with raises(SchemaValidationError): validate_transaction_schema({})
def test_validate_transaction_signed_transfer(signed_transfer_tx): validate_transaction_schema(signed_transfer_tx.to_dict())
def test_validate_transaction_create(create_tx): validate_transaction_schema(create_tx.to_dict())
def validate_schema(cls, tx_body): validate_transaction_schema(tx_body) validate_txn_obj(cls.ASSET, tx_body[cls.ASSET], cls.DATA, validate_key) validate_txn_obj(cls.METADATA, tx_body, cls.METADATA, validate_key) validate_language_key(tx_body[cls.ASSET], cls.DATA) validate_language_key(tx_body, cls.METADATA)
def from_dict(cls, tx_body): validate_transaction_schema(tx_body) return super().from_dict(tx_body)
def validate_schema(cls, tx_body): cls.validate_id(tx_body) validate_transaction_schema(tx_body) validate_txn_obj('asset', tx_body['asset'], 'data', validate_key) validate_txn_obj('metadata', tx_body, 'metadata', validate_key) validate_language_key(tx_body['asset'], 'data')
def validate_schema(cls, tx_body): cls.validate_id(tx_body) validate_transaction_schema(tx_body) validate_txn_obj('asset', tx_body['asset'], 'data', validate_key) validate_txn_obj('metadata', tx_body, 'metadata', validate_key) validate_language_key(tx_body['asset'], 'data')
def test_validate_transaction_signed_create(signed_create_tx): validate_transaction_schema(signed_create_tx.to_dict())
def test_condition_uri_with_unsupported_subtype(dummy_transaction, condition_uri): dummy_transaction['outputs'][0]['condition']['uri'] = condition_uri with raises(SchemaValidationError): validate_transaction_schema(dummy_transaction)
def test_validate_transaction_fails(): with raises(SchemaValidationError): validate_transaction_schema({})
def test_validate_transaction_create(create_tx): validate_transaction_schema(create_tx.to_dict())
def test_condition_uri_with_supported_fpt(dummy_transaction, condition_uri): dummy_transaction['outputs'][0]['condition']['uri'] = condition_uri validate_transaction_schema(dummy_transaction)
def test_validate_transaction_signed_create(signed_create_tx): validate_transaction_schema(signed_create_tx.to_dict())
def from_dict(cls, tx_body): validate_transaction_schema(tx_body) return super().from_dict(tx_body)
def test_validate_transaction_signed_transfer(signed_transfer_tx): validate_transaction_schema(signed_transfer_tx.to_dict())