def test_deactive_contract_with_err(self): if funcs.is_contract_activated(conf["2"]["url"], "CostContract", self.token) == True: self.deactivateContract() walletId = funcs.get_activated_wallet(conf["2"]["url"], "CostContract", self.token) balanceContractOwnerB = utils.get_balance_from_db( conf["1"]["dbHost"], conf["1"]["dbName"], conf["1"]["login"], conf["1"]["pass"], walletId) balanceNodeOwnerB = utils.get_balance_from_db(conf["1"]["dbHost"], conf["1"]["dbName"], conf["1"]["login"], conf["1"]["pass"], conf["2"]["keyID"]) commisionWallet = utils.get_commission_wallet(conf["1"]["dbHost"], conf["1"]["dbName"], conf["1"]["login"], conf["1"]["pass"], 1) balanceCommisionB = utils.get_balance_from_db(conf["1"]["dbHost"], conf["1"]["dbName"], conf["1"]["login"], conf["1"]["pass"], commisionWallet) commission = utils.get_system_parameter(conf["1"]["dbHost"], conf["1"]["dbName"], conf["1"]["login"], conf["1"]["pass"], "commission_size") tokenRunner, uid = utils.get_uid(conf["2"]["url"]) signature = sign(keys["key2"], uid) pubRunner = get_public_key(keys["key2"]) balanceRunnerB = utils.get_balance_from_db_by_pub( conf["1"]["dbHost"], conf["1"]["dbName"], conf["1"]["login"], conf["1"]["pass"], pubRunner) dataRunner = utils.login(conf["2"]["url"], keys["key2"], 0) tokenRunner = dataRunner["jwtToken"] res = utils.call_contract(conf["2"]["url"], keys["key2"], "CostContract", {"State": 0}, tokenRunner) time.sleep(10) hash = res["hash"] result = utils.txstatus(conf["2"]["url"], conf["2"]["time_wait_tx_in_block"], hash, tokenRunner) balanceContractOwnerA = utils.get_balance_from_db( conf["1"]["dbHost"], conf["1"]["dbName"], conf["1"]["login"], conf["1"]["pass"], walletId) balanceNodeOwnerA = utils.get_balance_from_db(conf["1"]["dbHost"], conf["1"]["dbName"], conf["1"]["login"], conf["1"]["pass"], conf["2"]["keyID"]) balanceCommisionA = utils.get_balance_from_db(conf["1"]["dbHost"], conf["1"]["dbName"], conf["1"]["login"], conf["1"]["pass"], commisionWallet) balanceRunnerA = utils.get_balance_from_db_by_pub( conf["1"]["dbHost"], conf["1"]["dbName"], conf["1"]["login"], conf["1"]["pass"], pubRunner) dictValid = dict(balanceContractOwner=balanceContractOwnerA, balanceNodeOwner=balanceNodeOwnerA, balanceCommision=balanceCommisionA, balanceRunner=balanceRunnerA) dictExpect = dict(balanceContractOwner=balanceContractOwnerB, balanceNodeOwner=balanceNodeOwnerB, balanceCommision=balanceCommisionB, balanceRunner=balanceRunnerB) msg = "balanceContractOwnerA:" + str(balanceContractOwnerA) + "\n" +\ "balanceContractOwnerE:" + str(balanceContractOwnerB) + "\n" +\ "balanceNodeOwnerA:" + str(balanceNodeOwnerA) + "\n" +\ "balanceNodeOwnerE:" + str(balanceNodeOwnerB) + "\n" +\ "balanceCommisionA:" + str(balanceCommisionA) + "\n" +\ "balanceCommisionE:" + str(balanceCommisionB) + "\n" +\ "balanceRunnerA:" + str(balanceRunnerA) + "\n" +\ "balanceRunnerE:" + str(balanceRunnerB) + "\n" self.assertDictEqual(dictValid, dictExpect, msg)
def test_deactive_contract(self): if funcs.is_contract_activated(conf["2"]["url"], "CostContract", self.token) == True: self.deactivateContract() walletId = funcs.get_activated_wallet(conf["2"]["url"], "CostContract", self.token) sumsBefore = utils.getUserTokenAmounts(conf["1"]["dbHost"], conf["1"]["dbName"], conf["1"]["login"], conf["1"]["pass"]) summBefore = sum(summ[0] for summ in sumsBefore) bNodeBalance = self.getNodeBalances() tokenRunner, uid = utils.get_uid(conf["2"]["url"]) signature = sign(keys["key2"], uid) pubRunner = get_public_key(keys["key2"]) balanceRunnerB = utils.get_balance_from_db_by_pub( conf["1"]["dbHost"], conf["1"]["dbName"], conf["1"]["login"], conf["1"]["pass"], pubRunner) dataRunner = utils.login(conf["2"]["url"], keys["key2"], 0) tokenRunner = dataRunner["jwtToken"] res = utils.call_contract(conf["2"]["url"], keys["key2"], "CostContract", {"State": 1}, tokenRunner) result = utils.txstatus(conf["2"]["url"], conf["2"]["time_wait_tx_in_block"], res["hash"], tokenRunner) time.sleep(10) node = utils.get_block_gen_node(conf["1"]["dbHost"], conf["1"]["dbName"], conf["1"]["login"], conf["1"]["pass"], result["blockid"]) sumsAfter = utils.getUserTokenAmounts(conf["1"]["dbHost"], conf["1"]["dbName"], conf["1"]["login"], conf["1"]["pass"]) summAfter = sum(summ[0] for summ in sumsAfter) aNodeBalance = self.getNodeBalances() nodeCommission = 141620000000000000 platformaCommission = 4380000000000000 commission = nodeCommission + platformaCommission balanceRunnerA = utils.get_balance_from_db_by_pub( conf["1"]["dbHost"], conf["1"]["dbName"], conf["1"]["login"], conf["1"]["pass"], pubRunner) balanceContractOwnerA = utils.get_balance_from_db( conf["1"]["dbHost"], conf["1"]["dbName"], conf["1"]["login"], conf["1"]["pass"], walletId) inHistory = self.isCommissionsInHistory(nodeCommission, dataRunner["key_id"], platformaCommission, node) if node == 0: dictValid = dict(balanceRunner=balanceRunnerA, platformBalance=aNodeBalance[0], summ=summBefore, history=inHistory) dictExpect = dict(balanceRunner=balanceRunnerB - commission, platformBalance=bNodeBalance[0] + commission, summ=summAfter, history=True) else: dictValid = dict(balanceRunner=balanceRunnerA, platformBalance=aNodeBalance[0], nodeBalance=aNodeBalance[node], summ=summBefore, history=inHistory) dictExpect = dict(balanceRunner=balanceRunnerB - commission, platformBalance=bNodeBalance[0] + platformaCommission, nodeBalance=bNodeBalance[node] + nodeCommission, summ=summAfter, history=True) self.assertDictEqual(dictValid, dictExpect, "Error in comissions run deactivated contract")