#include "mkql_computation_node_ut.h" #include #include namespace NKikimr::NMiniKQL { Y_UNIT_TEST_SUITE(TRuntimeFeatureTest) { Y_UNIT_TEST_LLVM(HostRuntimeSetting) { TSetup setup; TProgramBuilder& pb = *setup.PgmBuilder; setup.RuntimeSettings->TestHostSetting.Set(true); const auto lookup = [&](TStringBuf name) { auto graph = setup.BuildGraph(pb.HostRuntimeSetting(NTest::ConvertValueToLiteralNode(pb, name))); return graph->GetValue(); }; const auto found = lookup("TestHostSetting"); AssertUnboxedValueElementEqual(found, TMaybe{"true"}); AssertUnboxedValueElementEqual(lookup("NonExistentSetting"), TMaybe{}); } Y_UNIT_TEST_LLVM(UdfRuntimeSetting) { TSetup setup; TProgramBuilder& pb = *setup.PgmBuilder; setup.RuntimeSettings->SetUdfSetting("MyModule", "myKey", "myValue"); const auto lookup = [&](TStringBuf module, TStringBuf key) { auto graph = setup.BuildGraph(pb.UdfRuntimeSetting( NTest::ConvertValueToLiteralNode(pb, module), NTest::ConvertValueToLiteralNode(pb, key))); return graph->GetValue(); }; const auto found = lookup("MyModule", "myKey"); AssertUnboxedValueElementEqual(found, TMaybe{"myValue"}); AssertUnboxedValueElementEqual(lookup("MyModule", "missingKey"), TMaybe{}); AssertUnboxedValueElementEqual(lookup("UnknownModule", "myKey"), TMaybe{}); } } // Y_UNIT_TEST_SUITE(TRuntimeFeatureTest) } // namespace NKikimr::NMiniKQL