Re-patching LocalContractRegistry.read in a finally block. Fixes #1346.

pull/2712/head
jMyles 2019-09-18 11:59:30 -07:00
parent ce86d7dd0f
commit 0cdcc523b7
1 changed files with 10 additions and 1 deletions

View File

@ -2,6 +2,8 @@ import os
from unittest import mock
import pytest_twisted
from nucypher.blockchain.eth.registry import LocalContractRegistry
from nucypher.cli.actions import SUCCESSFUL_DESTRUCTION
from twisted.internet import threads
from twisted.internet.task import Clock
@ -55,8 +57,15 @@ def test_run_felix(click_runner, testerchain, agency_local_registry, deploy_user
'--config-root', MOCK_CUSTOM_INSTALLATION_PATH_2,
'--network', TEMPORARY_DOMAIN,
'--provider', TEST_PROVIDER_URI)
_original_read_function = LocalContractRegistry.read
result = click_runner.invoke(nucypher_cli, init_args, catch_exceptions=False, env=envvars)
try:
# Mock live contract registry reads
LocalContractRegistry.read = lambda *a, **kw: test_registry.read()
result = click_runner.invoke(nucypher_cli, init_args, catch_exceptions=False, env=envvars)
finally:
# Restore original read function.
LocalContractRegistry.read = _original_read_function
assert result.exit_code == 0
configuration_file_location = os.path.join(MOCK_CUSTOM_INSTALLATION_PATH_2, FelixConfiguration.generate_filename())