Пример #1
0
def create_client(datadir):
    # executed in a subprocess
    from golem.network.stun import pystun
    pystun.get_ip_info = override_ip_info

    from golem.client import Client
    app_config = AppConfig.load_config(datadir)
    config_desc = ClientConfigDescriptor()
    config_desc.init_from_app_config(app_config)
    config_desc.key_difficulty = 0
    config_desc.use_upnp = False

    from golem.core.keysauth import KeysAuth
    with mock.patch.dict('ethereum.keys.PBKDF2_CONSTANTS', {'c': 1}):
        keys_auth = KeysAuth(
            datadir=datadir,
            private_key_name=faker.Faker().pystr(),
            password='******',
            difficulty=config_desc.key_difficulty,
        )

    database = Database(
        db, fields=DB_FIELDS, models=DB_MODELS, db_dir=datadir)

    ets = _make_mock_ets()
    return Client(datadir=datadir,
                  app_config=app_config,
                  config_desc=config_desc,
                  keys_auth=keys_auth,
                  database=database,
                  transaction_system=ets,
                  use_monitor=False,
                  connect_to_known_hosts=False,
                  use_docker_manager=False)
    def test_approve(self):
        config = ClientConfigDescriptor()
        config.num_cores = '1'
        config.computing_trust = '1'
        config.key_difficulty = '0'

        approved_config = ConfigApprover(config).approve()

        assert isinstance(approved_config.num_cores, int)
        assert approved_config.num_cores == 1

        assert isinstance(approved_config.computing_trust, float)
        assert approved_config.computing_trust == 1.0

        assert isinstance(approved_config.key_difficulty, int)
        assert approved_config.key_difficulty == KEY_DIFFICULTY