def test_configuration_checks(self): """ Tests configuration sanity checks. Since this test requires loading the QuantstampAuditData contract, it is better here than test_config.py. """ config = self.__audit_node.config config_utils = ConfigUtils(config.node_version) try: temp = config.submission_timeout_limit_blocks config._Config__submission_timeout_limit_blocks = 2 config_utils.check_configuration_settings(config) self.fail("Configuration error should have been raised.") except ConfigurationException: config._Config__submission_timeout_limit_blocks = temp try: temp = config.submission_timeout_limit_blocks config._Config__submission_timeout_limit_blocks = 123 config_utils.check_configuration_settings(config) self.fail("Configuration error should have been raised.") except ConfigurationException: config._Config__submission_timeout_limit_blocks = temp for i in range(0, len(self.__audit_node.config.analyzers)): try: temp = self.__audit_node.config.analyzers[ i].wrapper._Wrapper__timeout_sec self.__audit_node.config.analyzers[ i].wrapper._Wrapper__timeout_sec = 123456 config_utils.check_configuration_settings(config) self.fail("Configuration error should have been raised.") except ConfigurationException: self.__audit_node.config.analyzers[ i].wrapper._Wrapper__timeout_sec = temp
def test_resolve_version(self, method_call_mock): config_utils = ConfigUtils('10.0.1') version = config_utils.resolve_version('a-{major-version}-b') self.assertEqual(version, "a-10-b") version = config_utils.resolve_version('a-b') self.assertEqual(version, "a-b") version = config_utils.resolve_version(None) self.assertEqual(version, None)
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
def setUp(self): dummy_node_version = '2.0.1' self.config_utils = ConfigUtils(dummy_node_version)