<reponame>mbeacom/mythril
import unittest
from mythril.ether.contractstorage import get_persistent_storage
import os


class GetAndSearchContractTestCase(unittest.TestCase):

    def mockCallback(self, code_hash, code, addresses, balances):
        self.isFound = True
        pass

    def runTest(self):

        script_path = os.path.dirname(os.path.realpath(__file__))
        storage_dir = os.path.join(script_path, 'teststorage')
        storage = get_persistent_storage(storage_dir)    

        contract = storage.get_contract_by_hash(bytes.fromhex("ea061445eacbe86b7ffed2bb9e52075e"))

        self.assertTrue("0x60606040" in contract.code,'error reading contract code from database')

        self.isFound = False

        storage.search("code#PUSH1#", self.mockCallback)

        self.assertTrue(self.isFound,'storage search error')      

import unittest
from mythril.ether.contractstorage import get_persistent_storage
import os


class GetAndSearchContractTestCase(unittest.TestCase):

    def mockCallback(self, code_hash, code, addresses, balances):
        self.isFound = True
        pass

    def runTest(self):

        script_path = os.path.dirname(os.path.realpath(__file__))
        storage_dir = os.path.join(script_path, 'teststorage')
        storage = get_persistent_storage(storage_dir)    

        contract = storage.get_contract_by_hash(bytes.fromhex("ea061445eacbe86b7ffed2bb9e52075e"))

        self.assertTrue("0x60606040" in contract.code,'error reading contract code from database')

        self.isFound = False

        storage.search("code#PUSH1#", self.mockCallback)

        self.assertTrue(self.isFound,'storage search error')
#PUSH1#", self.mockCallback)