Я застрял в насмешках над этим кодом:
from unittest.mock import patch
from azure.identity import DefaultAzureCredential
from azure.keyvault.secrets import SecretClient
class MyConfig:
def __init__(self, ftp_host=None, ftp_username=None, ftp_password=None, azure=False):
if self._azure:
key_vault_name = os.getenv("KEY_VAULT_NAME")
kv_uri = f"https://{key_vault_name}.acme.com"
credential = DefaultAzureCredential()
client = SecretClient(vault_url=kv_uri, credential=credential)
self._ftp_host = client.get_secret("ftp-host").value
self._ftp_username = client.get_secret("ftp-username").value
return
Затем в моем модульном тесте
class TestMyConfig(unittest.TestCase):
@patch('azure.keyvault.secrets.SecretClient', autospec=True)
def setUp(self, mock):
secret_client = mock.return_value
secret_client.get_secret.side_effect = lambda x: {"ftp-host": "hostname", "ftp-user": "Donald Duck"}[x]
self.azure = MyConfig(azure=True)
return
Но он все равно пытается подключить хранилище к «acme.com», что, конечно же, приводит к ошибке. Есть совет?
Подобное исправление всех двух объектов приводит к одной и той же ошибке.
class TestMyConfig(unittest.TestCase):
@patch('azure.keyvault.secrets.SecretClient', autospec=True)
@patch('azure.identity.DefaultAzureCredential', autospec=True)
def setUp(self, mock, credential_mock):
secret_client = credential_mock.return_value
secret_client.get_secret.side_effect = lambda x: {"ftp-host": "hostname", "ftp-user": "Donald Duck"}[x]
self.azure = MyConfig(azure=True)
return
Подробнее здесь: https://stackoverflow.com/questions/793 ... lt-objects
Издевательство над объектами Python Azure Vault ⇐ Python
Программы на Python
-
Anonymous
1736416558
Anonymous
Я застрял в насмешках над этим кодом:
from unittest.mock import patch
from azure.identity import DefaultAzureCredential
from azure.keyvault.secrets import SecretClient
class MyConfig:
def __init__(self, ftp_host=None, ftp_username=None, ftp_password=None, azure=False):
if self._azure:
key_vault_name = os.getenv("KEY_VAULT_NAME")
kv_uri = f"https://{key_vault_name}.acme.com"
credential = DefaultAzureCredential()
client = SecretClient(vault_url=kv_uri, credential=credential)
self._ftp_host = client.get_secret("ftp-host").value
self._ftp_username = client.get_secret("ftp-username").value
return
Затем в моем модульном тесте
class TestMyConfig(unittest.TestCase):
@patch('azure.keyvault.secrets.SecretClient', autospec=True)
def setUp(self, mock):
secret_client = mock.return_value
secret_client.get_secret.side_effect = lambda x: {"ftp-host": "hostname", "ftp-user": "Donald Duck"}[x]
self.azure = MyConfig(azure=True)
return
Но он все равно пытается подключить хранилище к «acme.com», что, конечно же, приводит к ошибке. Есть совет?
Подобное исправление всех двух объектов приводит к одной и той же ошибке.
class TestMyConfig(unittest.TestCase):
@patch('azure.keyvault.secrets.SecretClient', autospec=True)
@patch('azure.identity.DefaultAzureCredential', autospec=True)
def setUp(self, mock, credential_mock):
secret_client = credential_mock.return_value
secret_client.get_secret.side_effect = lambda x: {"ftp-host": "hostname", "ftp-user": "Donald Duck"}[x]
self.azure = MyConfig(azure=True)
return
Подробнее здесь: [url]https://stackoverflow.com/questions/79342092/mocking-python-azure-vault-objects[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия