Files
kernel/tests/test_iam.py
2026-08-12 21:11:39 +03:00

27 lines
707 B
Python

import json
from unittest.mock import patch
from cloud.iam import IAMClient
class Response:
def read(self) -> bytes:
return json.dumps({"access_token": "fresh-token"}).encode()
def __enter__(self) -> "Response":
return self
def __exit__(self, *args: object) -> None:
return None
@patch("cloud.iam.urlopen")
def test_fetches_iam_token(urlopen) -> None:
urlopen.return_value = Response()
assert IAMClient("key-id", "secret").get_access_token() == "fresh-token"
request = urlopen.call_args.args[0]
assert request.full_url == "https://iam.api.cloud.ru/api/v1/auth/token"
assert json.loads(request.data) == {"keyId": "key-id", "secret": "secret"}