File tree Expand file tree Collapse file tree 2 files changed +18
-7
lines changed
openwisp_controller/connection Expand file tree Collapse file tree 2 files changed +18
-7
lines changed Original file line number Diff line number Diff line change @@ -19,12 +19,12 @@ def update_config(device_id):
1919 # (there may be multiple ones happening at the same time)
2020 time .sleep (2 )
2121 # avoid repeating the operation multiple times
22- device = Device .objects .select_related ('config' ).get (pk = device_id )
2322 try :
23+ device = Device .objects .select_related ('config' ).get (pk = device_id )
2424 if device .config .status == 'applied' :
2525 return
26- except ObjectDoesNotExist :
27- logger .warning (f'Config with device id: { device_id } does not exist ' )
26+ except ObjectDoesNotExist as e :
27+ logger .warning (f'update_config(" { device_id } ") failed: { e } ' )
2828 return
2929 qs = device .deviceconnection_set .filter (device_id = device_id , enabled = True )
3030 conn = qs .first ()
Original file line number Diff line number Diff line change 11import socket
2+ import uuid
23from unittest import mock
34
45import paramiko
@@ -354,12 +355,22 @@ def test_device_connection_set_connector(self):
354355
355356 @mock .patch ('logging.Logger.warning' )
356357 @mock .patch ('time.sleep' )
357- def test_update_config_task_resilient_to_failure (
358- self , mocked_sleep , mocked_warning
359- ):
358+ def test_update_config_missing_config (self , mocked_sleep , mocked_warning ):
360359 pk = self ._create_device ().pk
361360 update_config .delay (pk )
362- mocked_warning .assert_called_with (f'Config with device id: { pk } does not exist' )
361+ mocked_warning .assert_called_with (
362+ f'update_config("{ pk } ") failed: Device has no config.'
363+ )
364+ mocked_sleep .assert_called_once ()
365+
366+ @mock .patch ('logging.Logger.warning' )
367+ @mock .patch ('time.sleep' )
368+ def test_update_config_missing_device (self , mocked_sleep , mocked_warning ):
369+ pk = uuid .uuid4 ()
370+ update_config .delay (pk )
371+ mocked_warning .assert_called_with (
372+ f'update_config("{ pk } ") failed: Device matching query does not exist.'
373+ )
363374 mocked_sleep .assert_called_once ()
364375
365376
You can’t perform that action at this time.
0 commit comments