def _test_pipeline_subset_grpc(pipeline_handle, api_client, solid_selection=None): return sync_get_external_pipeline_subset_grpc( api_client, pipeline_handle.get_external_origin(), solid_selection=solid_selection)
def test_pipeline_with_valid_subset_snapshot_api_grpc(): pipeline_handle = get_foo_pipeline_handle() external_pipeline_subset_result = sync_get_external_pipeline_subset_grpc( pipeline_handle.get_origin(), solid_selection=["do_something"] ) assert isinstance(external_pipeline_subset_result, ExternalPipelineSubsetResult) assert external_pipeline_subset_result.success == True assert external_pipeline_subset_result.external_pipeline_data.name == 'foo'
def test_pipeline_snapshot_api_grpc(): pipeline_handle = get_foo_pipeline_handle() external_pipeline_subset_result = sync_get_external_pipeline_subset_grpc( pipeline_handle.get_origin() ) assert isinstance(external_pipeline_subset_result, ExternalPipelineSubsetResult) assert external_pipeline_subset_result.success == True assert external_pipeline_subset_result.external_pipeline_data.name == 'foo'
def test_pipeline_with_invalid_subset_snapshot_api_grpc(): pipeline_handle = get_foo_pipeline_handle() external_pipeline_subset_result = sync_get_external_pipeline_subset_grpc( pipeline_handle.get_origin(), solid_selection=["invalid_solid"] ) assert isinstance(external_pipeline_subset_result, ExternalPipelineSubsetResult) assert external_pipeline_subset_result.success == False assert ( "No qualified solids to execute found for solid_selection" in external_pipeline_subset_result.error.message )
def get_subset_external_pipeline_result(self, selector): check.inst_param(selector, "selector", PipelineSelector) check.invariant( selector.location_name == self.name, "PipelineSelector location_name mismatch, got {selector.location_name} expected {self.name}".format( self=self, selector=selector ), ) external_repository = self.external_repositories[selector.repository_name] pipeline_handle = PipelineHandle(selector.pipeline_name, external_repository.handle) return sync_get_external_pipeline_subset_grpc( self._handle.client, pipeline_handle.get_external_origin(), selector.solid_selection )
def test_pipeline_with_invalid_definition_snapshot_api_grpc(): pipeline_handle = PipelineHandle('bar', get_bar_repo_handle()) external_pipeline_subset_result = sync_get_external_pipeline_subset_grpc( pipeline_handle.get_origin(), solid_selection=["fail_subset"] ) assert isinstance(external_pipeline_subset_result, ExternalPipelineSubsetResult) assert external_pipeline_subset_result.success == False assert re.match( ( r'.*DagsterInvalidSubsetError[\s\S]*' r"The attempted subset \['fail_subset'\] for pipeline bar results in an invalid pipeline" ), external_pipeline_subset_result.error.message, ) assert re.match( ( r'.*DagsterInvalidDefinitionError[\s\S]*' r'add a dagster_type_loader for the type "InputTypeWithoutHydration"' ), external_pipeline_subset_result.error.cause.message, )
def _test_pipeline_subset_grpc(pipeline_handle, solid_selection=None): api_client = pipeline_handle.repository_handle.repository_location_handle.client return sync_get_external_pipeline_subset_grpc( api_client, pipeline_handle.get_origin(), solid_selection=solid_selection )