From fac741742a2b1d63871dfe692a967953f7ffa9d3 Mon Sep 17 00:00:00 2001 From: Ian Roddis Date: Thu, 16 Sep 2021 11:03:47 -0300 Subject: [PATCH] Adding check for non-existent dagid --- daggy/src/loggers/dag_run/OStreamLogger.cpp | 3 +++ tests/unit_server.cpp | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/daggy/src/loggers/dag_run/OStreamLogger.cpp b/daggy/src/loggers/dag_run/OStreamLogger.cpp index 3700404..fa70239 100644 --- a/daggy/src/loggers/dag_run/OStreamLogger.cpp +++ b/daggy/src/loggers/dag_run/OStreamLogger.cpp @@ -111,6 +111,9 @@ namespace daggy { } DAGRunRecord OStreamLogger::getDAGRun(DAGRunID dagRunID) { + if (dagRunID >= dagRuns_.size()) { + throw std::runtime_error("No such DAGRun ID"); + } std::lock_guard lock(guard_); return dagRuns_[dagRunID]; } diff --git a/tests/unit_server.cpp b/tests/unit_server.cpp index cfae715..ff70a68 100644 --- a/tests/unit_server.cpp +++ b/tests/unit_server.cpp @@ -71,6 +71,11 @@ TEST_CASE("rest_endpoint", "[server_basic]") { REQUIRE(response.code() == Pistache::Http::Code::Ok); } + SECTION ("Querying a non-existent dagrunid should fail ") { + auto response = REQUEST(baseURL + "/v1/dagrun/100"); + REQUIRE(response.code() != Pistache::Http::Code::Ok); + } + SECTION("Simple DAGRun Submission") { std::string dagRun = R"({ "name": "unit_server",