def __init__( self, name: str, skill_context: SkillContext, configuration: Optional[SkillComponentConfiguration] = None, **kwargs, ): """ Initialize a skill component. :param name: the name of the component. :param configuration: the configuration for the component. :param skill_context: the skill context. """ if name is None: raise ValueError("SkillComponent name is not provided.") if skill_context is None: raise ValueError("SkillConext is not provided") if configuration is None: class_name = type(self).__name__ configuration = SkillComponentConfiguration(class_name=class_name, **kwargs) self._configuration = configuration self._name = name self._context = skill_context if len(kwargs) != 0: self.context.logger.warning( "The kwargs={} passed to {} have not been set!".format(kwargs, name) )
def test_model_parse_module_missing_class(): """Test Model.parse_module when a class is missing.""" skill_context = SkillContext(skill=MagicMock( skill_id=PublicId.from_str("author/name:0.1.0"))) dummy_models_path = Path(ROOT_DIR, "tests", "data", "dummy_skill") with unittest.mock.patch.object(aea.skills.base._default_logger, "warning") as mock_logger_warning: models_by_id = Model.parse_module( dummy_models_path, { "dummy_model": SkillComponentConfiguration("DummyModel"), "unknown_model": SkillComponentConfiguration("UnknownModel"), }, skill_context, ) mock_logger_warning.assert_called_with( "Model 'UnknownModel' cannot be found.") assert "dummy_model" in models_by_id
def test_handler_parse_module_missing_class(): """Test Handler.parse_module when a class is missing.""" skill_context = SkillContext(skill=MagicMock( skill_id=PublicId.from_str("author/name:0.1.0"))) dummy_handlers_path = Path(ROOT_DIR, "tests", "data", "dummy_skill", "handlers.py") with unittest.mock.patch.object(aea.skills.base._default_logger, "warning") as mock_logger_warning: behaviours_by_id = Handler.parse_module( dummy_handlers_path, { "dummy_handler": SkillComponentConfiguration("DummyHandler"), "unknown_handelr": SkillComponentConfiguration("UnknownHandler"), }, skill_context, ) mock_logger_warning.assert_called_with( "Handler 'UnknownHandler' cannot be found.") assert "dummy_handler" in behaviours_by_id