diff --git a/ydb/library/yql/providers/dq/actors/actors_ut.cpp b/ydb/library/yql/providers/dq/actors/actors_ut.cpp index 166231e1c9ea..cee11f6aa977 100644 --- a/ydb/library/yql/providers/dq/actors/actors_ut.cpp +++ b/ydb/library/yql/providers/dq/actors/actors_ut.cpp @@ -12,13 +12,13 @@ using namespace NYql::NDqs; Y_UNIT_TEST_SUITE(ResultReceiver) { -auto ResultReceiver() { +auto ResultReceiver(TActorId executerId = {}) { TDqConfiguration::TPtr settings = new TDqConfiguration(); auto receiver = MakeResultReceiver( {}, // columns, - TActorId{}, // executerId + executerId, "traceId", - settings, // settings + settings, {}, // secureParams "", // resultType ? {}, // graphExecutionEventsId ? @@ -37,5 +37,17 @@ Y_UNIT_TEST(ReceiveStatus) { runtime.Send(new IEventHandle(receiverId, sender, new TEvReadyState(), 0, true)); } +Y_UNIT_TEST(ReceiveError) { + TTestActorRuntimeBase runtime; + runtime.Initialize(); + + auto executerId = runtime.AllocateEdgeActor(); + auto receiverId = runtime.Register(ResultReceiver(executerId).Release()); + runtime.Send(new IEventHandle(receiverId, {}, new NActors::TEvents::TEvUndelivered(0,0), 0, true)); + + auto response = runtime.GrabEdgeEvent(); + UNIT_ASSERT_EQUAL(response->Record.GetStatusCode(), NYql::NDqProto::StatusIds::UNAVAILABLE); +} + } // Y_UNIT_TEST_SUITE(ResultReceiver)