def __init__(self, repository_location_handle): self._handle = check.inst_param( repository_location_handle, 'repository_location_handle', PythonEnvRepositoryLocationHandle, ) self.external_repositories = { er.name: er for er in sync_get_external_repositories(self._handle) }
def test_external_repositories_api(): repository_location_handle = get_bar_repo_repository_location_handle() external_repos = sync_get_external_repositories(repository_location_handle) assert len(external_repos) == 1 external_repository = external_repos[0] assert isinstance(external_repository, ExternalRepository) assert external_repository.name == "bar_repo"
def test_multi_file_override_workspace(): workspace = load_workspace_from_yaml_paths([ file_relative_path(__file__, 'multi_location.yaml'), file_relative_path(__file__, 'override_location.yaml'), ]) assert isinstance(workspace, Workspace) assert len(workspace.repository_location_handles) == 2 assert workspace.has_repository_location_handle('loaded_from_file') assert workspace.has_repository_location_handle('loaded_from_module') # Ensure location `loaded_from_file` has been overridden external_repositories = sync_get_external_repositories( workspace.get_repository_location_handle('loaded_from_file')) assert len(external_repositories) == 1 assert external_repositories[0].name == "extra_repository"
def test_giant_external_repository(): repository_location_handle = RepositoryLocationHandle.create_python_env_location( loadable_target_origin=LoadableTargetOrigin( executable_path=sys.executable, module_name="dagster_tests.api_tests.test_api_snapshot_repository", attribute="giant_repo", ), location_name="giant_repo_location", ) external_repos = sync_get_external_repositories(repository_location_handle) assert len(external_repos) == 1 external_repository = external_repos[0] assert isinstance(external_repository, ExternalRepository) assert external_repository.name == "giant_repo"
def test_multi_file_override_workspace(python_user_process_api): with load_workspace_from_yaml_paths( [ file_relative_path(__file__, "multi_location.yaml"), file_relative_path(__file__, "override_location.yaml"), ], python_user_process_api, ) as workspace: assert isinstance(workspace, Workspace) assert len(workspace.repository_location_handles) == 2 assert workspace.has_repository_location_handle("loaded_from_file") assert workspace.has_repository_location_handle("loaded_from_module") # Ensure location `loaded_from_file` has been overridden external_repositories = sync_get_external_repositories( workspace.get_repository_location_handle("loaded_from_file")) assert len(external_repositories) == 1 assert external_repositories[0].name == "extra_repository"