Skip to content

Commit 3c8cd2a

Browse files
committed
chore: added validation for data
Signed-off-by: Manish Dait <daitmanish88@gmail.com>
1 parent 11c9a14 commit 3c8cd2a

2 files changed

Lines changed: 28 additions & 0 deletions

File tree

src/hiero_sdk_python/client/network.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,13 @@ def mirror_address(self) -> str:
133133
@mirror_address.setter
134134
def mirror_address(self, value: str):
135135
"""Reset the connection when the address changes."""
136+
if not isinstance(value, str):
137+
raise TypeError(f"mirror_address must be a string, not {type(value).__name__}")
138+
139+
value = value.strip()
140+
if not value:
141+
raise ValueError("mirror_address cannot be empty or just whitespace")
142+
136143
if self._mirror_address != value:
137144
self._mirror_address = value
138145
self.close_mirror_connection()

tests/unit/network_test.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -572,3 +572,24 @@ def test_close_mirror_connection_is_safe_when_none():
572572

573573
network.close_mirror_connection()
574574
assert network._mirror_stub is None
575+
576+
577+
@pytest.mark.parametrize("address", [None, 123, True, [], {}])
578+
def test_mirror_address_setter_validation_type_error(address):
579+
"""Test that setting mirror_address to a non-string raises TypeError."""
580+
network = Network("testnet", mirror_address="valid.mirror:5600")
581+
network._mirror_stub = Mock()
582+
583+
with pytest.raises(TypeError, match="mirror_address must be a string"):
584+
network.mirror_address = address
585+
586+
assert network._mirror_stub is not None
587+
588+
589+
@pytest.mark.parametrize("address", ["", " ", "\n"])
590+
def test_mirror_address_setter_validation_value_error(address):
591+
"""Test that setting mirror_address to an empty string raises ValueError."""
592+
network = Network("testnet", mirror_address="valid.mirror:5600")
593+
594+
with pytest.raises(ValueError, match="mirror_address cannot be empty"):
595+
network.mirror_address = address

0 commit comments

Comments
 (0)