Differential D4671 Diff 23272 python_modules/dagster/dagster_tests/api_tests/test_api_snapshot_schedule_execution_data.py
Changeset View
Changeset View
Standalone View
Standalone View
python_modules/dagster/dagster_tests/api_tests/test_api_snapshot_schedule_execution_data.py
import pendulum | |||||
import pytest | import pytest | ||||
from dagster import seven | from dagster import seven | ||||
from dagster.api.snapshot_schedule import ( | from dagster.api.snapshot_schedule import ( | ||||
sync_get_external_schedule_execution_data, | sync_get_external_schedule_execution_data, | ||||
sync_get_external_schedule_execution_data_ephemeral_grpc, | sync_get_external_schedule_execution_data_ephemeral_grpc, | ||||
) | ) | ||||
from dagster.core.host_representation.external_data import ExternalScheduleExecutionData | from dagster.core.host_representation.external_data import ExternalScheduleExecutionData | ||||
from dagster.core.instance import DagsterInstance | from dagster.core.instance import DagsterInstance | ||||
from dagster.core.test_utils import instance_for_test | from dagster.core.test_utils import instance_for_test | ||||
from dagster.grpc.types import ScheduleExecutionDataMode | from dagster.grpc.types import ScheduleExecutionDataMode | ||||
from dagster.seven import get_current_datetime_in_utc | |||||
from .utils import get_bar_repo_handle | from .utils import get_bar_repo_handle | ||||
@pytest.mark.parametrize("schedule_name", ["foo_schedule", "foo_schedule_never_execute"]) | @pytest.mark.parametrize("schedule_name", ["foo_schedule", "foo_schedule_never_execute"]) | ||||
def test_external_schedule_execution_data_api_preview(schedule_name): | def test_external_schedule_execution_data_api_preview(schedule_name): | ||||
repository_handle = get_bar_repo_handle() | repository_handle = get_bar_repo_handle() | ||||
with seven.TemporaryDirectory() as temp_dir: | with seven.TemporaryDirectory() as temp_dir: | ||||
▲ Show 20 Lines • Show All 89 Lines • ▼ Show 20 Lines | with seven.TemporaryDirectory() as temp_dir: | ||||
assert execution_data.run_config == {} | assert execution_data.run_config == {} | ||||
assert execution_data.tags == {} | assert execution_data.tags == {} | ||||
assert execution_data.should_execute == False | assert execution_data.should_execute == False | ||||
def test_include_execution_time(): | def test_include_execution_time(): | ||||
repository_handle = get_bar_repo_handle() | repository_handle = get_bar_repo_handle() | ||||
execution_time = get_current_datetime_in_utc() | execution_time = pendulum.now("UTC") | ||||
with instance_for_test() as instance: | with instance_for_test() as instance: | ||||
execution_data = sync_get_external_schedule_execution_data( | execution_data = sync_get_external_schedule_execution_data( | ||||
instance, | instance, | ||||
repository_handle, | repository_handle, | ||||
"foo_schedule_echo_time", | "foo_schedule_echo_time", | ||||
ScheduleExecutionDataMode.LAUNCH_SCHEDULED_EXECUTION, | ScheduleExecutionDataMode.LAUNCH_SCHEDULED_EXECUTION, | ||||
execution_time, | execution_time, | ||||
) | ) | ||||
assert isinstance(execution_data, ExternalScheduleExecutionData) | assert isinstance(execution_data, ExternalScheduleExecutionData) | ||||
assert execution_data.run_config == {"passed_in_time": execution_time.isoformat()} | assert execution_data.run_config == {"passed_in_time": execution_time.isoformat()} | ||||
assert execution_data.tags == {"dagster/schedule_name": "foo_schedule_echo_time"} | assert execution_data.tags == {"dagster/schedule_name": "foo_schedule_echo_time"} | ||||
assert execution_data.should_execute == True | assert execution_data.should_execute == True | ||||
def test_include_execution_time_grpc(): | def test_include_execution_time_grpc(): | ||||
repository_handle = get_bar_repo_handle() | repository_handle = get_bar_repo_handle() | ||||
execution_time = get_current_datetime_in_utc() | execution_time = pendulum.now("UTC") | ||||
with instance_for_test() as instance: | with instance_for_test() as instance: | ||||
execution_data = sync_get_external_schedule_execution_data_ephemeral_grpc( | execution_data = sync_get_external_schedule_execution_data_ephemeral_grpc( | ||||
instance, | instance, | ||||
repository_handle, | repository_handle, | ||||
"foo_schedule_echo_time", | "foo_schedule_echo_time", | ||||
ScheduleExecutionDataMode.LAUNCH_SCHEDULED_EXECUTION, | ScheduleExecutionDataMode.LAUNCH_SCHEDULED_EXECUTION, | ||||
execution_time, | execution_time, | ||||
) | ) | ||||
assert isinstance(execution_data, ExternalScheduleExecutionData) | assert isinstance(execution_data, ExternalScheduleExecutionData) | ||||
assert execution_data.run_config == {"passed_in_time": execution_time.isoformat()} | assert execution_data.run_config == {"passed_in_time": execution_time.isoformat()} | ||||
assert execution_data.tags == {"dagster/schedule_name": "foo_schedule_echo_time"} | assert execution_data.tags == {"dagster/schedule_name": "foo_schedule_echo_time"} | ||||
assert execution_data.should_execute == True | assert execution_data.should_execute == True |