def test_handle_johnson_post(self, open_mock, path_join): file_mock = MagicMock() post_handler = PostHandler() post_handler.write_johnson_post_data = Mock() post_handler.johnson_raw_folder = Mock() post_handler.handle_johnson_post(file_mock) path_join.assert_called_with(post_handler.johnson_raw_folder, post_handler.date_str) open_mock.assert_called_with(path_join.return_value, "a") post_handler.write_johnson_post_data.assert_called_with(file_mock, open_mock.return_value.__enter__.return_value)
def test_write_johnson_post_data(self): source_stream = io.StringIO() destination_stream = io.StringIO() source_stream.write(u"Site ID, FQR, Timestamp, Value, Reliability\n" u"123456,ABC,2012-01-01 12:00 AM,100,Reliable\n" u"123457,DEF,2012-01-01 12:15 AM,200,Unreliable") source_stream.seek(0) post_handler = PostHandler() post_handler.date_time_str = "2014-09-06 16:45:00" post_handler.write_johnson_post_data(source_stream, destination_stream) destination_stream.seek(0) written_data = destination_stream.read().strip().split("\n") assert len(written_data) == 2 row0 = json.loads(written_data[0]) row1 = json.loads(written_data[1]) assert row0 == {"site_id": "123456", "fqr": "ABC", "timestamp": "2012-01-01 12:00 AM", "value": "100", "reliability": "Reliable", "date_added": "2014-09-06 16:45:00"} assert row1 == {"site_id": "123457", "fqr": "DEF", "timestamp": "2012-01-01 12:15 AM", "value": "200", "reliability": "Unreliable", "date_added": "2014-09-06 16:45:00"}