def test_block_chain(self): fullConfig = config.getNodeConfig() nodes = len(fullConfig) config1 = fullConfig["1"] config2 = fullConfig["2"] db1 = config1["dbName"] db2 = config2["dbName"] login1 = config1["login"] login2 = config2["login"] pas1 = config1["pass"] pas2 = config2["pass"] host1 = config1["dbHost"] host2 = config2["dbHost"] ts_count = 30 self.data1 = utils.login(config1["url"], config1['private_key'], 0) i = 1 amountsB = utils.getUserTokenAmounts(host1, db1, login1, pas1) sumAmountsBefore = sum(amount[0] for amount in amountsB) while i < ts_count: contName = self.create_contract( config1["url"], config1['private_key'], ) i = i + 1 time.sleep(1) time.sleep(120) count_contracts1 = utils.getCountDBObjects(host1, db1, login1, pas1)["contracts"] count_contracts2 = utils.getCountDBObjects(host2, db2, login2, pas2)["contracts"] amounts1 = utils.getUserTokenAmounts(host1, db1, login1, pas1) amounts2 = utils.getUserTokenAmounts(host2, db2, login2, pas2) sumAmounts = sum(amount[0] for amount in amounts1) maxBlockId1 = funcs.get_max_block_id(config1["url"], self.data1["jwtToken"]) self.data2 = utils.login(config2["url"], config1['private_key'], 0) maxBlockId2 = funcs.get_max_block_id(config2["url"], self.data2["jwtToken"]) maxBlock = max(maxBlockId2, maxBlockId1) hash1 = utils.get_blockchain_hash(host1, db1, login1, pas1, maxBlock) hash2 = utils.get_blockchain_hash(host2, db2, login2, pas2, maxBlock) node_position = utils.compare_node_positions(host1, db1, login1, pas1, maxBlock, nodes) dict1 = dict(count_contract=count_contracts1, amounts=str(amounts1), summ=str(sumAmounts), hash=str(hash1), node_pos=str(node_position)) dict2 = dict(count_contract=count_contracts2, amounts=str(amounts2), summ=str(sumAmountsBefore), hash=str(hash2), node_pos="True") msg = "Test two_nodes is faild. contracts: \n" msg += str(count_contracts1) + str(amounts1) + str(hash1) + str( node_position) + "\n" msg += str(count_contracts2) + str(amounts1) + str(hash1) + str( node_position) + "\n" msg += "Amounts summ: " + str(sumAmounts) self.assertDictEqual(dict1, dict2, msg)
def setUp(self): global url, token, prKey, pause self.config = config.getNodeConfig() url = self.config["2"]["url"] pause = self.config["1"]["time_wait_tx_in_block"] prKey = self.config["1"]['private_key'] self.data = utils.login(url, prKey, 0) token = self.data["jwtToken"]
def test_login(self): keys = config.getKeys() data1 = utils.login(url, keys["key5"], 0) time.sleep(5) conf = config.getNodeConfig() res = utils.is_wallet_created(conf["1"]["dbHost"], conf["1"]["dbName"], conf["1"]["login"], conf["1"]["pass"], data1["key_id"]) self.assertTrue(res, "Wallet for new user didn't created")
def test_compare_blocks(self): conf = config.getNodeConfig() time.sleep(30) data2 = utils.login(conf['2']['url'], conf['1']['private_key'], 0) maxBlockId2 = funcs.get_max_block_id(conf["2"]["url"], data2["jwtToken"]) data1 = utils.login(conf['1']['url'], conf['1']['private_key'], 0) res = self.get_load_time(conf["1"]["url"], data1["jwtToken"], maxBlockId2) msg = "All " + str(maxBlockId2) +\ " blocks doesn't load in time. Last loaded block is " + str(res['blocks']) self.assertLess(res['time'], 12000, msg)
def setUp(self): self.config = config.getNodeConfig() global url, prKey, token, dbHost, dbName, login, pas self.contracts = config.readFixtures("contracts") url = self.config["2"]["url"] prKey = self.config["1"]['private_key'] dbHost = self.config["1"]["dbHost"] dbName = self.config["1"]['dbName'] login = self.config["1"]["login"] pas = self.config["1"]['pass'] self.data = utils.login(url, prKey, 0) token = self.data["jwtToken"]
def test_login2(self): isOne = False keys = config.getKeys() data1 = utils.login(url, keys["key3"], 0) time.sleep(5) conf = config.getNodeConfig() res = utils.is_wallet_created(conf["1"]["dbHost"], conf["1"]["dbName"], conf["1"]["login"], conf["1"]["pass"], data1["key_id"]) if res == True: data2 = utils.login(url, keys["key1"], 0) time.sleep(5) isOne = utils.is_wallet_created(conf["1"]["dbHost"], conf["1"]["dbName"], conf["1"]["login"], conf["1"]["pass"], data2["key_id"]) self.assertTrue(isOne, "Wallet for new user didn't created")
def setUpClass(self): global config1, config2, config3, db1, db2, db3, login1, login2, login3 global pas1, pas2, pas3, host1, host2, host3 fullConfig = config.getNodeConfig() nodes = len(fullConfig) config1 = fullConfig["1"] config2 = fullConfig["2"] config3 = fullConfig["3"] db1 = config1["dbName"] db2 = config2["dbName"] db3 = config3["dbName"] login1 = config1["login"] login2 = config2["login"] login3 = config3["login"] pas1 = config1["pass"] pas2 = config2["pass"] pas3 = config3["pass"] host1 = config1["dbHost"] host2 = config2["dbHost"] host3 = config3["dbHost"]
def setUpClass(self): global conf, keys, dataCreater conf = config.getNodeConfig() keys = config.getKeys() 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)
def setUpClass(self): global conf, contract conf = config.getNodeConfig() contract = config.readFixtures("contracts")
def setUpClass(self): global conf, keys conf = config.getNodeConfig() keys = config.getKeys() self.createContracts(self)
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 if __name__ == "__main__": global dbHost, dbName, login, pas conf = config.getNodeConfig() url = conf["1"]["url"] prKey1 = conf["1"]['private_key'] prKey2 = conf["2"]['private_key'] prKey3 = conf["3"]['private_key'] dbHost = conf["1"]['dbHost'] dbName = conf["1"]['dbName'] login = conf["1"]['login'] pas = conf["1"]['pass'] data = utils.login(url, prKey1, 0) token1 = data["jwtToken"] impApp("admin", url, prKey1, token1) impApp("system_parameters", url, prKey1, token1) impApp("basic", url, prKey1, token1) impApp("platform_ecosystem", url, prKey1, token1) impApp("language_resources", url, prKey1, token1)