]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[5107] Modified agent's unit tests to use list of answers.
authorMarcin Siodelski <marcin@isc.org>
Mon, 27 Feb 2017 13:06:24 +0000 (14:06 +0100)
committerMarcin Siodelski <marcin@isc.org>
Mon, 27 Feb 2017 13:06:24 +0000 (14:06 +0100)
src/bin/agent/tests/ctrl_agent_command_mgr_unittest.cc

index e345312ff6704fb5324abf3c87f0766457cfbb25..136d69d44bc130f6a49950c29d1b4a40795d6aac 100644 (file)
@@ -46,8 +46,16 @@ public:
     /// @param expected_code code expected to be returned in the answer
     void checkAnswer(ConstElementPtr answer, int expected_code) {
         int status_code;
-        isc::config::parseAnswer(status_code, answer);
-        EXPECT_EQ(expected_code, status_code);
+        // There may be multiple answers returned within a list.
+        std::vector<ElementPtr> answer_list = answer->listValue();
+        // There must be at least one answer.
+        ASSERT_GE(answer_list.size(), 1);
+        // Check that all answers indicate success.
+        for (auto ans = answer_list.cbegin(); ans != answer_list.cend();
+             ++ans) {
+            ASSERT_NO_THROW(isc::config::parseAnswer(status_code, *ans));
+            EXPECT_EQ(expected_code, status_code);
+        }
     }
 
     /// @brief a convenience reference to control agent command manager
@@ -57,9 +65,7 @@ public:
 /// Just a basic test checking that non-existent command is handled
 /// properly.
 TEST_F(CtrlAgentCommandMgrTest, bogus) {
-
     ConstElementPtr answer;
-
     EXPECT_NO_THROW(answer = mgr_.handleCommand("fish-and-chips-please",
                                                 ConstElementPtr()));
     checkAnswer(answer, isc::config::CONTROL_RESULT_ERROR);
@@ -67,12 +73,10 @@ TEST_F(CtrlAgentCommandMgrTest, bogus) {
 
 /// Just a basic test checking that 'list-commands' is supported.
 TEST_F(CtrlAgentCommandMgrTest, listCommands) {
-
     ConstElementPtr answer;
-
     EXPECT_NO_THROW(answer = mgr_.handleCommand("list-commands",
                                                 ConstElementPtr()));
-    checkAnswer(answer, isc::config::CONTROL_RESULT_ERROR);
+    checkAnswer(answer, isc::config::CONTROL_RESULT_SUCCESS);
 };