Skip to content

Commit faf4b97

Browse files
chore: update naming of InstanceMetadata to ConnectionInfo (#880)
1 parent 2cc1a54 commit faf4b97

File tree

3 files changed

+23
-23
lines changed

3 files changed

+23
-23
lines changed

google/cloud/sql/connector/instance.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ class IPTypes(Enum):
6363
PSC: str = "PSC"
6464

6565

66-
class InstanceMetadata:
66+
class ConnectionInfo:
6767
ip_addrs: Dict[str, Any]
6868
context: ssl.SSLContext
6969
database_version: str
@@ -205,7 +205,7 @@ def _client_session(self) -> aiohttp.ClientSession:
205205

206206
_refresh_rate_limiter: AsyncRateLimiter
207207
_refresh_in_progress: asyncio.locks.Event
208-
_current: asyncio.Task # task wraps coroutine that returns InstanceMetadata
208+
_current: asyncio.Task # task wraps coroutine that returns ConnectionInfo
209209
_next: asyncio.Task # task wraps coroutine that returns another task
210210

211211
def __init__(
@@ -267,11 +267,11 @@ async def force_refresh(self) -> None:
267267
if not await _is_valid(self._current):
268268
self._current = self._next
269269

270-
async def _perform_refresh(self) -> InstanceMetadata:
270+
async def _perform_refresh(self) -> ConnectionInfo:
271271
"""Retrieves instance metadata and ephemeral certificate from the
272272
Cloud SQL Instance.
273273
274-
:rtype: InstanceMetadata
274+
:rtype: ConnectionInfo
275275
:returns: A dataclass containing a string representing the ephemeral certificate, a dict
276276
containing the instances IP adresses, a string representing a PEM-encoded private key
277277
and a string representing a PEM-encoded certificate authority.
@@ -353,7 +353,7 @@ async def _perform_refresh(self) -> InstanceMetadata:
353353
finally:
354354
self._refresh_in_progress.clear()
355355

356-
return InstanceMetadata(
356+
return ConnectionInfo(
357357
ephemeral_cert,
358358
metadata["database_version"],
359359
metadata["ip_addresses"],
@@ -365,7 +365,7 @@ async def _perform_refresh(self) -> InstanceMetadata:
365365

366366
def _schedule_refresh(self, delay: int) -> asyncio.Task:
367367
"""
368-
Schedule task to sleep and then perform refresh to get InstanceMetadata.
368+
Schedule task to sleep and then perform refresh to get ConnectionInfo.
369369
370370
:type delay: int
371371
:param delay
@@ -375,7 +375,7 @@ def _schedule_refresh(self, delay: int) -> asyncio.Task:
375375
:returns: A Task representing the scheduled _perform_refresh.
376376
"""
377377

378-
async def _refresh_task(self: Instance, delay: int) -> InstanceMetadata:
378+
async def _refresh_task(self: Instance, delay: int) -> ConnectionInfo:
379379
"""
380380
A coroutine that sleeps for the specified amount of time before
381381
running _perform_refresh.
@@ -422,15 +422,15 @@ async def _refresh_task(self: Instance, delay: int) -> InstanceMetadata:
422422
async def connect_info(
423423
self,
424424
ip_type: IPTypes,
425-
) -> Tuple[InstanceMetadata, str]:
425+
) -> Tuple[ConnectionInfo, str]:
426426
"""Retrieve instance metadata and ip address required
427427
for making connection to Cloud SQL instance.
428428
429429
:type ip_type: IPTypes
430430
:param ip_type: Enum specifying whether to look for public
431431
or private IP address.
432432
433-
:rtype instance_data: InstanceMetadata
433+
:rtype instance_data: ConnectionInfo
434434
:returns: Instance metadata for Cloud SQL instance.
435435
436436
:rtype ip_address: str
@@ -441,7 +441,7 @@ async def connect_info(
441441
f"['{self._instance_connection_string}']: Entered connect_info method"
442442
)
443443

444-
instance_data: InstanceMetadata
444+
instance_data: ConnectionInfo
445445

446446
instance_data = await self._current
447447
ip_address: str = instance_data.get_preferred_ip(ip_type)

tests/unit/mocks.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
from cryptography.x509.oid import NameOID
2929

3030
from google.cloud.sql.connector import IPTypes
31-
from google.cloud.sql.connector.instance import InstanceMetadata
31+
from google.cloud.sql.connector.instance import ConnectionInfo
3232
from google.cloud.sql.connector.utils import generate_keys, write_to_file
3333

3434

@@ -55,8 +55,8 @@ class BadRefresh(Exception):
5555
pass
5656

5757

58-
class MockMetadata(InstanceMetadata):
59-
"""Mock class for InstanceMetadata"""
58+
class MockMetadata(ConnectionInfo):
59+
"""Mock class for ConnectionInfo"""
6060

6161
def __init__(
6262
self, expiration: datetime.datetime, ip_addrs: Dict = {"PRIMARY": "0.0.0.0"}

tests/unit/test_instance.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@
2929
CredentialsTypeError,
3030
)
3131
from google.cloud.sql.connector.instance import (
32+
ConnectionInfo,
3233
Instance,
33-
InstanceMetadata,
3434
IPTypes,
3535
)
3636
from google.cloud.sql.connector.rate_limiter import AsyncRateLimiter
@@ -140,7 +140,7 @@ async def test_schedule_refresh_wont_replace_valid_result_with_invalid(
140140

141141
# check that invalid refresh did not replace valid current metadata
142142
assert instance._current == old_task
143-
assert isinstance(await instance._current, InstanceMetadata)
143+
assert isinstance(await instance._current, ConnectionInfo)
144144

145145

146146
@pytest.mark.asyncio
@@ -202,7 +202,7 @@ async def test_force_refresh_cancels_pending_refresh(
202202

203203
# verify pending_refresh has now been cancelled
204204
assert pending_refresh.cancelled() is True
205-
assert isinstance(await instance._current, InstanceMetadata)
205+
assert isinstance(await instance._current, ConnectionInfo)
206206

207207

208208
@pytest.mark.asyncio
@@ -230,12 +230,12 @@ async def test_perform_refresh(
230230
mock_instance: mocks.FakeCSQLInstance,
231231
) -> None:
232232
"""
233-
Test that _perform_refresh returns valid InstanceMetadata object.
233+
Test that _perform_refresh returns valid ConnectionInfo object.
234234
"""
235235
instance_metadata = await instance._perform_refresh()
236236

237237
# verify instance metadata object is returned
238-
assert isinstance(instance_metadata, InstanceMetadata)
238+
assert isinstance(instance_metadata, ConnectionInfo)
239239
# verify instance metadata expiration
240240
assert (
241241
mock_instance.cert._not_valid_after.replace(microsecond=0) # type: ignore
@@ -248,7 +248,7 @@ async def test_perform_refresh_expiration(
248248
instance: Instance,
249249
) -> None:
250250
"""
251-
Test that _perform_refresh returns InstanceMetadata with proper expiration.
251+
Test that _perform_refresh returns ConnectionInfo with proper expiration.
252252
253253
If credentials expiration is less than cert expiration,
254254
credentials expiration should be used.
@@ -262,7 +262,7 @@ async def test_perform_refresh_expiration(
262262
instance_metadata = await instance._perform_refresh()
263263

264264
# verify instance metadata object is returned
265-
assert isinstance(instance_metadata, InstanceMetadata)
265+
assert isinstance(instance_metadata, ConnectionInfo)
266266
# verify instance metadata uses credentials expiration
267267
assert expiration == instance_metadata.expiration
268268

@@ -277,7 +277,7 @@ async def test_connect_info(
277277
instance_metadata, ip_addr = await instance.connect_info(IPTypes.PUBLIC)
278278

279279
# verify metadata and ip address
280-
assert isinstance(instance_metadata, InstanceMetadata)
280+
assert isinstance(instance_metadata, ConnectionInfo)
281281
assert ip_addr == "0.0.0.0"
282282
# cleanup instance
283283
await instance.close()
@@ -289,7 +289,7 @@ async def test_get_preferred_ip(instance: Instance) -> None:
289289
Test that get_preferred_ip returns proper IP address
290290
for both Public and Private IP addresses.
291291
"""
292-
instance_metadata: InstanceMetadata = await instance._current
292+
instance_metadata: ConnectionInfo = await instance._current
293293

294294
# test public IP as preferred IP for connection
295295
ip_addr = instance_metadata.get_preferred_ip(IPTypes.PUBLIC)
@@ -313,7 +313,7 @@ async def test_get_preferred_ip_CloudSQLIPTypeError(instance: Instance) -> None:
313313
Test that get_preferred_ip throws proper CloudSQLIPTypeError
314314
when missing Public or Private IP addresses.
315315
"""
316-
instance_metadata: InstanceMetadata = await instance._current
316+
instance_metadata: ConnectionInfo = await instance._current
317317
instance_metadata.ip_addrs = {"PRIVATE": "1.1.1.1"}
318318
# test error when Public IP is missing
319319
with pytest.raises(CloudSQLIPTypeError):

0 commit comments

Comments
 (0)