示例#1
0
def test_create_app_with_active_repo_data():
    handle = ExecutionTargetHandle.for_repo_yaml(
        file_relative_path(__file__, './repository.yaml'))
    active_repository_data = active_repository_data_from_def(
        handle.build_repository_definition())
    assert create_app_with_active_repository_data(active_repository_data,
                                                  DagsterInstance.ephemeral())
示例#2
0
def mock_snapshot_provider(image, command, volumes):
    active_repo_data = active_repository_data_from_def(noop_repo())
    with open(
            os.path.abspath(
                os.path.join(list(volumes.keys())[0], 'asuperuniqueid.json')),
            'w+') as fp:
        fp.write(serialize_dagster_namedtuple(active_repo_data))
示例#3
0
文件: setup.py 项目: bbbbbgit/dagster
def define_test_snapshot_context():
    return DagsterGraphQLOutOfProcessRepositoryContext(
        instance=DagsterInstance.ephemeral(),
        execution_manager=SynchronousExecutionManager(),
        active_repository_data=active_repository_data_from_def(
            define_repository()),
    )
示例#4
0
def test_create_app_with_active_repo_data():
    recon_repo = ReconstructableRepository.from_yaml(
        file_relative_path(__file__, './repository.yaml')
    )
    active_repository_data = active_repository_data_from_def(recon_repo.get_definition())
    assert create_app_with_active_repository_data(
        active_repository_data, DagsterInstance.ephemeral()
    )
示例#5
0
def snapshot_command(output_file, **kwargs):
    handle = handle_for_repo_cli_args(kwargs)

    # add the path for the cwd so imports in dynamically loaded code work correctly
    sys.path.append(os.getcwd())

    definition = handle.entrypoint.perform_load()
    active_repo_data = active_repository_data_from_def(definition)
    with open(os.path.abspath(output_file), 'w+') as fp:
        fp.write(serialize_dagster_namedtuple(active_repo_data))
示例#6
0
 def __init__(self, recon_repo, execution_manager, instance, reloader=None, version=None):
     super(DagsterGraphQLInProcessRepositoryContext, self).__init__(
         active_repository_data=active_repository_data_from_def(recon_repo.get_definition()),
         instance=instance,
     )
     self._recon_repo = check.inst_param(recon_repo, 'recon_repo', ReconstructableRepository)
     self.reloader = check.opt_inst_param(reloader, 'reloader', Reloader)
     self.execution_manager = check.inst_param(
         execution_manager, 'pipeline_execution_manager', PipelineExecutionManager
     )
     self.version = version
示例#7
0
def test_container_snapshot_provider(mocker):

    execute_container_mock = mocker.patch(
        'dagster.core.definitions.container.run_serialized_container_command',
        return_value=[mock_active_repository_data()],
    )
    active_repository_data = get_active_repository_data_from_image(
        "foo:latest")
    execute_container_mock.assert_called_with(
        image="foo:latest",
        command='dagster api snapshot repository',
        volumes=mocker.ANY,
    )
    assert active_repository_data == active_repository_data_from_def(
        noop_repo())
示例#8
0
def test_container_snapshot_provider(mocker):
    mocker.patch('dagster.core.definitions.container.uuid4',
                 return_value='asuperuniqueid')

    execute_container_mock = mocker.patch(
        'dagster.core.definitions.container.run_serialized_container_command',
        side_effect=mock_snapshot_provider,
    )
    active_repository_data = get_active_repository_data_from_image(
        "foo:latest")
    execute_container_mock.assert_called_with(
        image="foo:latest",
        command='dagster repository snapshot {}'.format(
            os.path.join('/data', 'asuperuniqueid.json')),
        volumes=mocker.ANY,
    )
    assert active_repository_data == active_repository_data_from_def(
        noop_repo())
示例#9
0
 def __init__(self,
              handle,
              execution_manager,
              instance,
              reloader=None,
              version=None):
     self.repository_definition = handle.build_repository_definition()
     super(DagsterGraphQLInProcessRepositoryContext, self).__init__(
         active_repository_data=active_repository_data_from_def(
             self.repository_definition),
         instance=instance,
     )
     self._handle = check.inst_param(handle, 'handle',
                                     ExecutionTargetHandle)
     self.reloader = check.opt_inst_param(reloader, 'reloader', Reloader)
     self.execution_manager = check.inst_param(
         execution_manager, 'pipeline_execution_manager',
         PipelineExecutionManager)
     self.version = version
     self._cached_pipelines = {}
示例#10
0
def test_repository_snap_all_props():
    @solid
    def noop_solid(_):
        pass

    @pipeline
    def noop_pipeline():
        noop_solid()

    repo = RepositoryDefinition(name='noop_repo',
                                pipeline_defs=[noop_pipeline])
    active_repo_data = active_repository_data_from_def(repo)

    assert active_repo_data.name == 'noop_repo'
    assert len(active_repo_data.active_pipeline_datas) == 1
    assert isinstance(active_repo_data.active_pipeline_datas[0],
                      ActivePipelineData)

    pipeline_snapshot = active_repo_data.active_pipeline_datas[
        0].pipeline_snapshot
    assert isinstance(pipeline_snapshot, PipelineSnapshot)
    assert pipeline_snapshot.name == 'noop_pipeline'
    assert pipeline_snapshot.description is None
    assert pipeline_snapshot.tags == {}
示例#11
0
def test_active_repository_data(snapshot):
    rep_def = RepositoryDefinition(name='repo', pipeline_defs=[a_pipeline])
    snapshot.assert_match(serialize_pp(active_repository_data_from_def(rep_def)))
示例#12
0
def repository_snapshot_command(**kwargs):
    handle = handle_for_repo_cli_args(kwargs)
    definition = handle.entrypoint.perform_load()

    active_data = active_repository_data_from_def(definition)
    click.echo(serialize_dagster_namedtuple(active_data))
示例#13
0
def mock_active_repository_data():
    active_repo_data = active_repository_data_from_def(noop_repo())
    return serialize_dagster_namedtuple(active_repo_data)
示例#14
0
def test_repository_snap_empty():
    repo = RepositoryDefinition(name='empty_repo', pipeline_defs=[])
    active_repo_data = active_repository_data_from_def(repo)
    assert active_repo_data.name == 'empty_repo'
    assert len(active_repo_data.active_pipeline_datas) == 0
示例#15
0
def repository_snapshot_command(**kwargs):
    recon_repo = recon_repo_for_cli_args(kwargs)
    definition = recon_repo.get_definition()

    active_data = active_repository_data_from_def(definition)
    click.echo(serialize_dagster_namedtuple(active_data))