mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-13 12:33:42 +02:00
73 lines
2.8 KiB
Python
Executable file
73 lines
2.8 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
# Copyright (c) 2014-2016 The Bitcoin Core developers
|
|
# Distributed under the MIT software license, see the accompanying
|
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
#
|
|
# Test use of assetdir to locally label assets.
|
|
# Test listissuances returns a list of all issuances or specific issuances based on asset hex or asset label.
|
|
#
|
|
|
|
from test_framework.test_framework import BitcoinTestFramework
|
|
from test_framework.util import assert_equal, assert_greater_than
|
|
|
|
class AssetdirTests(BitcoinTestFramework):
|
|
"""
|
|
Test use of assetdir to specify asset labels.
|
|
Test listissuances returns a list of all issuances or specific issuances based on asset hex or asset label.
|
|
"""
|
|
|
|
def set_test_params(self):
|
|
self.setup_clean_chain = True
|
|
self.num_nodes = 1
|
|
[["-initialfreecoins=2100000000000000", "-anyonecanspendaremine=1", "-con_connect_genesis_outputs=1", "-con_blocksubsidy=0"]]
|
|
|
|
def add_options(self, parser):
|
|
self.add_wallet_options(parser)
|
|
|
|
def skip_test_if_missing_module(self):
|
|
self.skip_if_no_wallet()
|
|
|
|
def setup_network(self, split=False):
|
|
self.setup_nodes()
|
|
|
|
def run_test(self):
|
|
self.generate(self.nodes[0], 101)
|
|
self.nodes[0].syncwithvalidationinterfacequeue()
|
|
|
|
#Issue two assets that we will later label using the assetdir parameter
|
|
issuance1 = self.nodes[0].issueasset(100, 1, False)
|
|
asset1hex = issuance1["asset"]
|
|
|
|
issuance2 = self.nodes[0].issueasset(100, 1, False)
|
|
asset2hex = issuance2["asset"]
|
|
|
|
#Stop and restart the nodes, providing the assetdir parameter to locally label the assets
|
|
self.stop_nodes()
|
|
self.start_nodes([["-assetdir=" + asset1hex + ":asset1", "-assetdir=" + asset2hex + ":asset2"]])
|
|
|
|
#Check that listissuances return all issuances
|
|
issuances = self.nodes[0].listissuances()
|
|
assert_equal(len(issuances), 2)
|
|
|
|
#Check all asset labels have been set: 'asset1', 'asset2'
|
|
#We can not be sure they will always be returned in the same order so will loop each one
|
|
label = ""
|
|
for issue in issuances:
|
|
label += issue["assetlabel"]
|
|
|
|
assert_greater_than(label.find("asset1"), -1)
|
|
assert_greater_than(label.find("asset2"), -1)
|
|
|
|
#Check we can get a list of isuances for a given label
|
|
issuances = self.nodes[0].listissuances("asset1")
|
|
assert_equal(len(issuances), 1)
|
|
assert_equal(issuances[0]["assetlabel"], "asset1")
|
|
|
|
#Check we can get a list of issuances for a given hex
|
|
issuances = self.nodes[0].listissuances(asset2hex)
|
|
assert_equal(len(issuances), 1)
|
|
assert_equal(issuances[0]["assetlabel"], "asset2")
|
|
|
|
if __name__ == '__main__':
|
|
AssetdirTests(__file__).main()
|