31 lines
807 B
Python
31 lines
807 B
Python
from django.test import TestCase, Client
|
|
from django.conf import settings
|
|
|
|
from coffee_scale.mqtt import on_message
|
|
|
|
HOST = settings.MQTT_SETTINGS['HOST']
|
|
PORT = settings.MQTT_SETTINGS['PORT']
|
|
TOPICS = settings.MQTT_SETTINGS['TOPICS']
|
|
|
|
|
|
class MQTTTestCase(TestCase):
|
|
"""Tests MQTT functionality"""
|
|
|
|
class MockMessage:
|
|
def __init__(self, payload, topic):
|
|
self.payload = payload
|
|
self.topic = topic
|
|
|
|
def setUp(self):
|
|
payload = '10'.encode('utf-8')
|
|
topic = TOPICS['CUPS']
|
|
msg = MQTTTestCase.MockMessage(payload, topic)
|
|
|
|
on_message(None, None, msg)
|
|
self.c = Client()
|
|
|
|
def test_receive_cups(self):
|
|
response = self.c.get('/coffee/cups')
|
|
payload = response.json()
|
|
self.assertEquals(payload['cups'], 10)
|