@@ -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+
138170class TestListAllDevices (unittest .TestCase ):
139171
140172 @patch ('chirpstack_api_wrapper.api.InternalServiceStub' )
0 commit comments