disallow empty metadata dict in favour of null

This commit is contained in:
Scott Sadler 2016-11-28 17:31:35 +01:00
parent 71dcee019f
commit a6eb52d76d
3 changed files with 13 additions and 2 deletions

View File

@ -245,6 +245,7 @@ definitions:
- type: object
description: |
User provided transaction metadata. This field may be ``null`` or may
contain an object with freeform metadata.
contain an non empty object with freeform metadata.
additionalProperties: true
minProperties: 1
- type: 'null'

View File

@ -301,7 +301,7 @@ Metadata
--------
User provided transaction metadata. This field may be ``null`` or may
contain an object with freeform metadata.
contain an non empty object with freeform metadata.

View File

@ -16,6 +16,16 @@ def test_validate_transaction_signed_transfer(signed_transfer_tx):
validate_transaction_schema(signed_transfer_tx.to_dict())
def test_validate_fails_metadata_empty_dict(create_tx):
create_tx.metadata = {'a': 1}
validate_transaction_schema(create_tx.to_dict())
create_tx.metadata = None
validate_transaction_schema(create_tx.to_dict())
create_tx.metadata = {}
with raises(SchemaValidationError):
validate_transaction_schema(create_tx.to_dict())
def test_validation_fails():
with raises(SchemaValidationError):
validate_transaction_schema({})