def test_sendMappingInfoCallsSendMessage(self):
     """Checks if sendMappingInfo calls sendMessage."""
     mock = MessMock()
     mbroker = MessBro(None, None, "")
     mbroker.sendMessage = mock.mockMethodWithOneParam
     self.assertFalse(mock.mockCalled)
     mbroker.sendMappingInfo()
     self.assertTrue(mock.mockCalled)
 def test_sendMappingInfo_CreatesMessage(self):
     """Checks if sendMappingInfo creates correct message type"""
     mock = MessMock()
     mbroker = MessBro(None, None, "")
     mbroker.sendMessage = mock.mockMethodWithOneParam
     mbroker.sendMappingInfo()
     message = json.loads(mock.param.encode('utf-8'))
     self.assertTrue(message["messagetype"] == 'MappingInfo')
     self.assertEqual(message["data"], [])
    def test_sendPappingInfo_sendsNodeInfos(self):
        """Checks if sendMappingInfo creates message containing node infos."""
        mock = MessMock()
        hardwareInfo = {"hardwareInfo" : None}
        mockHardwareClient = NodeMock("hardware", hardwareInfo)
        mockBrowserClient = NodeMock("browser", None)

        mbroker = MessBro(None, None, "")
        # setup client items
        MessageBroker.clients.append(mockHardwareClient)
        MessageBroker.clients.append(mockBrowserClient)
        mbroker.sendMessage = mock.mockMethodWithOneParam
        mbroker.sendMappingInfo()
        message = json.loads(mock.param.encode('utf-8'))
        # check if message contains node data
        self.assertTrue(message["messagetype"] == "MappingInfo")
        self.assertTrue(message["data"][0] == hardwareInfo)
        self.assertEqual(len(message["data"]), 1)