Пример #1
0
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)
Пример #2
0
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'
Пример #3
0
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'
Пример #4
0
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
    )
Пример #5
0
    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
        )
Пример #6
0
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,
    )
Пример #7
0
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
    )