def test_journal_transaction_dump(self): # Test that transactions dump the correct info minfo = {'__SIGNATURE__': 'Test', '__NONCE__': time.time(), 'Dependencies': []} time.sleep(.05) transaction = Transaction(minfo) tDic = transaction.dump() self.assertLess(tDic["Nonce"], time.time()) self.assertEquals(tDic["Dependencies"], []) self.assertEquals(tDic["TransactionType"], '/Transaction')
def test_journal_transaction_dump(self): # Test that transactions dump the correct info now = time.time() minfo = {'__SIGNATURE__': 'Test', '__NONCE__': now, 'Dependencies': []} transaction = Transaction(minfo) time.sleep(0.5) t_dict = transaction.dump() new = time.time() self.assertLess(t_dict["Nonce"], new) self.assertEqual(t_dict["Dependencies"], []) self.assertEqual(t_dict["TransactionType"], '/Transaction')
def test_journal_transaction_dump(self): # Test that transactions dump the correct info now = time.time() minfo = {'__SIGNATURE__': 'Test', '__NONCE__': now, 'Dependencies': []} transaction = Transaction(minfo) time.sleep(0.5) t_dict = transaction.dump() new = time.time() self.assertLess(t_dict["Nonce"], new) self.assertEquals(t_dict["Dependencies"], []) self.assertEquals(t_dict["TransactionType"], '/Transaction')
def test_web_api_transaction(self): # Test _handletxnrequest local_node = self._create_node(8802) gossip = Gossip(local_node) path = tempfile.mkdtemp() # Setup ledger and RootPage ledger = Journal(gossip, data_directory=path, genesis_ledger=True) validator = TestValidator(ledger) transaction_page = TransactionPage(validator) # TransactionBlock to the ledger txns = [] i = 0 while i < 10: txn = Transaction() txn.sign_from_node(local_node) txns += [txn.Identifier] ledger.TransactionStore[txn.Identifier] = txn i += 1 trans_block = self._create_tblock(local_node, 0, common.NullIdentifier, txns) ledger.BlockStore[trans_block.Identifier] = trans_block ledger.handle_advance(trans_block) # GET /transaction request = self._create_get_request("/transaction/", {}) r = transaction_page.do_get(request) print request.path, r r = r[1:-1].replace('"', "") r = r.replace(" ", "").split(",") self.assertEquals(r, txns) # GET /transaction?blockcount=1 request = self._create_get_request("/transaction", {"blockcount": [1]}) r = transaction_page.do_get(request) r = r[1:-1].replace('"', "") r = r.replace(" ", "").split(",") self.assertEquals(r, txns) # Returns None if testing # GET /transaction/{TransactionID} request = self._create_get_request("/transaction/" + txns[1], {}) txn = ledger.TransactionStore[txns[1]] tinfo = txn.dump() tinfo['Identifier'] = txn.Identifier tinfo['Status'] = txn.Status if txn.Status == tStatus.committed: tinfo['InBlock'] = txn.InBlock self.assertEquals(yaml.load(transaction_page.do_get(request)), tinfo) # GET /transaction/{TransactionID{}/InBlock request = self._create_get_request("/transaction/" + txns[1] + "/InBlock", {}) self.assertEquals(transaction_page.do_get(request).replace('"', ""), txn.InBlock)
def test_web_api_transaction(self): # Test _handletxnrequest LocalNode = self._create_node(8802) path = tempfile.mkdtemp() # Setup ledger and RootPage ledger = Journal(LocalNode, DataDirectory=path, GenesisLedger=True) validator = TestValidator(ledger) root = RootPage(validator) # TransactionBlock to the ledger txns = [] i = 0 while i < 10: txn = Transaction() txn.sign_from_node(LocalNode) txns += [txn.Identifier] ledger.TransactionStore[txn.Identifier] = txn i += 1 transBlock = self._create_tblock(LocalNode, 0, common.NullIdentifier, txns) ledger.BlockStore[transBlock.Identifier] = transBlock ledger.handle_advance(transBlock) request = self._create_get_request("/transaction", {}) # GET /transaction request = self._create_get_request("/transaction", {}) r = root.do_get(request) r = r[1:-1].replace('"', "") r = r.replace(" ", "").split(",") self.assertEquals(r, txns) # GET /transaction?blockcount=1 request = self._create_get_request("/transaction", {"blockcount": [1]}) r = root.do_get(request) r = r[1:-1].replace('"', "") r = r.replace(" ", "").split(",") self.assertEquals(r, txns) # Returns None if testing # GET /transaction/{TransactionID} request = self._create_get_request("/transaction/" + txns[1], {}) txn = ledger.TransactionStore[txns[1]] tinfo = txn.dump() tinfo['Identifier'] = txn.Identifier tinfo['Status'] = txn.Status if txn.Status == tStatus.committed: tinfo['InBlock'] = txn.InBlock self.assertEquals(yaml.load(root.do_get(request)), tinfo) # GET /transaction/{TransactionID{}/InBlock request = self._create_get_request("/transaction/" + txns[1] + "/InBlock", {}) self.assertEquals(root.do_get(request).replace('"', ""), txn.InBlock)
def test_web_api_transaction(self): validator = self._create_validator() gossip = validator.gossip journal = validator.journal transaction_page = TransactionPage(validator) # TransactionBlock to the journal txns = [] i = 0 while i < 10: txn = Transaction() txn.sign_from_node(gossip.LocalNode) txns += [txn.Identifier] journal.transaction_store[txn.Identifier] = txn i += 1 trans_block = self._create_tblock(gossip.LocalNode, 0, common.NullIdentifier, txns) journal.block_store[trans_block.Identifier] = trans_block journal.handle_advance(trans_block) # GET /transaction request = self._create_get_request("/transaction/", {}) r = transaction_page.do_get(request) print request.path, r r = r[1:-1].replace('"', "") r = r.replace(" ", "").split(",") self.assertEquals(r, txns) # GET /transaction?blockcount=1 request = self._create_get_request("/transaction", {"blockcount": [1]}) r = transaction_page.do_get(request) r = r[1:-1].replace('"', "") r = r.replace(" ", "").split(",") self.assertEquals(r, txns) # Returns None if testing # GET /transaction/{TransactionID} request = self._create_get_request("/transaction/" + txns[1], {}) txn = journal.transaction_store[txns[1]] tinfo = txn.dump() tinfo['Identifier'] = txn.Identifier tinfo['Status'] = txn.Status if txn.Status == tStatus.committed: tinfo['InBlock'] = txn.InBlock self.assertEquals(yaml.load(transaction_page.do_get(request)), tinfo) # GET /transaction/{TransactionID{}/InBlock request = self._create_get_request("/transaction/" + txns[1] + "/InBlock", {}) self.assertEquals(transaction_page.do_get(request).replace('"', ""), txn.InBlock)
def test_web_api_transaction(self): validator = self._create_validator() gossip = validator.gossip journal = validator.journal transaction_page = TransactionPage(validator) # TransactionBlock to the journal txns = [] i = 0 while i < 10: txn = Transaction() txn.sign_from_node(gossip.LocalNode) txns += [txn.Identifier] journal.transaction_store[txn.Identifier] = txn i += 1 trans_block = self._create_tblock(gossip.LocalNode, 0, common.NullIdentifier, txns) journal.block_store[trans_block.Identifier] = trans_block journal.handle_advance(trans_block) # GET /transaction request = self._create_get_request("/transaction/", {}) r = transaction_page.do_get(request) print request.path, r r = r[1:-1].replace('"', "") r = r.replace(" ", "").split(",") self.assertEquals(r, txns) # GET /transaction?blockcount=1 request = self._create_get_request("/transaction", {"blockcount": [1]}) r = transaction_page.do_get(request) r = r[1:-1].replace('"', "") r = r.replace(" ", "").split(",") self.assertEquals(r, txns) # Returns None if testing # GET /transaction/{TransactionID} request = self._create_get_request("/transaction/" + txns[1], {}) txn = journal.transaction_store[txns[1]] tinfo = txn.dump() tinfo['Identifier'] = txn.Identifier tinfo['Status'] = txn.Status if txn.Status == tStatus.committed: tinfo['InBlock'] = txn.InBlock self.assertEquals(yaml.load(transaction_page.do_get(request)), tinfo) # GET /transaction/{TransactionID{}/InBlock request = self._create_get_request( "/transaction/" + txns[1] + "/InBlock", {}) self.assertEquals( transaction_page.do_get(request).replace('"', ""), txn.InBlock)