Ejemplo n.º 1
0
def test_pipeline_snapshot_api():
    pipeline_handle = get_foo_pipeline_handle()

    external_pipeline_subset_result = sync_get_external_pipeline_subset(pipeline_handle)
    assert isinstance(external_pipeline_subset_result, ExternalPipelineSubsetResult)
    assert external_pipeline_subset_result.success == True
    assert external_pipeline_subset_result.external_pipeline_data.name == 'foo'
Ejemplo n.º 2
0
def test_pipeline_with_valid_subset_snapshot_api():
    pipeline_handle = get_foo_pipeline_handle()

    external_pipeline_subset_result = sync_get_external_pipeline_subset(
        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"
Ejemplo n.º 3
0
def test_pipeline_with_invalid_subset_snapshot_api():
    pipeline_handle = get_foo_pipeline_handle()

    external_pipeline_subset_result = sync_get_external_pipeline_subset(
        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)
Ejemplo n.º 4
0
    def get_subset_external_pipeline_result(self, selector):
        from dagster.api.snapshot_pipeline import sync_get_external_pipeline_subset

        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(pipeline_handle, selector.solid_selection)
Ejemplo n.º 5
0
def test_pipeline_with_invalid_definition_snapshot_api():
    pipeline_handle = PipelineHandle('bar', get_bar_repo_handle())

    external_pipeline_subset_result = sync_get_external_pipeline_subset(
        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,
    )