def run_core_test(args: argparse.Namespace) -> None: """Run core tests.""" from rasa.test import test_core_models_in_directory, test_core, test_core_models stories = cli_utils.get_validated_path(args.stories, "stories", DEFAULT_DATA_PATH) stories = rasa.shared.data.get_test_directory(stories) output = args.out or DEFAULT_RESULTS_PATH args.errors = not args.no_errors rasa.shared.utils.io.create_directory(output) if isinstance(args.model, list) and len(args.model) == 1: args.model = args.model[0] if isinstance(args.model, str): model_path = cli_utils.get_validated_path(args.model, "model", DEFAULT_MODELS_PATH) if args.evaluate_model_directory: test_core_models_in_directory(args.model, stories, output) else: test_core( model=model_path, stories=stories, output=output, additional_arguments=vars(args), ) else: test_core_models(args.model, stories, output)
def test_core(args: argparse.Namespace) -> None: from rasa.test import test_core endpoints = get_validated_path( args.endpoints, "endpoints", DEFAULT_ENDPOINTS_PATH, True ) stories = get_validated_path(args.stories, "stories", DEFAULT_DATA_PATH) stories = data.get_core_directory(stories) output = args.out or DEFAULT_RESULTS_PATH if not os.path.exists(output): os.makedirs(output) if isinstance(args.model, list) and len(args.model) == 1: args.model = args.model[0] if isinstance(args.model, str): model_path = get_validated_path(args.model, "model", DEFAULT_MODELS_PATH) test_core( model=model_path, stories=stories, endpoints=endpoints, output=output, kwargs=vars(args), ) else: test_compare_core(args.model, stories, output)
def run_core_test(args: argparse.Namespace) -> None: """Run core tests.""" from rasa import data from rasa.test import test_core_models_in_directory, test_core, test_core_models endpoints = cli_utils.get_validated_path(args.endpoints, "endpoints", DEFAULT_ENDPOINTS_PATH, True) stories = cli_utils.get_validated_path(args.stories, "stories", DEFAULT_DATA_PATH) stories = data.get_core_directory(stories) output = args.out or DEFAULT_RESULTS_PATH io_utils.create_directory(output) if isinstance(args.model, list) and len(args.model) == 1: args.model = args.model[0] if isinstance(args.model, str): model_path = cli_utils.get_validated_path(args.model, "model", DEFAULT_MODELS_PATH) if args.evaluate_model_directory: test_core_models_in_directory(args.model, stories, output) else: test_core( model=model_path, stories=stories, endpoints=endpoints, output=output, additional_arguments=vars(args), ) else: test_core_models(args.model, stories, output)
def test_core(args: argparse.Namespace) -> None: from rasa.test import test_core endpoints = get_validated_path( args.endpoints, "endpoints", DEFAULT_ENDPOINTS_PATH, True ) stories = get_validated_path(args.stories, "stories", DEFAULT_DATA_PATH) stories = data.get_core_directory(stories) output = args.output or DEFAULT_RESULTS_PATH args.config = get_validated_path(args.config, "config", DEFAULT_CONFIG_PATH) if len(args.model) == 1: args.model = args.model[0] model_path = get_validated_path(args.model, "model", DEFAULT_MODELS_PATH) test_core( model=model_path, stories=stories, endpoints=endpoints, output=output, kwargs=vars(args), ) else: test_compare(args.model, stories, output)
def test_e2e_warning_if_no_nlu_model(monkeypatch: MonkeyPatch, trained_core_model: Text, capsys: CaptureFixture): from rasa.test import test_core # Patching is bit more complicated as we have a module `train` and function # with the same name 😬 monkeypatch.setattr(sys.modules["rasa.core.test"], "test", asyncio.coroutine(lambda *_, **__: True)) test_core(trained_core_model, additional_arguments={"e2e": True}) assert "No NLU model found. Using default" in capsys.readouterr().out
def test_core(args: argparse.Namespace, model_path: Optional[Text] = None ) -> None: from rasa.test import test_core args.model = get_validated_path(args.model, "model", DEFAULT_MODELS_PATH) args.endpoints = get_validated_path(args.endpoints, "endpoints", DEFAULT_ENDPOINTS_PATH, True) args.config = get_validated_path(args.config, "config", DEFAULT_CONFIG_PATH) args.stories = get_validated_path(args.stories, "stories", DEFAULT_DATA_PATH) args.stories = data.get_core_directory(args.stories) test_core(model_path=model_path, **vars(args))
def run_core_test(args: argparse.Namespace) -> None: """Run core tests.""" from rasa.test import test_core_models_in_directory, test_core, test_core_models stories = rasa.cli.utils.get_validated_path(args.stories, "stories", DEFAULT_DATA_PATH) if args.e2e: stories = rasa.shared.data.get_test_directory(stories) else: stories = rasa.shared.data.get_core_directory(stories) output = args.out or DEFAULT_RESULTS_PATH args.errors = not args.no_errors rasa.shared.utils.io.create_directory(output) if isinstance(args.model, list) and len(args.model) == 1: args.model = args.model[0] if args.model is None: rasa.shared.utils.cli.print_error( "No model provided. Please make sure to specify the model to test with '--model'." ) return if isinstance(args.model, str): model_path = rasa.cli.utils.get_validated_path(args.model, "model", DEFAULT_MODELS_PATH) if args.evaluate_model_directory: test_core_models_in_directory(args.model, stories, output) else: test_core( model=model_path, stories=stories, output=output, additional_arguments=vars(args), ) else: test_core_models(args.model, stories, output) rasa.shared.utils.cli.print_info( f"Failed stories written to '{os.path.join(output, FAILED_STORIES_FILE)}'" )
async def test_interpreter_passed_to_agent( monkeypatch: MonkeyPatch, trained_rasa_model: Text ): from rasa.test import test_core # Patching is bit more complicated as we have a module `train` and function # with the same name 😬 monkeypatch.setattr( sys.modules["rasa.test"], "_test_core", asyncio.coroutine(lambda *_, **__: True) ) agent_load = Mock() monkeypatch.setattr(Agent, "load", agent_load) test_core(trained_rasa_model) agent_load.assert_called_once() _, _, kwargs = agent_load.mock_calls[0] assert isinstance(kwargs["interpreter"], RasaNLUInterpreter)
async def test_e2e_warning_if_no_nlu_model( monkeypatch: MonkeyPatch, trained_core_model: Text, capsys: CaptureFixture ): from rasa.test import test_core # Patching is bit more complicated as we have a module `train` and function # with the same name 😬 monkeypatch.setattr( sys.modules["rasa.test"], "_test_core", asyncio.coroutine(lambda *_, **__: True) ) agent_load = Mock() monkeypatch.setattr(Agent, "load", agent_load) test_core(trained_core_model, additional_arguments={"e2e": True}) assert "No NLU model found. Using default" in capsys.readouterr().out agent_load.assert_called_once() _, _, kwargs = agent_load.mock_calls[0] assert isinstance(kwargs["interpreter"], RegexInterpreter)
def test_core(args: argparse.Namespace, model_path: Optional[Text] = None) -> None: from rasa.test import test_core model = get_validated_path(args.model, "model", DEFAULT_MODELS_PATH) endpoints = get_validated_path(args.endpoints, "endpoints", DEFAULT_ENDPOINTS_PATH, True) stories = get_validated_path(args.stories, "stories", DEFAULT_DATA_PATH) stories = data.get_core_directory(stories) output = args.output or DEFAULT_RESULTS_PATH args.config = get_validated_path(args.config, "config", DEFAULT_CONFIG_PATH) test_core( model=model, stories=stories, endpoints=endpoints, model_path=model_path, output=output, kwargs=vars(args), )
def test(args: argparse.Namespace): test_core(args) test_nlu(args)
def test(args: argparse.Namespace): model_path = get_validated_path(args.model, "model", DEFAULT_MODELS_PATH) unpacked_model = get_model(model_path) test_core(args, unpacked_model) test_nlu(args, unpacked_model)