little update

This commit is contained in:
2026-08-12 21:11:39 +03:00
parent e3d5de12fe
commit 3af436d48a
37 changed files with 2299 additions and 9 deletions

26
tests/test_iam.py Normal file
View File

@@ -0,0 +1,26 @@
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"}