From 350fe6d7e1f1636a4cc2a06031bdf012ff603af5 Mon Sep 17 00:00:00 2001 From: Chris DeCarolis Date: Fri, 17 Dec 2021 15:41:26 -0500 Subject: [PATCH] Checking sensor health --- .../dagit_service/repo.py | 2 +- .../backcompat-test-suite/test_backcompat.py | 51 ++++++++++++++++++- 2 files changed, 51 insertions(+), 2 deletions(-) diff --git a/integration_tests/test_suites/backcompat-test-suite/dagit_service/repo.py b/integration_tests/test_suites/backcompat-test-suite/dagit_service/repo.py index 24dbd430fc97d..0828605e095e4 100644 --- a/integration_tests/test_suites/backcompat-test-suite/dagit_service/repo.py +++ b/integration_tests/test_suites/backcompat-test-suite/dagit_service/repo.py @@ -34,7 +34,7 @@ def basic(): the_job = basic.to_job(name="the_job") -@sensor(job=the_job, minimum_interval_seconds=1) +@sensor(job=the_job, minimum_interval_seconds=60) def the_sensor(): yield RunRequest(run_key=None, run_config={}) diff --git a/integration_tests/test_suites/backcompat-test-suite/test_backcompat.py b/integration_tests/test_suites/backcompat-test-suite/test_backcompat.py index 0c089fcb8708b..136a42d9d05ac 100644 --- a/integration_tests/test_suites/backcompat-test-suite/test_backcompat.py +++ b/integration_tests/test_suites/backcompat-test-suite/test_backcompat.py @@ -76,6 +76,47 @@ } } """ +GET_SENSOR_QUERY = """ +query SensorQuery($sensorSelector: SensorSelector!) { + sensorOrError(sensorSelector: $sensorSelector) { + __typename + ... on PythonError { + message + stack + } + ... on Sensor { + name + targets { + pipelineName + solidSelection + mode + } + minIntervalSeconds + nextTick { + timestamp + } + sensorState { + status + runs { + id + runId + } + runsCount + ticks { + id + status + timestamp + runIds + error { + message + stack + } + } + } + } + } +} +""" RUNS_QUERY = """ query PipelineRunsRootQuery { pipelineRunsOrError { @@ -230,10 +271,18 @@ def test_sensor_run(graphql_client): response = graphql_client._execute(RUNS_QUERY) runs_list = response["pipelineRunsOrError"]["results"] - graphql_client._execute( + stop_sensor_response = graphql_client._execute( STOP_SENSORS_QUERY, {"jobOriginId": start_sensor_response["startSensor"]["jobOriginId"]} ) + assert stop_sensor_response["stopSensor"]["instigationState"]["status"] == "STOPPED" + + get_sensor_response = graphql_client._execute( + GET_SENSOR_QUERY, {"sensorSelector": sensor_selector} + ) + + get_sensor_response + response = graphql_client._execute(RUNS_QUERY) runs_list = response["pipelineRunsOrError"]["results"]