示例#1
0
 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
示例#2
0
 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)
示例#3
0
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
示例#4
0
 def setUp(self):
     dummy_node_version = '2.0.1'
     self.config_utils = ConfigUtils(dummy_node_version)