def test_load_config(self): config_file_uri = resource_uri("test_config.yaml") config = ConfigFactory.create_from_file(config_file_uri, "dev", validate_contract_settings=False) self.assertIsNotNone(config.eth_provider) self.assertIsNotNone(config.web3_client) self.assertIsNotNone(config.account) self.assertIsNotNone(config.analyzers) self.assertIsNotNone(config.upload_provider) self.assertIsNotNone(config.metric_collection_destination_endpoint) self.assertEqual(5, config.min_price_in_qsp) self.assertEqual(0, config.gas_price_wei) self.assertEqual(5, config.evt_polling) self.assertEqual(2, len(config.analyzers)) self.assertEqual(5, config.start_n_blocks_in_the_past) self.assertEqual(1, config.block_discard_on_restart) self.assertFalse(config.enable_police_audit_polling)
def test_initialize(self): config_file_uri = resource_uri("test_config.yaml") config = ConfigFactory.create_from_file( config_file_uri, "dev", validate_contract_settings=False) log_streaming.initialize("account", config_value(config, "/logging/streaming", {}), force=True) self.assertEqual(get_config(), {}) self.assertEqual(get_account(), "account") self.assertEqual(get_loggers(), {}) try: log_streaming.initialize("account", {}) self.fail("An exception was expected") except Exception: # expected pass
def test_inject_token_auth(self): auth_token = "abc123456" endpoint = "https://test.com/?token={0}".format(auth_token) target_env = "dev" # Sets the dictionary to be returned by a call to load_config config_file = fetch_file(resource_uri("test_config_with_auth_token.yaml")) config_yaml = load_yaml(config_file) dummy_utils = ConfigUtilsDummy({'load_config': config_yaml[target_env]}) config = ConfigFactory.create_from_file( environment=target_env, config_file_uri="some dummy uri", auth_token=auth_token, validate_contract_settings=False, config_utils=dummy_utils, ) self.assertEqual(config.auth_token, auth_token) self.assertEqual(config.eth_provider_args['endpoint_uri'], endpoint)
def fetch_config(inject_contract=False): # create config from file, the contract is not provided and will be injected separately config_file_uri = resource_uri("test_config.yaml") config = ConfigFactory.create_from_file(config_file_uri, os.getenv("QSP_ENV", default="dev"), validate_contract_settings=False) if inject_contract: contract_source_uri = "./tests/resources/QuantstampAuditMock.sol" contract_metadata_uri = "./tests/resources/QuantstampAudit-metadata.json" audit_contract_metadata = load_json(fetch_file(contract_metadata_uri)) audit_contract_name = get(audit_contract_metadata, '/contractName') addr, contract = __load_audit_contract_from_src( config.web3_client, contract_source_uri, audit_contract_name, config.account) config._Config__audit_contract_address = addr config._Config__audit_contract = contract config_utils = ConfigUtils(config.node_version) config_utils.check_configuration_settings(config) return config