예제 #1
0
 def test_max_block_user_tx(self):
     max_block_user_tx = utils.get_system_parameter(conf["1"]["dbHost"],
                                                    conf["1"]["dbName"],
                                                    conf["1"]["login"],
                                                    conf["1"]["pass"],
                                                    "max_block_user_tx")
     self.update_sys_param("max_block_user_tx", "1")
     time.sleep(30)
     i = 1
     while i < 10:
         name = "cont" + utils.generate_random_name()
         code = "contract " + name + contract["limits"]["code"]
         data = {
             "Wallet": "",
             "Value": code,
             "ApplicationId": 1,
             "Conditions": "true"
         }
         utils.call_contract(conf["2"]["url"], conf["1"]['private_key'],
                             "NewContract", data, token)
         i = i + 1
     time.sleep(5)
     maxBlock = funcs.get_max_block_id(conf["2"]["url"], token)
     print("maxBlock = ", maxBlock)
     isOneOrTwo = utils.isCountTxInBlock(conf["2"]["dbHost"],
                                         conf["2"]["dbName"],
                                         conf["2"]["login"],
                                         conf["2"]["pass"], maxBlock, 1)
     self.update_sys_param("max_block_user_tx ", str(max_block_user_tx))
     time.sleep(30)
     self.assertTrue(isOneOrTwo,
                     "One of block contains more than 2 transaction")
예제 #2
0
 def test_get_content_from_another_ecosystem(self):
     # create new ecosystem
     ecosysName = "Ecosys_" + utils.generate_random_name()
     data = {"Name": ecosysName}
     res = self.call("NewEcosystem", data)
     self.assertGreater(int(res), 0,
                        "BlockId is not generated: " + str(res))
     ecosysNum = funcs.call_get_api(url + "/ecosystems/", "",
                                    token)["number"]
     # login founder in new ecosystem
     data2 = utils.login(url, prKey, 0, ecosysNum)
     token2 = data2["jwtToken"]
     # create page in new ecosystem
     pageName = "Page_" + utils.generate_random_name()
     pageText = "Page in " + str(ecosysNum) + " ecosystem"
     pageValue = "Span(" + pageText + ")"
     data = {
         "Name": pageName,
         "Value": pageValue,
         "ApplicationId": 1,
         "Conditions": "true",
         "Menu": "default_menu"
     }
     resp = utils.call_contract(url, prKey, "@1NewPage", data, token2)
     status = utils.txstatus(url, pause, resp["hash"], token2)
     self.assertGreater(int(status["blockid"]), 0,
                        "BlockId is not generated: " + str(status))
     # create menu in new ecosystem
     menuName = "Menu_" + utils.generate_random_name()
     menuTitle = "Test menu"
     data = {
         "Name": menuName,
         "Value": "MenuItem(Title:\"" + menuTitle + "\")",
         "ApplicationId": 1,
         "Conditions": "true"
     }
     resp = utils.call_contract(url, prKey, "@1NewMenu", data, token2)
     status = utils.txstatus(url, pause, resp["hash"], token2)
     self.assertGreater(int(status["blockid"]), 0,
                        "BlockId is not generated: " + str(status))
     # test
     data = ""
     asserts = ["tree"]
     resPage = self.check_post_api(
         "/content/page/@" + str(ecosysNum) + pageName, data, asserts)
     resMenu = self.check_post_api(
         "/content/menu/@" + str(ecosysNum) + menuName, data, asserts)
     mustBe = dict(pageText=pageText, menu=menuTitle)
     expectedValue = dict(
         pageText=resPage["tree"][0]["children"][0]["text"],
         menu=resMenu["tree"][0]["attr"]["title"])
     self.assertEqual(mustBe, expectedValue, "Dictionaries are different!")
예제 #3
0
def rolesInsatll(url, prKey, token):
    data = {}
    print("RolesInstall started")
    call = utils.call_contract(url, prKey, "RolesInstall", data, token)
    if not isInBlock(call, url, token):
        print("RolesInstall is failed")
        exit(1)
예제 #4
0
 def test_money_transfer(self):
     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)
     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"]
     data = {"Recipient": "0005-2070-2000-0006-0200", "Amount": "1000"}
     res = utils.call_contract(conf["2"]["url"], keys["key2"],
                               "MoneyTransfer", data, tokenRunner)
     hash = res["hash"]
     result = utils.txstatus(conf["2"]["url"],
                             conf["2"]["time_wait_tx_in_block"], hash,
                             tokenRunner)
     balanceRunnerMust = balanceRunnerB - 1000
     balanceRunnerB = utils.get_balance_from_db_by_pub(
         conf["1"]["dbHost"], conf["1"]["dbName"], conf["1"]["login"],
         conf["1"]["pass"], pubRunner)
