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')
示例#2
0
 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')
示例#4
0
    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)
示例#6
0
    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)
示例#7
0
    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)