fix: standardize provider interface parameters across all implementations
- Add screen_size parameter to get_vm_path() for all providers (with default 1920x1080) - Add os_type parameter to start_emulator() for Azure and VirtualBox providers - Add region parameter to stop_emulator() for VMware, Docker, and VirtualBox providers - Use *args, **kwargs for better extensibility and parameter consistency - Add documentation comments explaining ignored parameters for interface consistency - Prevents TypeError exceptions when AWS-specific parameters are passed to other providers This ensures all providers can handle the same parameter sets while maintaining backward compatibility and avoiding interface fragmentation.
This commit is contained in:
@@ -105,7 +105,9 @@ class DockerVMManager(VMManager):
|
||||
def occupy_vm(self, vm_path):
|
||||
pass
|
||||
|
||||
def get_vm_path(self, os_type, region):
|
||||
def get_vm_path(self, os_type, region, screen_size=(1920, 1080), **kwargs):
|
||||
# Note: screen_size parameter is ignored for Docker provider
|
||||
# but kept for interface consistency with other providers
|
||||
global URL, DOWNLOADED_FILE_NAME
|
||||
if os_type == "Ubuntu":
|
||||
URL = UBUNTU_X86_URL
|
||||
|
||||
@@ -144,7 +144,9 @@ class DockerProvider(Provider):
|
||||
def revert_to_snapshot(self, path_to_vm: str, snapshot_name: str):
|
||||
self.stop_emulator(path_to_vm)
|
||||
|
||||
def stop_emulator(self, path_to_vm: str):
|
||||
def stop_emulator(self, path_to_vm: str, region=None, *args, **kwargs):
|
||||
# Note: region parameter is ignored for Docker provider
|
||||
# but kept for interface consistency with other providers
|
||||
if self.container:
|
||||
logger.info("Stopping VM...")
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user