예제 #5
0
 def is_node_owner_true(self):
     data = {}
     resp = utils.call_contract(url, prKey, "NodeOwnerCondition", data,
                                token)
     status = utils.txstatus(url, pause, resp["hash"], token)
     self.assertGreater(int(status["blockid"]), 0,
                        "BlockId is not generated: " + str(status))
예제 #6
0
def new_citizen():
    resp = requests.get(config.ENDPOINT + "ecosystemslist")
    form = forms.NewCitizenForm(request.form)
    form.financial_institution.choices = config.ECOSYSTEM_CHOICES
    if request.method == 'POST' and form.validate():
        data = {}
        data["ecosystem_id"] = int(request.form["financial_institution"])
        data["wallet_address"] = request.form["wallet_address"]
        data["firstname"] = request.form["first_name"]
        data["lastname"] = request.form["last_name"]
        data["citizenship"] = request.form["citizenship"]
        utils.call_contract(config.ENDPOINT, config.PRKEY, "WaletRequest",
                            data)
        form = forms.NewCitizenForm()
        form.financial_institution.choices = config.ECOSYSTEM_CHOICES
    return render_template('new_citizen.html', form=form)
 def test_contract_callContract(self):
     contract = self.contracts["myContract"]
     code = "contract MyContract" + contract["code"]
     data = {"Value": code, "ApplicationId": 1, "Conditions": "true"}
     res = utils.call_contract(url, prKey, "NewContract", data, token)
     time.sleep(10)
     contract = self.contracts["callContract"]
     self.check_contract(contract["code"], contract["asert"])
 def call(self, name, data):
     url = self.config["2"]["url"]
     prKey = self.config["1"]['private_key']
     token = self.data["jwtToken"]
     result = utils.call_contract(url, prKey, name, data, token)
     status = utils.txstatus(url, self.config["1"]["time_wait_tx_in_block"],
                             result['hash'], token)
     return status
예제 #9
0
def editAppParam(name, val, url, prKey, token):
    id = funcs.get_object_id(url, name, "app_params", token)
    print("id", id)
    data = {"Id": id, "Name": name, "Value": val, "Conditions": "true"}
    call = utils.call_contract(url, prKey, "EditAppParam", data, token)
    if not isInBlock(call, url, token):
        print("EditAppParam " + name + " is failed")
        exit(1)
예제 #10
0
def voitingInstall(url, prKey, token):
    data = {}
    print("voitingInstall started")
    call = utils.call_contract(url, prKey, "VotingTemplatesInstall", data,
                               token)
    if not isInBlock(call, url, token):
        print("VoitingInstall is failed")
        exit(1)
 def create_contract(self, code):
     data = {
         "Wallet": "",
         "ApplicationId": 1,
         "Value": code,
         "Conditions": "ContractConditions(\"MainCondition\")"
     }
     result = utils.call_contract(url, prKey, "NewContract", data, token)
     self.assertTxInBlock(result, token)
예제 #12
0
def voiting(id, url, prKey, token):
    data = {"votingID": id}
    call = utils.call_contract(url, prKey, "VotingDecisionAccept", data, token)

    if not isInBlock(call, url, token):
        print("VotingDecisionAccept " + id + " is failed")
        exit(1)
        return False
    return True
예제 #13
0
def setAplaConsensus(id, url, prKey, token):
    data = {"member_id": id, "rid": 3}
    call = utils.call_contract(url, prKey, "RolesAssign", data, token)
    print(
        "--------------------------------------------------------------------------"
    )
    print("setAplaconsensus block: ", call)
    if not isInBlock(call, url, token):
        print("RolesAssign " + id + " is failed")
        exit(1)
 def test_contract_langRes(self):
     data = {
         "ApplicationId": 1,
         "Name": "test",
         "Trans": "{\"en\": \"test_en\", \"de\" : \"test_de\"}"
     }
     result = utils.call_contract(url, prKey, "NewLang", data, token)
     tx = utils.txstatus(url, self.config["1"]["time_wait_tx_in_block"],
                         result['hash'], token)
     contract = self.contracts["langRes"]
     self.check_contract(contract["code"], contract["asert"])
