def test_write_invensys_post_data(self): source_stream = io.StringIO() destination_stream = io.StringIO() source_stream.write(u"2014-07-10T11:00:00.241-04:00,Bethesda Oak,Towers,WestTower_1A_VFD%_ID905,100.0\n" u"2014-07-10T11:00:00.241-04:00,Bethesda Oak,Towers,WestTower_1B_VFD%_ID906,100.0\n" u"2014-07-10T11:00:00.241-04:00,Bethesda Oak,Towers,EastTower_2A_VFD%_ID661,100.0\n" u"2014-07-10T11:00:00.241-04:00,Bethesda Oak,Towers,EastTower_2B_VFD%_ID662,100.0") source_stream.seek(0) post_handler = PostHandler() post_handler.date_time_str = "2014-09-06 16:45:00" post_handler.write_invensys_post_data(source_stream, destination_stream) destination_stream.seek(0) written_data = destination_stream.read().strip().split("\n") assert len(written_data) == 4 row0 = json.loads(written_data[0]) row1 = json.loads(written_data[1]) row2 = json.loads(written_data[2]) row3 = json.loads(written_data[3]) assert row0 == {"timestamp": "2014-07-10T11:00:00.241-04:00", "invensys_site_name": "Bethesda Oak", "invensys_equipment_name": "Towers", "invensys_point_name": "WestTower_1A_VFD%_ID905", "value": "100.0", "date_added": "2014-09-06 16:45:00"} assert row1 == {"timestamp": "2014-07-10T11:00:00.241-04:00", "invensys_site_name": "Bethesda Oak", "invensys_equipment_name": "Towers", "invensys_point_name": "WestTower_1B_VFD%_ID906", "value": "100.0", "date_added": "2014-09-06 16:45:00"} assert row2 == {"timestamp": "2014-07-10T11:00:00.241-04:00", "invensys_site_name": "Bethesda Oak", "invensys_equipment_name": "Towers", "invensys_point_name": "EastTower_2A_VFD%_ID661", "value": "100.0", "date_added": "2014-09-06 16:45:00"} assert row3 == {"timestamp": "2014-07-10T11:00:00.241-04:00", "invensys_site_name": "Bethesda Oak", "invensys_equipment_name": "Towers", "invensys_point_name": "EastTower_2B_VFD%_ID662", "value": "100.0", "date_added": "2014-09-06 16:45:00"}
def test_handle_invensys_post(self, open_mock, path_join): file_mock = MagicMock() post_handler = PostHandler() post_handler.write_invensys_post_data = Mock() post_handler.invensys_raw_folder = Mock() post_handler.handle_invensys_post(file_mock) path_join.assert_called_with(post_handler.invensys_raw_folder, post_handler.date_str) open_mock.assert_called_with(path_join.return_value, "a") post_handler.write_invensys_post_data.assert_called_with(file_mock, open_mock.return_value.__enter__.return_value)