Skip to content

Commit e18daea

Browse files
added test for Ping()
1 parent 1c136fe commit e18daea

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

test/test_chirpstack_client.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,38 @@ def test_login_failure_Exception(self, mock_internal_service_stub, mock_insecure
135135
# Assert that the system exit code is 1 (indicating failure)
136136
self.assertEqual(cm.exception.code, 1)
137137

138+
class TestPing(unittest.TestCase):
139+
140+
def test_ping_success(self):
141+
"""
142+
Test a successful ping
143+
"""
144+
client = ChirpstackClient(CHIRPSTACK_ACT_EMAIL, CHIRPSTACK_ACT_PASSWORD, CHIRPSTACK_API_INTERFACE, False)
145+
146+
with patch("requests.get") as mock_get:
147+
mock_get.return_value.status_code = 200
148+
assert client.ping() == True
149+
150+
def test_ping_status_code_failure(self):
151+
"""
152+
Test a failed ping because of an error code
153+
"""
154+
client = ChirpstackClient(CHIRPSTACK_ACT_EMAIL, CHIRPSTACK_ACT_PASSWORD, CHIRPSTACK_API_INTERFACE, False)
155+
156+
with patch("requests.get") as mock_get:
157+
mock_get.return_value.status_code = 404
158+
assert client.ping() == False
159+
160+
def test_ping_exception_failure(self):
161+
"""
162+
Test a failed ping because of an exception
163+
"""
164+
client = ChirpstackClient(CHIRPSTACK_ACT_EMAIL, CHIRPSTACK_ACT_PASSWORD, CHIRPSTACK_API_INTERFACE, False)
165+
166+
with patch("requests.get") as mock_get:
167+
mock_get.side_effect = Exception("Simulated network error")
168+
assert client.ping() == False
169+
138170
class TestListAllDevices(unittest.TestCase):
139171

140172
@patch('chirpstack_api_wrapper.api.InternalServiceStub')

0 commit comments

Comments
 (0)