code: 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()
  
file_path: rasa/tests/graph_components/providers/test_domain_provider.py
imports: from typing import Text
  import pytest
  from rasa.engine.graph import ExecutionContext
  from rasa.engine.storage.resource import Resource
  from rasa.engine.storage.storage import ModelStorage
  from rasa.graph_components.providers.domain_provider import DomainProvider
  from rasa.shared.core.domain import Domain
  from rasa.shared.exceptions import InvalidConfigException
  from rasa.shared.importers.importer import TrainingDataImporter
label_desc: Use image node_id 1 for calling a global function with example usage: test_domain_provider_provides_and_persists_domain(default_model_storage, default_execution_context, config_path, domain_path, domain) without return types