Coverage for mlos_bench/mlos_bench/tests/services/remote/mock/mock_auth_service.py: 79%
14 statements
« prev ^ index » next coverage.py v7.6.7, created at 2024-11-22 01:18 +0000
« prev ^ index » next coverage.py v7.6.7, created at 2024-11-22 01:18 +0000
1#
2# Copyright (c) Microsoft Corporation.
3# Licensed under the MIT License.
4#
5"""A collection Service functions for mocking authentication."""
7import logging
8from typing import Any, Callable, Dict, List, Optional, Union
10from mlos_bench.services.base_service import Service
11from mlos_bench.services.types.authenticator_type import SupportsAuth
13_LOG = logging.getLogger(__name__)
16class MockAuthService(Service, SupportsAuth[str]):
17 """A collection Service functions for mocking authentication ops."""
19 def __init__(
20 self,
21 config: Optional[Dict[str, Any]] = None,
22 global_config: Optional[Dict[str, Any]] = None,
23 parent: Optional[Service] = None,
24 methods: Union[Dict[str, Callable], List[Callable], None] = None,
25 ):
26 super().__init__(
27 config,
28 global_config,
29 parent,
30 self.merge_methods(
31 methods,
32 [
33 self.get_access_token,
34 self.get_auth_headers,
35 self.get_credential,
36 ],
37 ),
38 )
40 def get_access_token(self) -> str:
41 return "TOKEN"
43 def get_auth_headers(self) -> dict:
44 return {"Authorization": "Bearer " + self.get_access_token()}
46 def get_credential(self) -> str:
47 return "MOCK CREDENTIAL"