Add test coverage for enableChildChains.

(cherry picked from commit d352b5ec74c63d02aefb530743d33121607f215e)

Bug: 37641280
Test: marlin builds and boots
Test: new unit test passes
Test: netd_{unit,integration}_test pass
Change-Id: Ie39a6eac1707e4a1b085a02c2c7b1976806f4c0c
Merged-In: I6fb056abeb45ab1fc2bc45bcf2d8f9a95114b1d9
diff --git a/server/FirewallControllerTest.cpp b/server/FirewallControllerTest.cpp
index 5d2a012..1c3944a 100644
--- a/server/FirewallControllerTest.cpp
+++ b/server/FirewallControllerTest.cpp
@@ -193,3 +193,19 @@
     std::vector<int32_t> uids = { 10023, 10059, 10124 };
     EXPECT_EQ(expected, makeUidRules(V4 ,"FW_blackchain", false, uids));
 }
+
+TEST_F(FirewallControllerTest, TestEnableChildChains) {
+    std::vector<std::string> expected = {
+        "-t filter -A fw_INPUT -j fw_dozable",
+        "-t filter -A fw_OUTPUT -j fw_dozable",
+    };
+    EXPECT_EQ(0, mFw.enableChildChains(DOZABLE, true));
+    expectIptablesCommands(expected);
+
+    expected = {
+        "-t filter -D fw_INPUT -j fw_powersave",
+        "-t filter -D fw_OUTPUT -j fw_powersave",
+    };
+    EXPECT_EQ(0, mFw.enableChildChains(POWERSAVE, false));
+    expectIptablesCommands(expected);
+}