def test_domain_provider_provides_and_persists_domain( default_model_storage: ModelStorage, default_execution_context: ExecutionContext, config_path: Text, domain_path: Text, domain: Domain, ): resource = Resource("xy") component = DomainProvider.create( DomainProvider.get_default_config(), default_model_storage, resource, default_execution_context, ) assert isinstance(component, DomainProvider) importer = TrainingDataImporter.load_from_config(config_path, domain_path) training_domain = component.provide_train(importer) assert isinstance(training_domain, Domain) assert domain.fingerprint() == training_domain.fingerprint() with default_model_storage.read_from(resource) as d: match = list(d.glob("**/domain.yml")) assert len(match) == 1 assert match[0].is_file() assert domain.fingerprint() == Domain.from_path(match[0]).fingerprint() component_2 = DomainProvider.load( {}, default_model_storage, resource, default_execution_context ) inference_domain = component_2.provide_inference() assert isinstance(inference_domain, Domain) assert domain.fingerprint() == inference_domain.fingerprint()
def _get_fingerprint_of_domain_without_responses(domain: Domain) -> Text: """Returns a fingerprint of a version of the given domain without responses. Args: domain: a domain Returns: fingerprint """ domain = copy.copy(domain) domain.responses = {} return domain.fingerprint()