Skip to content

Commit e852717

Browse files
committed
mypy
1 parent d42a4ee commit e852717

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

src/aleph/sdk/client/vm_client.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def _generate_pubkey_payload(self) -> Dict[str, Any]:
4444
return {
4545
"pubkey": json.loads(self.ephemeral_key.export_public()),
4646
"alg": "ECDSA",
47-
"domain": urlparse(self.node_url).hostname,
47+
"domain": self.node_domain,
4848
"address": self.account.get_address(),
4949
"expires": (
5050
datetime.datetime.utcnow() + datetime.timedelta(days=1)
@@ -65,15 +65,15 @@ async def _generate_pubkey_signature_header(self) -> str:
6565
"sender": self.account.get_address(),
6666
"payload": pubkey_payload,
6767
"signature": pubkey_signature,
68-
"content": {"domain": urlparse(self.node_url).hostname},
68+
"content": {"domain": self.node_domain},
6969
}
7070
)
7171

7272
async def _generate_header(
7373
self, vm_id: ItemHash, operation: str, method: str
7474
) -> Tuple[str, Dict[str, str]]:
7575
payload = create_vm_control_payload(
76-
vm_id, operation, domain=urlparse(self.node_url).hostname, method=method
76+
vm_id, operation, domain=self.node_domain, method=method
7777
)
7878
signed_operation = sign_vm_control_payload(payload, self.ephemeral_key)
7979

@@ -90,6 +90,13 @@ async def _generate_header(
9090
path = payload["path"]
9191
return f"{self.node_url}{path}", headers
9292

93+
@property
94+
def node_domain(self) -> str:
95+
domain = urlparse(self.node_url).hostname
96+
if not domain:
97+
raise Exception("Could not parse node domain")
98+
return domain
99+
93100
async def perform_operation(
94101
self, vm_id: ItemHash, operation: str, method: str = "POST"
95102
) -> Tuple[Optional[int], str]:
@@ -120,7 +127,7 @@ async def get_logs(self, vm_id: ItemHash) -> AsyncGenerator[str, None]:
120127
)
121128

122129
payload = create_vm_control_payload(
123-
vm_id, "stream_logs", method="get", domain=urlparse(self.node_url).hostname
130+
vm_id, "stream_logs", method="get", domain=self.node_domain
124131
)
125132
signed_operation = sign_vm_control_payload(payload, self.ephemeral_key)
126133
path = payload["path"]

tests/unit/test_vm_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ async def test_vm_client_generate_correct_authentication_headers():
290290
session=aiohttp.ClientSession(),
291291
)
292292

293-
path, headers = await vm_client._generate_header(vm_id, "reboot")
293+
path, headers = await vm_client._generate_header(vm_id, "reboot", method="post")
294294
signed_pubkey = SignedPubKeyHeader.parse_raw(headers["X-SignedPubKey"])
295295
signed_operation = SignedOperation.parse_raw(headers["X-SignedOperation"])
296296
address = verify_signed_operation(signed_operation, signed_pubkey)

0 commit comments

Comments
 (0)