mirror of
https://github.com/planetmint/planetmint.git
synced 2025-11-25 15:05:49 +00:00
fixed election test cases
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
This commit is contained in:
parent
2ecace2f63
commit
bbc78b152f
@ -239,17 +239,12 @@ class Planetmint(object):
|
||||
def get_transaction(self, transaction_id):
|
||||
transaction = backend.query.get_transaction(self.connection, transaction_id)
|
||||
|
||||
# TODO: adjust assets fetching for multiasset support
|
||||
# Dirty hack backend.query.get_assets needs to be implemented
|
||||
# NOTE: Read up on localmongodb setup and how the connection calls are actually loaded => implementation shows NotImplementError
|
||||
|
||||
if transaction:
|
||||
# asset = backend.query.get_asset(self.connection, transaction_id)
|
||||
assets = backend.query.get_assets(self.connection, [transaction_id])
|
||||
metadata = backend.query.get_metadata(self.connection, [transaction_id])
|
||||
if transaction['operation'] == 'CREATE' and assets:
|
||||
# NOTE: THIS IS A HACK TO SEE IF THE TX HASH IS CORRECT FOR TESTS, NEEDS TO BE REPLACED AFTER backend.query.get_assets_for_tx is finished
|
||||
# transaction['assets'] = [asset]
|
||||
# NOTE: assets must not be replaced for transfer transactions
|
||||
# TODO: check if this holds true for other tx types
|
||||
if transaction['operation'] != 'TRANSFER' and assets:
|
||||
transaction['assets'] = list(assets)
|
||||
|
||||
if 'metadata' not in transaction:
|
||||
|
||||
@ -143,8 +143,8 @@ class Election(Transaction):
|
||||
uuid = uuid4()
|
||||
election_data['seed'] = str(uuid)
|
||||
|
||||
(inputs, outputs) = Create.validate_create(initiator, voters, election_data, metadata)
|
||||
election = cls(cls.OPERATION, {'data': election_data}, inputs, outputs, metadata)
|
||||
(inputs, outputs) = Create.validate_create(initiator, voters, [election_data], metadata)
|
||||
election = cls(cls.OPERATION, [{'data': election_data}], inputs, outputs, metadata)
|
||||
cls.validate_schema(election.to_dict())
|
||||
return election
|
||||
|
||||
@ -268,7 +268,7 @@ class Election(Transaction):
|
||||
if not isinstance(tx, Vote):
|
||||
continue
|
||||
|
||||
election_id = tx.asset['id']
|
||||
election_id = tx.assets[0]['id']
|
||||
if election_id not in elections:
|
||||
elections[election_id] = []
|
||||
elections[election_id].append(tx)
|
||||
|
||||
@ -40,8 +40,8 @@ class Vote(Transfer):
|
||||
|
||||
@classmethod
|
||||
def generate(cls, inputs, recipients, election_id, metadata=None):
|
||||
(inputs, outputs) = cls.validate_transfer(inputs, recipients, election_id, metadata)
|
||||
election_vote = cls(cls.OPERATION, {'id': election_id}, inputs, outputs, metadata)
|
||||
(inputs, outputs) = cls.validate_transfer(inputs, recipients, [election_id], metadata)
|
||||
election_vote = cls(cls.OPERATION, [{'id': election_id}], inputs, outputs, metadata)
|
||||
cls.validate_schema(election_vote.to_dict())
|
||||
return election_vote
|
||||
|
||||
|
||||
@ -35,7 +35,7 @@ class ValidatorElection(Election):
|
||||
@classmethod
|
||||
def validate_schema(cls, tx):
|
||||
super(ValidatorElection, cls).validate_schema(tx)
|
||||
validate_asset_public_key(tx['asset']['data']['public_key'])
|
||||
validate_asset_public_key(tx['assets'][0]['data']['public_key'])
|
||||
|
||||
def has_concluded(self, planet, *args, **kwargs):
|
||||
latest_block = planet.get_latest_block()
|
||||
@ -51,7 +51,7 @@ class ValidatorElection(Election):
|
||||
return super().has_concluded(planet, *args, **kwargs)
|
||||
|
||||
def on_approval(self, planet, new_height):
|
||||
validator_updates = [self.asset['data']]
|
||||
validator_updates = [self.assets[0]['data']]
|
||||
curr_validator_set = planet.get_validators(new_height)
|
||||
updated_validator_set = new_validator_set(curr_validator_set,
|
||||
validator_updates)
|
||||
@ -61,7 +61,7 @@ class ValidatorElection(Election):
|
||||
|
||||
# TODO change to `new_height + 2` when upgrading to Tendermint 0.24.0.
|
||||
planet.store_validator_set(new_height + 1, updated_validator_set)
|
||||
return encode_validator(self.asset['data'])
|
||||
return encode_validator(self.assets[0]['data'])
|
||||
|
||||
def on_rollback(self, planetmint, new_height):
|
||||
# TODO change to `new_height + 2` when upgrading to Tendermint 0.24.0.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user