Coverage for mlos_bench/mlos_bench/tests/services/remote/mock/mock_remote_exec_service.py: 100%

7 statements  

« prev     ^ index     » next       coverage.py v7.6.9, created at 2024-12-20 00:44 +0000

1# 

2# Copyright (c) Microsoft Corporation. 

3# Licensed under the MIT License. 

4# 

5"""A collection Service functions for mocking remote script execution.""" 

6 

7from typing import Any, Callable, Dict, List, Optional, Union 

8 

9from mlos_bench.services.base_service import Service 

10from mlos_bench.services.types.remote_exec_type import SupportsRemoteExec 

11from mlos_bench.tests.services.remote.mock import mock_operation 

12 

13 

14class MockRemoteExecService(Service, SupportsRemoteExec): 

15 """Mock remote script execution service.""" 

16 

17 def __init__( 

18 self, 

19 config: Optional[Dict[str, Any]] = None, 

20 global_config: Optional[Dict[str, Any]] = None, 

21 parent: Optional[Service] = None, 

22 methods: Union[Dict[str, Callable], List[Callable], None] = None, 

23 ): 

24 """ 

25 Create a new instance of mock remote exec service. 

26 

27 Parameters 

28 ---------- 

29 config : dict 

30 Free-format dictionary that contains the benchmark environment 

31 configuration. 

32 global_config : dict 

33 Free-format dictionary of global parameters. 

34 parent : Service 

35 Parent service that can provide mixin functions. 

36 """ 

37 super().__init__( 

38 config, 

39 global_config, 

40 parent, 

41 self.merge_methods( 

42 methods, 

43 { 

44 "remote_exec": mock_operation, 

45 "get_remote_exec_results": mock_operation, 

46 }, 

47 ), 

48 )