Beispiel #1
0
 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())])
Beispiel #2
0
 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)
Beispiel #3
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)
Beispiel #4
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)
Beispiel #5
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)
Beispiel #6
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))
Beispiel #7
0
 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)
Beispiel #8
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'
Beispiel #9
0
 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)
Beispiel #10
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)
Beispiel #11
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)
Beispiel #12
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)
Beispiel #13
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)
Beispiel #14
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)
Beispiel #15
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")
Beispiel #16
0
    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()
Beispiel #17
0
    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)
Beispiel #18
0
 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)
Beispiel #19
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)
Beispiel #20
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())])
Beispiel #21
0
    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)
Beispiel #22
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")
Beispiel #23
0
 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)
Beispiel #24
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)
Beispiel #25
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")
Beispiel #26
0
    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()
Beispiel #27
0
    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")
Beispiel #28
0
 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)
Beispiel #29
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)
Beispiel #30
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)