def test_basic_requirements_check(self): """Test requirement_check.""" requirements = requirements_collect(BasicFunctionCore) params = {'category': 'test_cat2'} for line in requirements: check = requirement_check(params, line) self.assertFalse(check) line = "unit='MMI'" params = {'category': 'test_cat2'} msg = 'Malformed statement (logged)' self.assertFalse(requirement_check(params, line), msg)
def test_basic_requirements_check(self): """Test requirement_check.""" requirements = requirements_collect(BasicFunctionCore) params = {'category': 'test_cat2'} for line in requirements: check = requirement_check(params, line) self.assertFalse(check) line = "unit='MMI'" params = {'category': 'test_cat2'} msg = 'Malformed statement (logged)' self.assertFalse(requirement_check(params, line), msg)
def test_basic_requirements_check(self): """Basic plugin requirements check """ requirelines = requirements_collect(BasicFunctionCore) params = {'category': 'test_cat2'} for line in requirelines: check = requirement_check(params, line) assert not check line = "unit='MMI'" params = {'category': 'test_cat2'} msg = 'Malformed statement (logged)' assert not requirement_check(params, line), msg
def test_basic_requirements_check(self): """Basic plugin requirements check """ requirelines = requirements_collect(BasicFunctionCore) params = {'category': 'test_cat2'} for line in requirelines: check = requirement_check(params, line) assert not check line = "unit='MMI'" params = {'category': 'test_cat2'} msg = 'Malformed statement (logged)' assert not requirement_check(params, line), msg
def test_basic_requirements_check(self): """Basic plugin requirements check """ requirelines = requirements_collect(BasicFunction) params = {'category': 'exposure'} for line in requirelines: check = requirement_check(params, line) assert check == False line = "unit='mmi'" params = {'category': 'exposure'} msg = 'Malformed statement (logged)' assert requirement_check(params, line) == False, msg
def test_get_plugins(self): """Plugins can be collected.""" os.environ['LANG'] = 'en' plugin_list = get_plugins() self.assertGreater(len(plugin_list), 0) # Obtain string representation string_rep = admissible_plugins_to_str(plugin_list) # Check each plugin for plugin in plugin_list.values(): # Check that it's name appears in string representation title = get_function_title(plugin) message = ('Expected title %s in string representation: %s' % (title, string_rep)) assert title in string_rep, message # Check that every plugin has a requires line requirements = requirements_collect(plugin) message = 'There were no requirements in plugin %s' % plugin assert (len(requirements) > 0), message for required_string in requirements: message = 'All plugins should return True or False' assert (requirement_check( { 'category': 'hazard', 'subcategory': 'earthquake', 'layerType': 'raster' }, required_string) in [True, False]), message
def test_get_plugins(self): """Plugins can be collected.""" os.environ['LANG'] = 'en' plugin_list = get_plugins() assert(len(plugin_list) > 0) # Obtain string representation string_rep = admissible_plugins_to_str(plugin_list) # Check each plugin for plugin in plugin_list.values(): # Check that it's name appeears in string representation title = get_function_title(plugin) msg = ('Expected title %s in string representation: %s' % (title, string_rep)) assert title in string_rep, msg # Check that every plugin has a requires line requirements = requirements_collect(plugin) msg = 'There were no requirements in plugin %s' % plugin assert(len(requirements) > 0), msg for req_str in requirements: msg = 'All plugins should return True or False' assert(requirement_check({'category': 'hazard', 'subcategory': 'earthquake', 'layerType': 'raster'}, req_str) in [True, False]), msg
def test_requirements_check(self): """Plugins are correctly filtered based on requirements.""" plugin_list = get_plugins('BasicFunction') self.assertEqual(len(plugin_list), 1) requirements = requirements_collect(plugin_list[0].values()[0]) message = 'Requirements are %s' % requirements assert (len(requirements) == 1), message for req_str in requirements: message = 'Should eval to True' assert (requirement_check({'category': 'hazard'}, req_str) is True), message message = 'Should eval to False' assert (requirement_check({'broke': 'broke'}, req_str) is False), message try: plugin_list = get_plugins('NotRegistered') except RuntimeError: pass else: message = 'Search should fail' raise Exception(message)
def test_requirements_check(self): """Plugins are correctly filtered based on requirements.""" plugin_list = get_plugins('BasicFunction') self.assertEqual(len(plugin_list), 1) requirements = requirements_collect(plugin_list[0].values()[0]) message = 'Requirements are %s' % requirements assert(len(requirements) == 1), message for req_str in requirements: message = 'Should eval to True' assert(requirement_check({'category': 'hazard'}, req_str) is True), message message = 'Should eval to False' assert(requirement_check({'broke': 'broke'}, req_str) is False), message try: plugin_list = get_plugins('NotRegistered') except RuntimeError: pass else: message = 'Search should fail' raise Exception(message)
def test_keywords_error(self): """Handling of reserved python keywords """ line = "unit=='MMI'" params = {'class': 'myclass'} msg = 'Reserved keyword in statement (logged)' self.assertFalse(requirement_check(params, line), msg)
def test_keywords_error(self): """Handling of reserved python keywords """ line = "unit=='MMI'" params = {'class': 'myclass'} msg = 'Reserved keyword in statement (logged)' assert not requirement_check(params, line), msg