OctoPrint-BambuPrinter/test/test_data_conversions.py
Anton Skrypnyk fda4b86cbc
0.1.0 (#34)
* Add separate class for sftp file system
* Add separate serial IO handling class
* Replace function name mangling with gcode handler registration system
* Add states to virtual Bambu printer that manage state specific interaction
* Add synchronization utilities to work with virtual printer as if it is a binary stream
* Add unittests with mocked Bambu printer to ensure core functionality works as expected
* Fix formatting to be automatically processed by black formatter
* Fix python 3.10 type annotations for readability
2024-07-29 22:49:12 -04:00

31 lines
1.1 KiB
Python

from __future__ import annotations
from datetime import datetime
from pathlib import Path
from octoprint.util import get_formatted_size, get_formatted_datetime
from octoprint_bambu_printer.printer.file_system.bambu_timelapse_file_info import (
BambuTimelapseFileInfo,
)
from octoprint_bambu_printer.printer.file_system.file_info import FileInfo
def test_timelapse_info_valid():
file_name = "part.mp4"
file_size = 1000
file_date = datetime(2020, 1, 1)
file_timestamp = file_date.timestamp()
file_info = FileInfo(file_name, Path(file_name), file_size, file_date)
timelapse = BambuTimelapseFileInfo.from_file_info(file_info)
assert timelapse.to_dict() == {
"bytes": file_size,
"date": get_formatted_datetime(datetime.fromtimestamp(file_timestamp)),
"name": file_name,
"size": get_formatted_size(file_size),
"thumbnail": "/plugin/bambu_printer/thumbnail/"
+ file_name.replace(".mp4", ".jpg").replace(".avi", ".jpg"),
"timestamp": file_timestamp,
"url": f"/plugin/bambu_printer/timelapse/{file_name}",
}