def test_get_transaction_after_metadata(self): bytedata_set = os.urandom(10) tx_id = bitcoinx.hash_to_hex_str(bitcoinx.double_sha256(bytedata_set)) metadata_set = TxData(height=1, fee=2, position=None, timestamp=None) self.store.add(tx_id, metadata_set, bytedata_set) cache = TxCache(self.store) metadata_get = cache.get_metadata(tx_id) self.assertIsNotNone(metadata_get) cached_entry_1 = cache.get_cached_entry(tx_id) self.assertTrue(cached_entry_1.is_metadata_cached()) self.assertFalse(cached_entry_1.is_bytedata_cached()) entry = cache.get_entry(tx_id) self.assertTrue(entry.is_metadata_cached()) self.assertTrue(entry.is_bytedata_cached()) cached_entry_2 = cache.get_cached_entry(tx_id) self.assertEqual(entry, cached_entry_2)
def test_get_metadata(self): # Verify that getting a non-cached stored entry's metadata will only load the metadata. bytedata_set = os.urandom(10) tx_id = bitcoinx.hash_to_hex_str(bitcoinx.double_sha256(bytedata_set)) metadata_set = TxData(height=1, fee=2, position=None, timestamp=None) self.store.add(tx_id, metadata_set, bytedata_set) cache = TxCache(self.store) metadata_get = cache.get_metadata(tx_id) self.assertEqual(metadata_set.height, metadata_get.height) self.assertEqual(metadata_set.fee, metadata_get.fee) self.assertEqual(metadata_set.position, metadata_get.position) self.assertEqual(metadata_set.timestamp, metadata_get.timestamp) entry = cache.get_cached_entry(tx_id) self.assertTrue(entry.is_metadata_cached()) self.assertFalse(entry.is_bytedata_cached())