aboutsummaryrefslogtreecommitdiff
path: root/rrd/tests/test_mqtt.py
diff options
context:
space:
mode:
Diffstat (limited to 'rrd/tests/test_mqtt.py')
-rw-r--r--rrd/tests/test_mqtt.py24
1 files changed, 23 insertions, 1 deletions
diff --git a/rrd/tests/test_mqtt.py b/rrd/tests/test_mqtt.py
index 0a7b90d..66ced97 100644
--- a/rrd/tests/test_mqtt.py
+++ b/rrd/tests/test_mqtt.py
@@ -1,8 +1,10 @@
+import os
import time
import django.test
+from django.conf import settings
-from .. import mqtt
+from .. import models, mqtt
class TestMQTT(django.test.TestCase):
@@ -12,9 +14,12 @@ class TestMQTT(django.test.TestCase):
time.sleep(0.1)
if not self.mqtt.connected:
self.skipTest("Could not find an mqtt server")
+ self.files = []
def tearDown(self):
self.mqtt.loop_stop()
+ for path in self.files:
+ os.remove(path)
def test_disconnect(self):
# after disconnecting from the mqtt server, we should
@@ -29,3 +34,20 @@ class TestMQTT(django.test.TestCase):
time.sleep(2)
self.assertFalse(self.mqtt.connected)
self.assertFalse(self.mqtt.reconnect)
+
+ def test_receive_data(self):
+ os.makedirs(settings.RRD_DB_PATH, exist_ok=True)
+ self.files.append(os.path.join(settings.RRD_DB_PATH, "test.rrd"))
+ self.mqtt.client.publish(
+ topic=settings.MQTT_TOPIC + "test",
+ payload="10",
+ )
+ time.sleep(1)
+ ds = models.DataSource.objects.get(topic="test")
+ self.assertEqual(ds.lastupdate[1], 10)
+
+ def test_receive_data_non_existing_ds(self):
+ pass
+
+ def test_receive_invalid_data(self):
+ pass