예제 #15
0
 def create_contract(self, url, prKey):
     code, name = utils.generate_name_and_code("")
     data = {
         'Wallet': '',
         'Value': code,
         "ApplicationId": 1,
         'Conditions': "ContractConditions(`MainCondition`)"
     }
     resp = utils.call_contract(url, prKey, "NewContract", data,
                                self.data1["jwtToken"])
     return name
 def test_sys_var_role_id_readonly(self):
     sysVarName = "$role_id"
     contracName = utils.generate_random_name()
     value = "contract con_" + contracName + " { data{ } conditions{ } action{ " + sysVarName + " = 5 } }"
     data = {"Value": value, "ApplicationId": 1, "Conditions": "true"}
     result = utils.call_contract(url, prKey, "NewContract", data, token)
     tx = utils.txstatus(url, self.config["1"]["time_wait_tx_in_block"],
                         result['hash'], token)
     expResult = "system variable " + sysVarName + " cannot be changed"
     msg = "system variable " + sysVarName + " was been changed!"
     self.assertEqual(tx["errmsg"]["error"], expResult, msg)
 def check_contract_with_data(self, sourse, data, checkPoint):
     code, name = self.generate_name_and_code(sourse)
     self.create_contract(code)
     url = self.config["2"]["url"]
     prKey = self.config["1"]['private_key']
     token = self.data["jwtToken"]
     sleep = self.config["1"]["time_wait_tx_in_block"]
     res = utils.call_contract(url, prKey, name, data, token)
     hash = res["hash"]
     result = utils.txstatus(url, sleep, hash, token)
     self.assertIn(checkPoint, result["result"], "error")
예제 #18
0
 def is_node_owner_false(self):
     keys = config.getKeys()
     prKey2 = keys["key1"]
     data2 = utils.login(url, prKey2, 0)
     token2 = data2["jwtToken"]
     data = {}
     resp = utils.call_contract(url, prKey2, "NodeOwnerCondition", data,
                                token2)
     status = utils.txstatus(url, pause, resp["hash"], token2)
     self.assertEqual(status["errmsg"]["error"],
                      "Sorry, you do not have access to this action.",
                      "Incorrect message: " + str(status))
예제 #19
0
def createVoiting(tcpAdress, apiAddress, keyId, pubKey, url, prKey, token):
    data = {
        "TcpAddress": tcpAdress,
        "ApiAddress": apiAddress,
        "KeyId": keyId,
        "PubKey": pubKey,
        "Duration": 1
    }
    print(str(data))
    call = utils.call_contract(url, prKey, "VotingNodeAdd", data, token)
    if not isInBlock(call, url, token):
        print("VotingNodeAdd  is failed")
        exit(1)
