mirror of
https://github.com/bigchaindb/bigchaindb.git
synced 2024-10-13 13:34:05 +00:00
Merge pull request #1018 from bigchaindb/change-tx-version
Change version in tx model to 0.9
This commit is contained in:
commit
e08bf52fa7
@ -55,9 +55,8 @@ properties:
|
|||||||
|
|
||||||
See: `Metadata`_.
|
See: `Metadata`_.
|
||||||
version:
|
version:
|
||||||
type: integer
|
type: string
|
||||||
minimum: 1
|
pattern: "^0\\."
|
||||||
maximum: 1
|
|
||||||
description: |
|
description: |
|
||||||
BigchainDB transaction schema version.
|
BigchainDB transaction schema version.
|
||||||
definitions:
|
definitions:
|
||||||
|
@ -10,6 +10,7 @@ from bigchaindb.common.exceptions import (KeypairMismatchException,
|
|||||||
InvalidHash, InvalidSignature,
|
InvalidHash, InvalidSignature,
|
||||||
AmountError, AssetIdMismatch)
|
AmountError, AssetIdMismatch)
|
||||||
from bigchaindb.common.utils import serialize, gen_timestamp
|
from bigchaindb.common.utils import serialize, gen_timestamp
|
||||||
|
import bigchaindb.version
|
||||||
|
|
||||||
|
|
||||||
class Input(object):
|
class Input(object):
|
||||||
@ -409,7 +410,7 @@ class Transaction(object):
|
|||||||
TRANSFER = 'TRANSFER'
|
TRANSFER = 'TRANSFER'
|
||||||
GENESIS = 'GENESIS'
|
GENESIS = 'GENESIS'
|
||||||
ALLOWED_OPERATIONS = (CREATE, TRANSFER, GENESIS)
|
ALLOWED_OPERATIONS = (CREATE, TRANSFER, GENESIS)
|
||||||
VERSION = 1
|
VERSION = bigchaindb.version.__version__
|
||||||
|
|
||||||
def __init__(self, operation, asset, inputs=None, outputs=None,
|
def __init__(self, operation, asset, inputs=None, outputs=None,
|
||||||
metadata=None, version=None):
|
metadata=None, version=None):
|
||||||
|
@ -672,7 +672,7 @@ def test_create_create_transaction_single_io(user_output, user_pub, data):
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
'operation': 'CREATE',
|
'operation': 'CREATE',
|
||||||
'version': 1,
|
'version': Transaction.VERSION,
|
||||||
}
|
}
|
||||||
|
|
||||||
tx = Transaction.create([user_pub], [([user_pub], 1)], metadata=data,
|
tx = Transaction.create([user_pub], [([user_pub], 1)], metadata=data,
|
||||||
@ -710,7 +710,7 @@ def test_create_create_transaction_multiple_io(user_output, user2_output, user_p
|
|||||||
},
|
},
|
||||||
'inputs': [input],
|
'inputs': [input],
|
||||||
'operation': 'CREATE',
|
'operation': 'CREATE',
|
||||||
'version': 1
|
'version': Transaction.VERSION
|
||||||
}
|
}
|
||||||
tx = Transaction.create([user_pub, user2_pub],
|
tx = Transaction.create([user_pub, user2_pub],
|
||||||
[([user_pub], 1), ([user2_pub], 1)],
|
[([user_pub], 1), ([user2_pub], 1)],
|
||||||
@ -757,7 +757,7 @@ def test_create_create_transaction_threshold(user_pub, user2_pub, user3_pub,
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
'operation': 'CREATE',
|
'operation': 'CREATE',
|
||||||
'version': 1
|
'version': Transaction.VERSION
|
||||||
}
|
}
|
||||||
tx = Transaction.create([user_pub], [([user_pub, user2_pub], 1)],
|
tx = Transaction.create([user_pub], [([user_pub, user2_pub], 1)],
|
||||||
metadata=data, asset=data)
|
metadata=data, asset=data)
|
||||||
@ -842,7 +842,7 @@ def test_create_transfer_transaction_single_io(tx, user_pub, user2_pub,
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
'operation': 'TRANSFER',
|
'operation': 'TRANSFER',
|
||||||
'version': 1
|
'version': Transaction.VERSION
|
||||||
}
|
}
|
||||||
inputs = tx.to_inputs([0])
|
inputs = tx.to_inputs([0])
|
||||||
transfer_tx = Transaction.transfer(inputs, [([user2_pub], 1)],
|
transfer_tx = Transaction.transfer(inputs, [([user2_pub], 1)],
|
||||||
@ -900,7 +900,7 @@ def test_create_transfer_transaction_multiple_io(user_pub, user_priv,
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
'operation': 'TRANSFER',
|
'operation': 'TRANSFER',
|
||||||
'version': 1
|
'version': Transaction.VERSION
|
||||||
}
|
}
|
||||||
|
|
||||||
transfer_tx = Transaction.transfer(tx.to_inputs(),
|
transfer_tx = Transaction.transfer(tx.to_inputs(),
|
||||||
@ -954,8 +954,24 @@ def test_cant_add_empty_output():
|
|||||||
|
|
||||||
|
|
||||||
def test_cant_add_empty_input():
|
def test_cant_add_empty_input():
|
||||||
|
import bigchaindb.version
|
||||||
from bigchaindb.common.transaction import Transaction
|
from bigchaindb.common.transaction import Transaction
|
||||||
tx = Transaction(Transaction.CREATE, None)
|
tx = Transaction(Transaction.CREATE, None)
|
||||||
|
|
||||||
with raises(TypeError):
|
with raises(TypeError):
|
||||||
tx.add_input(None)
|
tx.add_input(None)
|
||||||
|
|
||||||
|
|
||||||
|
def test_validate_version(utx):
|
||||||
|
import bigchaindb.version
|
||||||
|
from .utils import validate_transaction_model
|
||||||
|
from bigchaindb.common.exceptions import SchemaValidationError
|
||||||
|
|
||||||
|
assert utx.version == bigchaindb.version.__version__
|
||||||
|
|
||||||
|
validate_transaction_model(utx)
|
||||||
|
|
||||||
|
# At version 1, transaction version will break step with server version.
|
||||||
|
utx.version = '1.0.0'
|
||||||
|
with raises(SchemaValidationError):
|
||||||
|
validate_transaction_model(utx)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user