def test_divisor_parameter_is_passed_to_request(requests_mock, mocker, divisor): logname = "log.csv" dummylog = LogFile(0, logname, "2019-01-01T00:00:00.000000", 0, "192.168.1.101") dummy_csv_content = b"1,2,3" requests_mock.get( f"http://192.168.1.101/logcsv/{logname}?divisor={divisor}", content=dummy_csv_content) mocker.patch("builtins.open", mocker.mock_open()) dummylog.download(downsample_divisor=divisor)
def test_default_download_path(requests_mock, mocker): logname = "log.csv" dummylog = LogFile(0, logname, "2019-01-01T00:00:00.000000", 0, "192.168.1.101") dummy_csv_content = b"1,2,3" requests_mock.get(f"http://192.168.1.101/logcsv/{logname}", content=dummy_csv_content) mocked_open = mocker.patch("builtins.open", mocker.mock_open()) dummylog.download() mocked_open.assert_called_once_with(f"./{logname}", "wb") mocked_filehandle = mocked_open() mocked_filehandle.write.assert_called_once_with(dummy_csv_content)
def test_logfile_formatting_without_header(): log = LogFile(1000, "log1.csv", "2019-01-01T00:00:00.000000", 1024, "192.168.1.101") expected_output = "log1.csv 01. Jan 2019 00:00 1.00 m 1.0 KiB" assert f"{log}" == expected_output
def test_logfile_formatting_with_header(): log = LogFile(1000, "log1.csv", "2019-01-01T00:00:00.000000", 1024, "192.168.1.101") expected_output = ("Name Time Max depth Size\n" + "log1.csv 01. Jan 2019 00:00 1.00 m 1.0 KiB") assert f"{log:with_header}" == expected_output
def test_timestamp_isoformat_conversion(isoformat_string, expected_datetime): logfile = LogFile(0, "", isoformat_string, 0, "192.168.1.101") assert logfile.timestamp == expected_datetime
def test_human_readable_filesizes(binsize, expected_output): logfile = LogFile(0, "name", "2019-01-01T00:00:00.000000", binsize, "192.168.1.101") assert logfile._human_readable_filesize() == expected_output