Handle non-logged channels in ChannelMessageIsLoggedOnNode

We were not handling NOT_LOGGED without crashing on single node
configurations.  Fix that.

Change-Id: I620560161ea11d44dc024ba501942892c0202293
Signed-off-by: Austin Schuh <austin.schuh@bluerivertech.com>
diff --git a/aos/configuration_test.cc b/aos/configuration_test.cc
index 891dedb..ff991a2 100644
--- a/aos/configuration_test.cc
+++ b/aos/configuration_test.cc
@@ -459,6 +459,8 @@
                                            &bar_node.message()));
   EXPECT_FALSE(ChannelMessageIsLoggedOnNode(&logged_on_self_channel.message(),
                                             &baz_node.message()));
+  EXPECT_TRUE(
+      ChannelMessageIsLoggedOnNode(&logged_on_self_channel.message(), nullptr));
 
   // No logger.
   EXPECT_FALSE(ChannelMessageIsLoggedOnNode(&not_logged_channel.message(),
@@ -467,6 +469,8 @@
                                             &bar_node.message()));
   EXPECT_FALSE(ChannelMessageIsLoggedOnNode(&not_logged_channel.message(),
                                             &baz_node.message()));
+  EXPECT_FALSE(
+      ChannelMessageIsLoggedOnNode(&not_logged_channel.message(), nullptr));
 
   // Remote logger.
   EXPECT_FALSE(ChannelMessageIsLoggedOnNode(&logged_on_remote_channel.message(),
@@ -493,6 +497,53 @@
                                            &baz_node.message()));
 }
 
+// Tests that our node message is logged helpers work as intended.
+TEST_F(ConfigurationDeathTest, ChannelMessageIsLoggedOnNode) {
+  FlatbufferDetachedBuffer<Channel> logged_on_both_channel(JsonToFlatbuffer(
+      R"channel({
+  "name": "/test",
+  "type": "aos.examples.Ping",
+  "source_node": "bar",
+  "logger": "LOCAL_AND_REMOTE_LOGGER",
+  "logger_nodes": ["baz"],
+  "destination_nodes": [
+    {
+      "name": "baz"
+    }
+  ]
+})channel",
+      Channel::MiniReflectTypeTable()));
+
+  FlatbufferDetachedBuffer<Channel> logged_on_separate_logger_node_channel(
+      JsonToFlatbuffer(
+          R"channel({
+  "name": "/test",
+  "type": "aos.examples.Ping",
+  "source_node": "bar",
+  "logger": "REMOTE_LOGGER",
+  "logger_nodes": ["foo"],
+  "destination_nodes": [
+    {
+      "name": "baz"
+    }
+  ]
+})channel",
+          Channel::MiniReflectTypeTable()));
+
+  EXPECT_DEATH(
+      {
+        ChannelMessageIsLoggedOnNode(&logged_on_both_channel.message(),
+                                     nullptr);
+      },
+      "Unsupported logging configuration in a single node world");
+  EXPECT_DEATH(
+      {
+        ChannelMessageIsLoggedOnNode(
+            &logged_on_separate_logger_node_channel.message(), nullptr);
+      },
+      "Unsupported logging configuration in a single node world");
+}
+
 // Tests that our forwarding timestamps are logged helpers work as intended.
 TEST_F(ConfigurationTest, ConnectionDeliveryTimeIsLoggedOnNode) {
   FlatbufferDetachedBuffer<Channel> logged_on_self_channel(JsonToFlatbuffer(