Fix remote sd card mocks.
This commit is contained in:
		| @@ -78,9 +78,7 @@ class RemoteSDCardFileList: | ||||
|             existing_files.append(file_info.file_name) | ||||
|  | ||||
|     def _get_existing_files_info(self): | ||||
|         host = self._settings.get(["host"]) | ||||
|         access_code = self._settings.get(["access_code"]) | ||||
|         ftp = IoTFTPSClient(str(host), 990, "bblp", str(access_code), ssl_implicit=True) | ||||
|         ftp = self._connect_ftps_server() | ||||
|  | ||||
|         all_files_info: list[FileInfo] = [] | ||||
|         existing_files = [] | ||||
| @@ -95,6 +93,12 @@ class RemoteSDCardFileList: | ||||
|  | ||||
|         return all_files_info | ||||
|  | ||||
|     def _connect_ftps_server(self): | ||||
|         host = self._settings.get(["host"]) | ||||
|         access_code = self._settings.get(["access_code"]) | ||||
|         ftp = IoTFTPSClient(str(host), 990, "bblp", str(access_code), ssl_implicit=True) | ||||
|         return ftp | ||||
|  | ||||
|     def _get_file_data(self, file_path: str) -> FileInfo | None: | ||||
|         self._logger.debug(f"_getSdFileData: {file_path}") | ||||
|         file_name = Path(file_path).name.lower() | ||||
|   | ||||
| @@ -1,15 +1,20 @@ | ||||
| from __future__ import annotations | ||||
| from collections.abc import Callable | ||||
| from datetime import datetime, timezone | ||||
| import logging | ||||
| from pathlib import Path | ||||
| import time | ||||
| from typing import Any | ||||
| import unittest | ||||
| from unittest.mock import MagicMock | ||||
| import unittest.mock | ||||
|  | ||||
| from octoprint_bambu_printer.bambu_print_plugin import BambuPrintPlugin | ||||
| from octoprint_bambu_printer.printer.bambu_virtual_printer import BambuVirtualPrinter | ||||
| from octoprint_bambu_printer.printer.remote_sd_card_file_list import FileInfo | ||||
| from octoprint_bambu_printer.printer.remote_sd_card_file_list import ( | ||||
|     FileInfo, | ||||
|     RemoteSDCardFileList, | ||||
| ) | ||||
| from octoprint_bambu_printer.printer.states.idle_state import IdleState | ||||
| from octoprint_bambu_printer.printer.states.paused_state import PausedState | ||||
| from octoprint_bambu_printer.printer.states.print_finished_state import ( | ||||
| @@ -33,11 +38,11 @@ def log_test(): | ||||
|  | ||||
| class DictGetter: | ||||
|     def __init__(self, options: dict) -> None: | ||||
|         self._options = options | ||||
|         self._options: dict[str | tuple[str, ...], Any] = options | ||||
|  | ||||
|     def __call__(self, key: str | list[str]): | ||||
|     def __call__(self, key: str | list[str] | tuple[str, ...]): | ||||
|         if isinstance(key, list): | ||||
|             key = "_".join(key) | ||||
|             key = tuple(key) | ||||
|         return self._options.get(key, None) | ||||
|  | ||||
|  | ||||
| @@ -96,13 +101,19 @@ def ftps_session_mock(files_info_ftp): | ||||
|         ) | ||||
|  | ||||
|         all_files = list(files_info_ftp.keys()) | ||||
|         ftps_client_mock.list_files.side_effect = DictGetter( | ||||
|         file_registry = DictGetter( | ||||
|             { | ||||
|                 ("", ".3mf"): all_files, | ||||
|                 ("cache/", ".3mf"): [f"cache/{file}" for file in all_files], | ||||
|             } | ||||
|         ) | ||||
|         ftps_client_mock.list_files.side_effect = lambda folder, ext: file_registry( | ||||
|             (folder, ext) | ||||
|         ) | ||||
|         ftps_client_mock.ftps_session = ftps_session | ||||
|         RemoteSDCardFileList._connect_ftps_server = MagicMock( | ||||
|             return_value=ftps_client_mock | ||||
|         ) | ||||
|         yield | ||||
|  | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user