From 563325ec2c61ddb863604c1aa2895adedbdb571f Mon Sep 17 00:00:00 2001
From: Erik Reid <erik.reid@geant.org>
Date: Thu, 3 Jan 2019 12:50:58 +0100
Subject: [PATCH] add sanity assertion on redis value type

---
 inventory_provider/tasks/app.py    | 9 +++++++++
 inventory_provider/tasks/worker.py | 2 ++
 2 files changed, 11 insertions(+)

diff --git a/inventory_provider/tasks/app.py b/inventory_provider/tasks/app.py
index 15a42327..a4a68d2f 100644
--- a/inventory_provider/tasks/app.py
+++ b/inventory_provider/tasks/app.py
@@ -1,4 +1,13 @@
+import logging
+import sys
+from inventory_provider import constants
 from celery import Celery
 
+logging.basicConfig(stream=sys.stderr, level=logging.WARNING)
+logging.getLogger(constants.SNMP_LOGGER_NAME).setLevel(logging.DEBUG)
+logging.getLogger(constants.TASK_LOGGER_NAME).setLevel(logging.DEBUG)
+logging.getLogger(constants.JUNIPER_LOGGER_NAME).setLevel(logging.DEBUG)
+logging.getLogger(constants.DATABASE_LOGGER_NAME).setLevel(logging.DEBUG)
+
 app = Celery("app")
 app.config_from_object("inventory_provider.tasks.config")
diff --git a/inventory_provider/tasks/worker.py b/inventory_provider/tasks/worker.py
index 643adc48..3458f9e2 100644
--- a/inventory_provider/tasks/worker.py
+++ b/inventory_provider/tasks/worker.py
@@ -28,6 +28,8 @@ class InventoryTask(Task):
 
     @staticmethod
     def save_key(hostname, key, value):
+        assert isinstance(value, str), \
+            "sanity failure: expected string data as value"
         r = redis.StrictRedis(
             host=InventoryTask.config["redis"]["hostname"],
             port=InventoryTask.config["redis"]["port"])
-- 
GitLab