예제 #1
0
def monitoring_service_mock() -> Generator[MonitoringService, None, None]:
    web3_mock = Web3Mock()

    mock_udc = Mock(address=bytes([8] * 20))
    mock_udc.functions.effectiveBalance.return_value.call.return_value = 10000
    mock_udc.functions.token.return_value.call.return_value = to_checksum_address(
        bytes([7] * 20))
    ms = MonitoringService(
        web3=web3_mock,
        private_key=PrivateKey(
            decode_hex(
                "3a1076bf45ab87712ad64ccb3b10217737f7faacbf2872e88fdd9a537d8fe266"
            )),
        db_filename=":memory:",
        contracts={
            CONTRACT_TOKEN_NETWORK_REGISTRY: Mock(address=bytes([9] * 20)),
            CONTRACT_USER_DEPOSIT: mock_udc,
            CONTRACT_MONITORING_SERVICE: Mock(address=bytes([1] * 20)),
            CONTRACT_SERVICE_REGISTRY: Mock(address=bytes([2] * 20)),
        },
        sync_start_block=BlockNumber(0),
        required_confirmations=BlockTimeout(0),
        poll_interval=0,
    )

    yield ms
예제 #2
0
def provider_mock(monkeypatch):
    provider_mock = Mock()
    monkeypatch.setattr("raiden_libs.cli.HTTPProvider", provider_mock)
    web3_mock = Web3Mock()
    web3_mock.provider = provider_mock
    web3_mock.return_value.eth.contract = lambda address, **kwargs: Mock(address=address)
    monkeypatch.setattr("raiden_libs.cli.Web3", web3_mock)
    return provider_mock
예제 #3
0
def context(ms_database: Database):
    return Context(
        ms_state=ms_database.load_state(),
        database=ms_database,
        web3=Web3Mock(),
        monitoring_service_contract=Mock(),
        user_deposit_contract=Mock(),
        min_reward=1,
        required_confirmations=1,
    )
예제 #4
0
def mock_connect_to_blockchain(monkeypatch):
    web3_mock = Web3Mock()
    web3_mock.eth.generateGasPrice.return_value = int(1e9)
    connect_mock = Mock(return_value=(web3_mock, MagicMock(), 0))
    monkeypatch.setattr("raiden_libs.cli.connect_to_blockchain", connect_mock)