Esempio n. 1
0
class TestClient(TestCase):
    def setUp(self):
        self.client = ContractingClient()
        self.client.flush()

    def tearDown(self):
        self.client.flush()

    def test_set_submission_updates_contract_file(self):
        submission_1_code = self.client.raw_driver.get('submission.__code__')

        self.client.flush()
        self.client.set_submission_contract(
            filename='./precompiled/updated_submission.py')

        submission_2_code = self.client.raw_driver.get('submission.__code__')

        self.assertNotEqual(submission_1_code, submission_2_code)
Esempio n. 2
0
def flush_sys_contracts(client: ContractingClient,
                        filename=DEFAULT_GENESIS_PATH,
                        submission_path=DEFAULT_SUBMISSION_PATH):

    # Resets submission contract, allows for updating
    client.set_submission_contract(filename=submission_path)

    # Iterates through genesis contract files
    with open(filename) as f:
        genesis = json.load(f)

    for contract in genesis['contracts']:
        # Get the name of each
        contract_name = contract['name']
        if contract.get('submit_as') is not None:
            contract_name = contract['submit_as']

        #
        client.raw_driver.delete_contract(contract_name)
        client.raw_driver.commit()