def handleSystemPerformanceMessage(self,
                                    data: SystemPerformanceData) -> bool:
     logging("handleSystemPerformanceMessage method is called...")
     self._handleUpstreamTransmission(
         ResourceNameEnum.CDA_SYSTEM_PERF_MSG_RESOURCE,
         DataUtil.systemPerformanceDataToJson(self, data))
     pass
Esempio n. 2
0
    def handleSystemPerformanceMessage(self,
                                       data: SystemPerformanceData) -> bool:
        """
		handle the SystemPerformanceMessage
		
		@return bool
		"""
        logging.info(
            "[CDA_CALLBACK]----->>>The handleSystemPerformanceMessage method is being called"
        )
        spmJson = DataUtil.systemPerformanceDataToJson(self, data)
        self._handleUpstreamTransmission(
            ResourceNameEnum.CDA_SYSTEM_PERF_MSG_RESOURCE, spmJson)
Esempio n. 3
0
class DataUtilTest(unittest.TestCase):
    """
	This test case class contains very basic unit tests for
	DataUtil. It should not be considered complete,
	but serve as a starting point for the student implementing
	additional functionality within their Programming the IoT
	environment.
	"""
    @classmethod
    def setUpClass(self):
        logging.basicConfig(
            format='%(asctime)s:%(module)s:%(levelname)s:%(message)s',
            level=logging.DEBUG)
        logging.info("Testing DataUtil class...")

        encodeToUtf8 = False

        self.dataUtil = DataUtil(encodeToUtf8)

        self.adName = "FooBar ActuatorData"
        self.sdName = "FooBar SensorData"
        self.spdName = "FooBar SystemPerformanceData"

        self.sampleSpdJson = "{\"name\": \"" + self.spdName + "\", \"timeStamp\":\"2019.01.16 21:32:34.123123\",\"cpuUtil\":0.0,\"diskUtil\":0.0,\"memUtil\":0.0}"
        self.sampleAdJson = "{\"name\": \"" + self.adName + "\", \"timeStamp\": \"2019-01-20 15:38:35.123123\", \"hasError\": false, \"command\": 0, \"statusCode\": 0, \"stateData\": null, \"curValue\": 0.0}"
        self.sampleSdJson = "{\"name\": \"" + self.sdName + "\", \"timeStamp\":\"2019.01.16 21:32:34.123123\",\"curValue\":0.0}"

    def setUp(self):
        logging.info("================================================")
        logging.info("DataUtil test execution...")
        logging.info("================================================")

        pass

    def tearDown(self):
        pass

    # @unittest.skip("Ignore for now.")
    def testActuatorDataConversionsFromJson(self):
        logging.info("\n\n----- [ActuatorData Conversions from JSON] -----")

        adObj1 = self.dataUtil.jsonToActuatorData(self.sampleAdJson)
        adObj1Str = self.dataUtil.actuatorDataToJson(adObj1)
        adObj2 = self.dataUtil.jsonToActuatorData(adObj1Str)

        logging.info("Sample JSON: " + str(self.sampleAdJson))
        logging.info("JSON to ActuatorData: " + str(adObj1))
        logging.info("ActuatorData back to JSON: " + str(adObj1Str))

        self.assertEqual(self.adName, adObj1.getName())
        self.assertEqual(self.adName, adObj2.getName())
        self.assertEqual(adObj1.getTimeStamp(), adObj2.getTimeStamp())

    # @unittest.skip("Ignore for now.")
    def testActuatorDataConversionsFromObject(self):
        logging.info("\n\n----- [JSON Conversions from ActuatorData] -----")

        adName = "FooBar2 Actuator"
        adObj1 = ActuatorData()
        adObj1.setName(adName)

        adObj1Str = self.dataUtil.actuatorDataToJson(adObj1)
        adObj2 = self.dataUtil.jsonToActuatorData(adObj1Str)
        adObj2Str = self.dataUtil.actuatorDataToJson(adObj2)

        logging.info("Sample ActuatorData: " + str(adObj1))
        logging.info("ActuatorData to JSON: " + str(adObj1Str))
        logging.info("JSON back to ActuatorData: " + str(adObj2))
        logging.info("ActuatorData back to JSON: " + str(adObj2Str))

        self.assertEqual(adName, adObj1.getName())
        self.assertEqual(adObj1.getName(), adObj2.getName())
        self.assertEqual(adObj1.getTimeStamp(), adObj2.getTimeStamp())
        self.assertEqual(adObj1Str, adObj2Str)

    # @unittest.skip("Ignore for now.")
    def testSensorDataConversionsFromJson(self):
        logging.info("\n\n----- [SensorData Conversions from JSON] -----")

        sdObj1 = self.dataUtil.jsonToSensorData(self.sampleSdJson)
        sdObj1Str = self.dataUtil.sensorDataToJson(sdObj1)
        sdObj2 = self.dataUtil.jsonToSensorData(sdObj1Str)

        logging.info("Sample JSON: " + str(self.sampleSdJson))
        logging.info("JSON to SensorData: " + str(sdObj1))
        logging.info("SensorData back to JSON: " + str(sdObj1Str))

        self.assertEqual(self.sdName, sdObj1.getName())
        self.assertEqual(self.sdName, sdObj2.getName())
        self.assertEqual(sdObj1.getTimeStamp(), sdObj2.getTimeStamp())

    # @unittest.skip("Ignore for now.")
    def testSensorDataConversionsFromObject(self):
        logging.info("\n\n----- [JSON Conversions from SensorData] -----")

        sdName = "Foobar2 Sensor"
        sdObj1 = SensorData()
        sdObj1.setName(sdName)

        sdObj1Str = self.dataUtil.sensorDataToJson(sdObj1)
        sdObj2 = self.dataUtil.jsonToSensorData(sdObj1Str)
        sdObj2Str = self.dataUtil.sensorDataToJson(sdObj2)

        logging.info("Sample SensorData: " + str(sdObj1))
        logging.info("SensorData to JSON: " + str(sdObj1Str))
        logging.info("JSON back to SensorData: " + str(sdObj2))
        logging.info("SensorData back to JSON: " + str(sdObj2Str))

        self.assertEqual(sdName, sdObj1.getName())
        self.assertEqual(sdObj1.getName(), sdObj2.getName())
        self.assertEqual(sdObj1.getTimeStamp(), sdObj2.getTimeStamp())
        self.assertEqual(sdObj1Str, sdObj2Str)

    # @unittest.skip("Ignore for now.")
    def testSystemPerformanceConversionsFromJson(self):
        logging.info(
            "\n\n----- [SystemPerformanceData Conversions from JSON] -----")

        spdObj1 = self.dataUtil.jsonToSystemPerformanceData(self.sampleSpdJson)
        spdObj1Str = self.dataUtil.systemPerformanceDataToJson(spdObj1)
        spdObj2 = self.dataUtil.jsonToSystemPerformanceData(spdObj1Str)

        logging.info("Sample JSON: " + str(self.sampleSpdJson))
        logging.info("JSON to SystemPerformanceData: " + str(spdObj1))
        logging.info("SystemPerformanceData back to JSON: " + str(spdObj1Str))

        self.assertEqual(self.spdName, spdObj1.getName())
        self.assertEqual(self.spdName, spdObj2.getName())
        self.assertEqual(spdObj1.getTimeStamp(), spdObj2.getTimeStamp())

    # @unittest.skip("Ignore for now.")
    def testSystemPerformanceDataConversionsFromObject(self):
        logging.info(
            "\n\n----- [JSON Conversions from SystemPerformanceData] -----")

        spdName = "Foobar2 SystemPerformanceData"
        spdObj1 = SystemPerformanceData()
        spdObj1.setName(spdName)

        spdObj1Str = self.dataUtil.systemPerformanceDataToJson(spdObj1)
        spdObj2 = self.dataUtil.jsonToSystemPerformanceData(spdObj1Str)
        spdObj2Str = self.dataUtil.systemPerformanceDataToJson(spdObj2)

        logging.info("Sample SystemPerformanceData: " + str(spdObj1))
        logging.info("SystemPerformanceData to JSON: " + str(spdObj1Str))
        logging.info("JSON back to SystemPerformanceData: " + str(spdObj2))
        logging.info("SystemPerformanceData back to JSON: " + str(spdObj2Str))

        self.assertEqual(spdName, spdObj1.getName())
        self.assertEqual(spdObj1.getName(), spdObj2.getName())
        self.assertEqual(spdObj1.getTimeStamp(), spdObj2.getTimeStamp())
        self.assertEqual(spdObj1Str, spdObj2Str)
Esempio n. 4
0
 def handleSystemPerformanceMessage(self, data: SystemPerformanceData) -> bool:
     logging.info("handleSystemPerformanceMessage called")
     #translate sys perf data to json and set upstream
     du = DataUtil()
     self._handleUpstreamTransmission(ResourceNameEnum.CDA_SYSTEM_PERF_MSG_RESOURC.value, du.systemPerformanceDataToJson(data))