From bb341e0e3e34e7b56000f3d5248757d7138774c0 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Thu, 7 Jan 2021 10:21:46 -0800 Subject: [PATCH] client: test bad pvRequest --- test/testget.cpp | 19 ++++++++++++++++++- test/testmon.cpp | 31 ++++++++++++++++++++++++++++++- 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/test/testget.cpp b/test/testget.cpp index 68826b7..e3a4611 100644 --- a/test/testget.cpp +++ b/test/testget.cpp @@ -349,6 +349,22 @@ struct Tester { }); testOk1(done.wait(5.0)); } + + void badRequest() + { + testShow()<<__func__; + + mbox.open(initial); + serv.start(); + + auto op = cli.get("mailbox") + .field("invalid") + .exec(); + + testThrowsMatch("Empty field selection", [&op]() { + testShow()<wait(4.0); + })<<" pvRequest selects no fields"; + } }; struct ErrorSource : public server::Source @@ -421,7 +437,7 @@ void testError(bool phase) MAIN(testget) { - testPlan(52); + testPlan(53); testSetup(); logger_config_env(); Tester().testConnector(); @@ -433,6 +449,7 @@ MAIN(testget) Tester().asyncCancel(); Tester().orphan(); Tester().manualExec(); + Tester().badRequest(); testError(false); testError(true); cleanup_for_valgrind(); diff --git a/test/testmon.cpp b/test/testmon.cpp index beaf3ba..801db74 100644 --- a/test/testmon.cpp +++ b/test/testmon.cpp @@ -126,6 +126,34 @@ struct BasicTest { testOk1(!done->wait(1.1)); } + + void badRequest() + { + testShow()<<__func__; + + serv.start(); + mbox.open(initial); + + auto sub(cli.monitor("mailbox") + .field("nonexistant") + .maskConnected(false) + .maskDisconnected(false) + .event([this](client::Subscription&) { + testDiag("Event evt"); + evt.signal(); + }) + .exec()); + + cli.hurryUp(); + + testThrows([this, &sub]() { + testShow()<([this, &sub]() { + testShow()<