def test_rewards(self): runner = CliRunner() nodelist = NodeList() runner.invoke(cli, ['-o', 'set', 'nodes', '']) result = runner.invoke(cli, ['rewards', 'test']) self.assertEqual(result.exit_code, 0) result = runner.invoke( cli, ['rewards', '--post', '--comment', '--curation', 'test']) self.assertEqual(result.exit_code, 0) result = runner.invoke(cli, [ 'rewards', '--post', '--comment', '--curation', '--permlink', 'test' ]) self.assertEqual(result.exit_code, 0) result = runner.invoke(cli, [ 'rewards', '--post', '--comment', '--curation', '--author', 'test' ]) self.assertEqual(result.exit_code, 0) result = runner.invoke(cli, [ 'rewards', '--post', '--comment', '--curation', '--author', '--title', 'test' ]) self.assertEqual(result.exit_code, 0) result = runner.invoke(cli, [ 'rewards', '--post', '--comment', '--curation', '--author', '--permlink', '--length', '30', 'test' ]) self.assertEqual(result.exit_code, 0) runner.invoke(cli, ['-o', 'set', 'nodes', str(nodelist.get_testnet())])
def test_importaccount(self): runner = CliRunner() nodelist = NodeList() runner.invoke(cli, ['-o', 'set', 'nodes', str(nodelist.get_testnet())]) result = runner.invoke(cli, [ 'importaccount', '--roles', '["owner", "active", "posting", "memo"]', 'beem2' ], input="test\ntest\n") self.assertEqual(result.exit_code, 0) result = runner.invoke(cli, [ 'delkey', '--confirm', 'STX7mLs2hns87f7kbf3o2HBqNoEaXiTeeU89eVF6iUCrMQJFzBsPo' ], input="test\n") self.assertEqual(result.exit_code, 0) result = runner.invoke(cli, [ 'delkey', '--confirm', 'STX7rUmnpnCp9oZqMQeRKDB7GvXTM9KFvhzbA3AKcabgTBfQZgHZp' ], input="test\n") self.assertEqual(result.exit_code, 0) result = runner.invoke(cli, [ 'delkey', '--confirm', 'STX6qGWHsCpmHbphnQbS2yfhvhJXDUVDwnsbnrMZkTqfnkNEZRoLP' ], input="test\n") self.assertEqual(result.exit_code, 0) result = runner.invoke(cli, [ 'delkey', '--confirm', 'STX8Wvi74GYzBKgnUmiLvptzvxmPtXfjGPJL8QY3rebecXaxGGQyV' ], input="test\n") self.assertEqual(result.exit_code, 0)
def test_transfer(self): runner = CliRunner() nodelist = NodeList() runner.invoke(cli, ['-o', 'set', 'nodes', str(nodelist.get_testnet())]) result = runner.invoke(cli, ['transfer', 'beem1', '1', 'SBD', 'test'], input="test\n") self.assertEqual(result.exit_code, 0)
def test_disapprovewitness(self): runner = CliRunner() nodelist = NodeList() runner.invoke(cli, ['-o', 'set', 'nodes', str(nodelist.get_testnet())]) result = runner.invoke(cli, ['-o', 'disapprovewitness', 'beem1'], input="test\n") self.assertEqual(result.exit_code, 0)
def test_verify(self): runner = CliRunner() nodelist = NodeList() runner.invoke(cli, ['-o', 'set', 'nodes', '']) result = runner.invoke(cli, ['verify', '--trx', '0']) runner.invoke(cli, ['-o', 'set', 'nodes', str(nodelist.get_testnet())]) self.assertEqual(result.exit_code, 0)
def setUpClass(cls): nodelist = NodeList() stm = shared_steem_instance() stm.config.refreshBackup() runner = CliRunner() result = runner.invoke(cli, ['-o', 'set', 'default_vote_weight', '100']) if result.exit_code != 0: raise AssertionError(str(result)) result = runner.invoke(cli, ['-o', 'set', 'default_account', 'beem']) if result.exit_code != 0: raise AssertionError(str(result)) result = runner.invoke( cli, ['-o', 'set', 'nodes', str(nodelist.get_testnet())]) if result.exit_code != 0: raise AssertionError(str(result)) result = runner.invoke(cli, ['createwallet', '--wipe'], input="test\ntest\n") if result.exit_code != 0: raise AssertionError(str(result)) result = runner.invoke(cli, ['addkey'], input="test\n" + wif + "\n") if result.exit_code != 0: raise AssertionError(str(result)) result = runner.invoke(cli, ['addkey'], input="test\n" + posting_key + "\n") if result.exit_code != 0: raise AssertionError(str(result)) result = runner.invoke(cli, ['addkey'], input="test\n" + memo_key + "\n") if result.exit_code != 0: raise AssertionError(str(result))
def test_tradehistory(self): runner = CliRunner() nodelist = NodeList() runner.invoke(cli, ['-o', 'set', 'nodes', '']) result = runner.invoke(cli, ['tradehistory']) runner.invoke(cli, ['-o', 'set', 'nodes', str(nodelist.get_testnet())]) self.assertEqual(result.exit_code, 0)
def setUpClass(cls): nodelist = NodeList() # stm = shared_steem_instance() # stm.config.refreshBackup() cls.bts = Steem( node=nodelist.get_testnet(), nobroadcast=True, num_retries=10, expiration=120, ) # from getpass import getpass # self.bts.wallet.unlock(getpass()) cls.bts.set_default_account("beem") # Test account "beem" cls.active_key = "5Jt2wTfhUt5GkZHV1HYVfkEaJ6XnY8D2iA4qjtK9nnGXAhThM3w" cls.posting_key = "5Jh1Gtu2j4Yi16TfhoDmg8Qj3ULcgRi7A49JXdfUUTVPkaFaRKz" cls.memo_key = "5KPbCuocX26aMxN9CDPdUex4wCbfw9NoT5P7UhcqgDwxXa47bit" # Test account "beem1" cls.active_key1 = "5Jo9SinzpdAiCDLDJVwuN7K5JcusKmzFnHpEAtPoBHaC1B5RDUd" cls.posting_key1 = "5JGNhDXuDLusTR3nbmpWAw4dcmE8WfSM8odzqcQ6mDhJHP8YkQo" cls.memo_key1 = "5KA2ddfAffjfRFoe1UhQjJtKnGsBn9xcsdPQTfMt1fQuErDAkWr" cls.active_private_key_of_beem4 = '5JkZZEUWrDsu3pYF7aknSo7BLJx7VfxB3SaRtQaHhsPouDYjxzi' cls.active_private_key_of_beem5 = '5Hvbm9VjRbd1B3ft8Lm81csaqQudwFwPGdiRKrCmTKcomFS3Z9J'
def test_updatememokey(self): runner = CliRunner() nodelist = NodeList() runner.invoke(cli, ['-o', 'set', 'nodes', str(nodelist.get_testnet())]) result = runner.invoke(cli, ['-d', 'updatememokey'], input="test\ntest\ntest\n") self.assertEqual(result.exit_code, 0)
def test_powerdownroute(self): runner = CliRunner() nodelist = NodeList() runner.invoke(cli, ['-o', 'set', 'nodes', str(nodelist.get_testnet())]) result = runner.invoke(cli, ['powerdownroute', 'beem1'], input="test\n") self.assertEqual(result.exit_code, 0)
def test_witnesscreate(self): runner = CliRunner() nodelist = NodeList() runner.invoke(cli, ['-o', 'set', 'nodes', str(nodelist.get_testnet())]) result = runner.invoke(cli, ['-d', 'witnesscreate', 'beem', pub_key], input="test\n") self.assertEqual(result.exit_code, 0)
def test_curation(self): runner = CliRunner() nodelist = NodeList() runner.invoke(cli, ['-o', 'set', 'nodes', '']) result = runner.invoke(cli, ['curation', "@gtg/witness-gtg-log"]) runner.invoke(cli, ['-o', 'set', 'nodes', str(nodelist.get_testnet())]) self.assertEqual(result.exit_code, 0)
def test_follow_unfollow(self): runner = CliRunner() nodelist = NodeList() runner.invoke(cli, ['-o', 'set', 'nodes', str(nodelist.get_testnet())]) result = runner.invoke(cli, ['follow', 'beem1'], input="test\n") self.assertEqual(result.exit_code, 0) result = runner.invoke(cli, ['unfollow', 'beem1'], input="test\n") self.assertEqual(result.exit_code, 0)
def test_votes(self): runner = CliRunner() nodelist = NodeList() runner.invoke(cli, ['-o', 'set', 'nodes', '']) result = runner.invoke(cli, ['votes', '--direction', 'out', 'test']) self.assertEqual(result.exit_code, 0) result = runner.invoke(cli, ['votes', '--direction', 'in', 'test']) runner.invoke(cli, ['-o', 'set', 'nodes', str(nodelist.get_testnet())]) self.assertEqual(result.exit_code, 0)
def test_follow_posting_key(self): nodelist = NodeList() stm = Steem(node=nodelist.get_testnet(), keys=[self.posting_key], nobroadcast=True, expiration=120, num_retries=10) account = Account("beem", steem_instance=stm) account.follow("beem1")
def test_transfer_2of2_wif(self): nodelist = NodeList() # Send a 2 of 2 transaction from elf which needs beem4's cosign to send # funds but sign the transaction with elf's key and then serialize the transaction # and deserialize the transaction. After that, sign with beem4's key. steem = Steem( node=nodelist.get_testnet(), num_retries=10, keys=[self.active_private_key_of_beem5], expiration=360, ) tx = TransactionBuilder(steem_instance=steem) tx.appendOps( Transfer( **{ "from": 'beem5', "to": 'beem', "amount": '0.01 SBD', "memo": '2 of 2 serialized/deserialized transaction' })) tx.appendSigner("beem5", "active") tx.addSigningInformation("beem5", "active") tx.sign() tx.clearWifs() self.assertEqual(len(tx['signatures']), 1) tx_json = tx.json() del steem del tx steem = Steem( node=nodelist.get_testnet(), num_retries=10, keys=[self.active_private_key_of_beem4], expiration=360, ) new_tx = TransactionBuilder(tx=tx_json, steem_instance=steem) new_tx.appendMissingSignatures() new_tx.sign(reconstruct_tx=False) self.assertEqual(len(new_tx['signatures']), 2) new_tx.broadcast()
def test_stm1stm2(self): nodelist = NodeList() b1 = Steem(node=nodelist.get_testnet(), nobroadcast=True, num_retries=10) b2 = Steem(node=nodelist.get_nodes(appbase=False), nobroadcast=True, num_retries=10) self.assertNotEqual(b1.rpc.url, b2.rpc.url)
def test_newaccount(self): runner = CliRunner() nodelist = NodeList() runner.invoke(cli, ['-o', 'set', 'nodes', str(nodelist.get_testnet())]) result = runner.invoke(cli, ['-d', 'newaccount', 'beem3'], input="test\ntest\ntest\n") self.assertEqual(result.exit_code, 0) result = runner.invoke( cli, ['-d', 'newaccount', '--fee', '6 STEEM', 'beem3'], input="test\ntest\ntest\n") self.assertEqual(result.exit_code, 0)
def test_orderbook(self): runner = CliRunner() nodelist = NodeList() runner.invoke(cli, ['-o', 'set', 'nodes', '']) result = runner.invoke(cli, ['orderbook']) self.assertEqual(result.exit_code, 0) result = runner.invoke(cli, ['orderbook', '--show-date']) self.assertEqual(result.exit_code, 0) result = runner.invoke(cli, ['orderbook', '--chart']) runner.invoke(cli, ['-o', 'set', 'nodes', str(nodelist.get_testnet())]) self.assertEqual(result.exit_code, 0)
def test_currentnode(self): runner = CliRunner() nodelist = NodeList() runner.invoke(cli, ['-o', 'set', 'nodes', '']) result = runner.invoke(cli, ['currentnode']) self.assertEqual(result.exit_code, 0) result = runner.invoke(cli, ['currentnode', '--url']) self.assertEqual(result.exit_code, 0) result = runner.invoke(cli, ['currentnode', '--version']) self.assertEqual(result.exit_code, 0) runner.invoke(cli, ['-o', 'set', 'nodes', str(nodelist.get_testnet())])
def test_stm1stm2(self): nodelist = NodeList() nodelist.update_nodes(steem_instance=Steem(node=nodelist.get_nodes( normal=True, appbase=True), num_retries=10)) b1 = Steem(node=nodelist.get_testnet(testnet=True, testnetdev=False), nobroadcast=True, num_retries=10) b2 = Steem(node=nodelist.get_nodes(), nobroadcast=True, num_retries=10) self.assertNotEqual(b1.rpc.url, b2.rpc.url)
def setUpClass(cls): nodelist = NodeList() stm = shared_steem_instance() stm.config.refreshBackup() cls.bts = Steem( node=nodelist.get_testnet(), nobroadcast=True, num_retries=10, expiration=120, ) # from getpass import getpass # self.bts.wallet.unlock(getpass()) cls.bts.set_default_account("beem")
def test_info(self): runner = CliRunner() nodelist = NodeList() runner.invoke(cli, ['-o', 'set', 'nodes', str(nodelist.get_testnet())]) result = runner.invoke(cli, ['info']) self.assertEqual(result.exit_code, 0) result = runner.invoke(cli, ['info', 'beem']) self.assertEqual(result.exit_code, 0) result = runner.invoke(cli, ['info', '100']) self.assertEqual(result.exit_code, 0) result = runner.invoke(cli, ['info', '--', '-1']) self.assertEqual(result.exit_code, 0) result = runner.invoke(cli, ['info', pub_key]) self.assertEqual(result.exit_code, 0)
def test_allow_disallow(self): runner = CliRunner() nodelist = NodeList() runner.invoke(cli, ['-o', 'set', 'nodes', str(nodelist.get_testnet())]) result = runner.invoke(cli, [ '-d', 'allow', '--account', 'beem', '--permission', 'posting', 'beem1' ], input="test\n") self.assertEqual(result.exit_code, 0) result = runner.invoke(cli, [ '-d', 'disallow', '--account', 'beem', '--permission', 'posting', 'beem1' ], input="test\n") self.assertEqual(result.exit_code, 0)
def test_default_connection(self): nodelist = NodeList() b1 = Steem( node=nodelist.get_testnet(), nobroadcast=True, ) set_shared_steem_instance(b1) test = Account("test") b2 = Steem( node=nodelist.get_nodes(appbase=False), nobroadcast=True, ) set_shared_steem_instance(b2) bts = Account("test") self.assertEqual(test.steem.prefix, "STX") self.assertEqual(bts.steem.prefix, "STM")
def test_Transfer_broadcast(self): nodelist = NodeList() stm = Steem(node=nodelist.get_testnet(), keys=[self.active_key], nobroadcast=True, expiration=120, num_retries=10) tx = TransactionBuilder(expiration=10, steem_instance=stm) tx.appendOps( Transfer( **{ "from": "beem", "to": "beem1", "amount": Amount("1 STEEM", steem_instance=stm), "memo": "" })) tx.appendSigner("beem", "active") tx.sign() tx.broadcast()
def test_default_connection(self): nodelist = NodeList() nodelist.update_nodes(steem_instance=Steem(node=nodelist.get_nodes( normal=True, appbase=True), num_retries=10)) b1 = Steem( node=nodelist.get_testnet(testnet=True, testnetdev=False), nobroadcast=True, ) set_shared_steem_instance(b1) test = Account("beem") b2 = Steem( node=nodelist.get_nodes(appbase=False), nobroadcast=True, ) set_shared_steem_instance(b2) bts = Account("beem") self.assertEqual(test.steem.prefix, "STX") self.assertEqual(bts.steem.prefix, "STM")
def test_appendWif(self): nodelist = NodeList() stm = Steem(node=nodelist.get_testnet(), nobroadcast=True, expiration=120, num_retries=10) tx = TransactionBuilder(steem_instance=stm) tx.appendOps( Transfer( **{ "from": "beem", "to": "beem1", "amount": Amount("1 STEEM", steem_instance=stm), "memo": "" })) with self.assertRaises(MissingKeyError): tx.sign() with self.assertRaises(InvalidWifError): tx.appendWif("abcdefg") tx.appendWif(self.active_key) tx.sign() self.assertTrue(len(tx["signatures"]) > 0)
def test_appendSigner(self): nodelist = NodeList() stm = Steem(node=nodelist.get_testnet(), keys=[self.active_key], nobroadcast=True, expiration=120, num_retries=10) tx = TransactionBuilder(steem_instance=stm) tx.appendOps( Transfer( **{ "from": "beem", "to": "beem1", "amount": Amount("1 STEEM", steem_instance=stm), "memo": "" })) account = Account("beem", steem_instance=stm) with self.assertRaises(AssertionError): tx.appendSigner(account, "abcdefg") tx.appendSigner(account, "active") self.assertTrue(len(tx.wifs) > 0) tx.sign() self.assertTrue(len(tx["signatures"]) > 0)
def test_verifyAuthorityException(self): nodelist = NodeList() stm = Steem(node=nodelist.get_testnet(), keys=[self.posting_key], nobroadcast=True, expiration=120, num_retries=10) tx = TransactionBuilder(steem_instance=stm) tx.appendOps( Transfer( **{ "from": "beem", "to": "beem1", "amount": Amount("1 STEEM", steem_instance=stm), "memo": "" })) account = Account("beem2", steem_instance=stm) tx.appendSigner(account, "active") tx.appendWif(self.posting_key) self.assertTrue(len(tx.wifs) > 0) tx.sign() with self.assertRaises(exceptions.MissingRequiredActiveAuthority): tx.verify_authority() self.assertTrue(len(tx["signatures"]) > 0)