def test_generate_power_value(self): meter_house_a = Meter("HOUSE_A") loop = asyncio.get_event_loop() power_value = loop.run_until_complete(meter_house_a.generate_power_value()) self.assertTrue(power_value["house"] is "HOUSE_A") self.assertIsInstance(power_value["house"], str) self.assertIsInstance(power_value["datetime"], float) self.assertIsInstance(power_value["pv"], int) self.assertTrue(cfg.PV_MIN < power_value["pv"] < cfg.PV_MAX)
def test_publish(self): try: meter_house = Meter("HOUSE_TEST") loop = asyncio.get_event_loop() loop.run_until_complete(self._publisher.connect_to_broker()) pv_house_a = loop.run_until_complete( meter_house.generate_power_value()) loop.run_until_complete(self._publisher.publish(pv_house_a)) self.assertTrue(True) except ConnectionError: self.assertTrue(False)
def test_put(self): broker_address = cfg.BROKER_ADDRESS broker_exchange_name = cfg.EXCHANGE_NAME broker_queue_name = cfg.QUEUE_NAME broker_client = BrokerClient(broker_address, broker_exchange_name, broker_queue_name) meter_house_a = Meter("HOUSE_A") loop = asyncio.get_event_loop() power_value = loop.run_until_complete( meter_house_a.generate_power_value()) loop.run_until_complete(broker_client.connect()) loop.run_until_complete(broker_client.put(power_value)) self.assertIsInstance(broker_client, BrokerClient) self.assertTrue(broker_client)