def test_query_flow_runs_does_not_use_submitting_flow_runs_directly( monkeypatch, runner_token, caplog, cloud_api ): gql_return = MagicMock( return_value=MagicMock( data=MagicMock( get_runs_in_queue=MagicMock(flow_run_ids=["already-submitted-id"]), flow_run=[{"id": "id"}], ) ) ) client = MagicMock() client.return_value.graphql = gql_return monkeypatch.setattr("prefect.agent.agent.Client", client) agent = Agent() agent.logger.setLevel(logging.DEBUG) copy_mock = MagicMock(return_value=set(["already-submitted-id"])) agent.submitting_flow_runs = MagicMock(copy=copy_mock) flow_runs = agent.query_flow_runs() assert flow_runs == [] assert "1 already submitting: ['already-submitted-id']" in caplog.text copy_mock.assert_called_once_with()
def test_get_ready_flow_runs_copies_submitting_flow_runs( monkeypatch, caplog, cloud_api): Client = MagicMock() Client().graphql.return_value.data.get_runs_in_queue.flow_run_ids = [ "already-submitted-id" ] monkeypatch.setattr("prefect.agent.agent.Client", Client) agent = Agent() agent.logger.setLevel(logging.DEBUG) agent.submitting_flow_runs = MagicMock() agent.submitting_flow_runs.copy.return_value = {"already-submitted-id"} flow_runs = agent._get_ready_flow_runs() assert flow_runs == set() assert "1 already being submitted: ['already-submitted-id']" in caplog.text agent.submitting_flow_runs.copy.assert_called_once_with()