예제 #20
0
 def deactivateContract(self):
     dataCreater = utils.login(conf["1"]["url"], conf["1"]["private_key"],
                               0)
     tokenCreater = dataCreater["jwtToken"]
     id = funcs.get_contract_id(conf["1"]["url"], "CostContract",
                                tokenCreater)
     data = {"Id": id}
     result = utils.call_contract(conf["1"]["url"],
                                  conf["1"]["private_key"],
                                  "DeactivateContract", data, tokenCreater)
     status = utils.txstatus(conf["1"]["url"],
                             conf["1"]["time_wait_tx_in_block"],
                             result['hash'], tokenCreater)
 def test_contract_dbInsert(self):
     columns = """[{"name":"name","type":"varchar",
     "index": "1",  "conditions":"true"},
     {"name":"test","type":"varchar",
     "index": "0",  "conditions":"true"}]"""
     permission = """{"insert": "true",
     "update" : "true","new_column": "true"}"""
     data = {
         "Name": "test",
         "ApplicationId": 1,
         "Columns": columns,
         "Permissions": permission
     }
     result = utils.call_contract(url, prKey, "NewTable", data, token)
     tx = utils.txstatus(url, self.config["1"]["time_wait_tx_in_block"],
                         result['hash'], token)
     contract = self.contracts["dbInsert"]
     self.check_contract(contract["code"], contract["asert"])
    def test_z1_dbSelectMetricsMin(self):
        # func generate contract which return block_id and increment count blocks
        def waitBlockId(old_block_id, limit):
            while True:
                if old_block_id == limit:
                    break
                contracName = utils.generate_random_name()
                value = "contract con_" + contracName + " {\n data{} \n conditions{} \n action { \n  $result = $block \n } \n }"
                data = {
                    "Value": value,
                    "ApplicationId": 1,
                    "Conditions": "true"
                }
                result = utils.call_contract(url, prKey, "NewContract", data,
                                             token)
                tx = utils.txstatus(url,
                                    self.config["1"]["time_wait_tx_in_block"],
                                    result['hash'], token)
                current_block_id = int(tx["blockid"])
                self.assertGreater(current_block_id, 0,
                                   "BlockId is not generated: " + str(tx))
                old_block_id = current_block_id

        # generate contract which return count blocks in blockchain
        contracName = utils.generate_random_name()
        value = "contract con_" + contracName + " {\n data{} \n conditions{} \n action { \n  $result = $block \n } \n }"
        data = {"Value": value, "ApplicationId": 1, "Conditions": "true"}
        result = utils.call_contract(url, prKey, "NewContract", data, token)
        tx = utils.txstatus(url, self.config["1"]["time_wait_tx_in_block"],
                            result['hash'], token)
        current_block_id = int(tx["blockid"])
        self.assertGreater(current_block_id, 0,
                           "BlockId is not generated: " + str(tx))
        # wait until generated 100 blocks
        if current_block_id < 100:
            waitBlockId(current_block_id, 100)
        # wait until generated multiples of 100 blocks
        if (current_block_id % 100 >= 90):
            count = current_block_id + (100 - (current_block_id % 100))
            waitBlockId(current_block_id, count)
        # test
        ecosystem_tx = self.getMetrics(1, "ecosystem_tx")
        contract = self.contracts["dbSelectMetricsMin"]
        self.check_contract(contract["code"], str(ecosystem_tx))
예제 #23
0
 def createContracts(self):
     global dataCreater
     dataCreater = utils.login(conf["1"]["url"], conf["1"]["private_key"],
                               0)
     tokenCreater = dataCreater["jwtToken"]
     contract = config.readFixtures("contracts")
     code = "contract CostContract" + contract["for_cost"]["code"]
     data = {
         "Wallet": "",
         "Value": code,
         "ApplicationId": 1,
         "Conditions": "true"
     }
     result = utils.call_contract(conf["1"]["url"],
                                  conf["1"]["private_key"], "NewContract",
                                  data, tokenCreater)
     status = utils.txstatus(conf["1"]["url"],
                             conf["1"]["time_wait_tx_in_block"],
                             result['hash'], tokenCreater)
     print(status)
 def waitBlockId(old_block_id, limit):
     while True:
         if old_block_id == limit:
             break
         contracName = utils.generate_random_name()
         value = "contract con_" + contracName + " {\n data{} \n conditions{} \n action { \n  $result = $block \n } \n }"
         data = {
             "Value": value,
             "ApplicationId": 1,
             "Conditions": "true"
         }
         result = utils.call_contract(url, prKey, "NewContract", data,
                                      token)
         tx = utils.txstatus(url,
                             self.config["1"]["time_wait_tx_in_block"],
                             result['hash'], token)
         current_block_id = int(tx["blockid"])
         self.assertGreater(current_block_id, 0,
                            "BlockId is not generated: " + str(tx))
         old_block_id = current_block_id
예제 #25
0
 def call(self, name, data):
     resp = utils.call_contract(url, prKey, name, data, token)
     res = utils.txstatus(url, waitTx, resp['hash'], token)
     return res
예제 #26
0
 def call(self, name, data):
     resp = utils.call_contract(conf["2"]["url"], conf["1"]['private_key'],
                                name, data, token)
     res = self.assertTxInBlock(resp, token)
     return res
예제 #27
0
 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)
예제 #28
0
 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")
예제 #29
0
 def new_menu(self, url, prKey):
     name = "Menu_" + utils.generate_random_name()
     data = {"Name": name, "Value": "Item1", "Conditions": "true"}
     res = utils.call_contract(url, prKey, "NewMenu", data,
                               self.data1["jwtToken"])
     return funcs.get_count(url, "menu", self.data1["jwtToken"])
예제 #30
0
 def edit_menu(self, url, prKey, id):
     dataEdit = {"Id": id, "Value": "tryam", "Conditions": "true"}
     res = utils.call_contract(url, prKey, "EditMenu", dataEdit,
                               self.data1["jwtToken"])