Skip to content

Commit

Permalink
add more UT
Browse files Browse the repository at this point in the history
Signed-off-by: vaibhav-dahiya <[email protected]>
  • Loading branch information
vdahiya12 committed Jun 28, 2023
1 parent 9e5b009 commit 1f14eb1
Show file tree
Hide file tree
Showing 2 changed files with 251 additions and 28 deletions.
247 changes: 232 additions & 15 deletions sonic-ycabled/tests/test_y_cable_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -7157,7 +7157,7 @@ def test_ycable_helper_cli_worker(self, mock_select, mock_sub_table):

mock_selectable = MagicMock()
mock_selectable.pop = MagicMock(
side_effect=[('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False)])
side_effect=[('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False)])
mock_select.return_value = (swsscommon.Select.OBJECT, mock_selectable)
mock_sub_table.return_value = mock_selectable

Expand All @@ -7180,27 +7180,13 @@ def test_ycable_helper_cli_worker(self, mock_select, mock_sub_table):
Y_cable_cli_task_n = YCableCliUpdateTask()
Y_cable_cli_task_n.task_stopping_event.is_set = MagicMock(side_effect=[False, True])

mock_selectable.pop = MagicMock(
side_effect=[(False, False, False), (False, False, False), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), (None, None, None), (None, None, None)])
mock_selectable.pop = MagicMock(
side_effect=[('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False)])
mock_select.return_value = (swsscommon.Select.OBJECT, mock_selectable)

Y_cable_cli_task_n.task_cli_worker()
assert swsscommon.Select.select.call_count == 2

"""
Y_cable_cli_task_a = YCableCliUpdateTask()
Y_cable_cli_task_a.task_stopping_event.is_set = MagicMock(side_effect=[False, True])
mock_selectable.pop = MagicMock(
side_effect=[(False, False, False), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), (None, None, None), (None, None, None)])
mock_select.return_value = (swsscommon.Select.OBJECT, mock_selectable)
Y_cable_cli_task_a.task_cli_worker()
assert swsscommon.Select.select.call_count == 3
"""


@patch('swsscommon.swsscommon.Select.addSelectable', MagicMock())
Expand Down Expand Up @@ -7241,3 +7227,234 @@ def test_ycable_helper_cli_worker_execution(self, mock_select, mock_sub_table):
"""


@patch('swsscommon.swsscommon.Select.addSelectable', MagicMock())
@patch('swsscommon.swsscommon.Select.TIMEOUT', MagicMock(return_value=None))
@patch('swsscommon.swsscommon.CastSelectableToRedisSelectObj', MagicMock())
#@patch('swsscommon.swsscommon.CastSelectableToRedisSelectObj.getDbConnector', MagicMock())
@patch('swsscommon.swsscommon.SubscriberStateTable')
@patch('swsscommon.swsscommon.Select.select')
#@patch('swsscommon.swsscommon.Table')
def test_ycable_helper_table_worker(self, mock_select, mock_sub_table):

mock_selectable = MagicMock()
mock_selectable.pop = MagicMock(
side_effect=[('Ethernet0', swsscommon.SET_COMMAND, (('state', 'active'), )), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False)])
mock_select.return_value = (swsscommon.Select.OBJECT, mock_selectable)
mock_sub_table.return_value = mock_selectable


Y_cable_task = YCableTableUpdateTask()
Y_cable_task.task_stopping_event.is_set = MagicMock(side_effect=[False, True])
mock_table = MagicMock()
"""mock_table.getKeys = MagicMock(return_value=['Ethernet0', 'Ethernet4'])
mock_table.get = MagicMock(
side_effect=[(True, (('index', 1), )), (True, (('index', 2), ))])
mock_swsscommon_table.return_value = mock_table
"""
Y_cable_task.hw_mux_cable_tbl_keys = MagicMock(side_effect={0:["Ethernet0", "Ethernet4"]})
Y_cable_task.task_worker()
assert swsscommon.Select.select.call_count == 1


@patch('swsscommon.swsscommon.Select.addSelectable', MagicMock())
@patch('swsscommon.swsscommon.Select.TIMEOUT', MagicMock(return_value=None))
@patch('swsscommon.swsscommon.CastSelectableToRedisSelectObj', MagicMock())
#@patch('swsscommon.swsscommon.CastSelectableToRedisSelectObj.getDbConnector', MagicMock())
@patch('swsscommon.swsscommon.SubscriberStateTable')
@patch('swsscommon.swsscommon.Select.select')
@patch('ycable.ycable_utilities.y_cable_helper.check_mux_cable_port_type', MagicMock(return_value=(True,"active-active")))
def test_ycable_helper_table_worker_active_active(self, mock_select, mock_sub_table):

mock_selectable = MagicMock()
mock_selectable.pop = MagicMock(
side_effect=[('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), ('Ethernet0', swsscommon.SET_COMMAND, (('index', '1'), )), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False)])
mock_select.return_value = (swsscommon.Select.OBJECT, mock_selectable)
mock_sub_table.return_value = mock_selectable


Y_cable_task = YCableTableUpdateTask()
Y_cable_task.task_stopping_event.is_set = MagicMock(side_effect=[False, True])
Y_cable_task.task_worker()
assert swsscommon.Select.select.call_count == 1



@patch('ycable.ycable_utilities.y_cable_helper.check_mux_cable_port_type', MagicMock(return_value=(True,"active-active")))
@patch('swsscommon.swsscommon.Select.addSelectable', MagicMock())
@patch('swsscommon.swsscommon.Select.TIMEOUT', MagicMock(return_value=None))
@patch('swsscommon.swsscommon.CastSelectableToRedisSelectObj', MagicMock())
@patch('ycable.ycable_utilities.y_cable_helper.grpc_port_stubs', MagicMock(return_value={}))
@patch('ycable.ycable_utilities.y_cable_helper.grpc_port_channels', MagicMock(return_value={}))
#@patch('swsscommon.swsscommon.CastSelectableToRedisSelectObj.getDbConnector', MagicMock())
@patch('swsscommon.swsscommon.FieldValuePairs', MagicMock())
@patch('swsscommon.swsscommon.SubscriberStateTable')
@patch('swsscommon.swsscommon.Select.select')
#@patch('swsscommon.swsscommon.Table')
def test_ycable_helper_table_worker_probe_active_active(self, mock_select, mock_sub_table):

mock_selectable = MagicMock()
mock_selectable.pop = MagicMock(
side_effect=[(False, False, False), (False, False, False), (False, False, False), ('Ethernet0', swsscommon.SET_COMMAND, (('state', 'active'), )), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False)])
mock_select.return_value = (swsscommon.Select.OBJECT, mock_selectable)
mock_sub_table.return_value = mock_selectable


Y_cable_task = YCableTableUpdateTask()
Y_cable_task.task_stopping_event.is_set = MagicMock(side_effect=[False, True])
"""
mock_table = MagicMock()
mock_table.getKeys = MagicMock(return_value=['Ethernet0', 'Ethernet4'])
mock_table.get = MagicMock(
side_effect=[(True, (('index', 1), )), (True, (('index', 2), ))])
mock_swsscommon_table.return_value = mock_table
"""

Y_cable_task.hw_mux_cable_tbl_keys = MagicMock(side_effect={0:["Ethernet0", "Ethernet4"]})
Y_cable_task.task_worker()
assert swsscommon.Select.select.call_count == 1







@patch('ycable.ycable_utilities.y_cable_helper.check_mux_cable_port_type', MagicMock(return_value=(True,"active-active")))
@patch('swsscommon.swsscommon.Select.addSelectable', MagicMock())
@patch('swsscommon.swsscommon.Select.TIMEOUT', MagicMock(return_value=None))
@patch('swsscommon.swsscommon.CastSelectableToRedisSelectObj', MagicMock())
@patch('ycable.ycable_utilities.y_cable_helper.grpc_port_stubs', MagicMock(return_value={}))
@patch('ycable.ycable_utilities.y_cable_helper.grpc_port_channels', MagicMock(return_value={}))
@patch('swsscommon.swsscommon.FieldValuePairs', MagicMock())
#@patch('swsscommon.swsscommon.CastSelectableToRedisSelectObj.getDbConnector', MagicMock())
@patch('swsscommon.swsscommon.SubscriberStateTable')
@patch('swsscommon.swsscommon.Select.select')
#@patch('swsscommon.swsscommon.Table')
def test_ycable_helper_table_worker_probe_active(self, mock_select, mock_sub_table):

mock_selectable = MagicMock()
mock_selectable.pop = MagicMock(
side_effect=[(False, False, False), (False, False, False), ('Ethernet0', swsscommon.SET_COMMAND, (('state', 'active'), ('command', 'probe'),)), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False)])
mock_select.return_value = (swsscommon.Select.OBJECT, mock_selectable)
mock_sub_table.return_value = mock_selectable


Y_cable_task = YCableTableUpdateTask()
Y_cable_task.task_stopping_event.is_set = MagicMock(side_effect=[False, True])
"""
mock_table = MagicMock()
mock_table.getKeys = MagicMock(return_value=['Ethernet0', 'Ethernet4'])
mock_table.get = MagicMock(
side_effect=[(True, (('index', 1), )), (True, (('index', 2), ))])
mock_swsscommon_table.return_value = mock_table
"""

Y_cable_task.hw_mux_cable_tbl_keys = MagicMock(side_effect={0:["Ethernet0", "Ethernet4"]})
Y_cable_task.task_worker()
assert swsscommon.Select.select.call_count == 1






@patch('swsscommon.swsscommon.Select.addSelectable', MagicMock())
@patch('swsscommon.swsscommon.Select.TIMEOUT', MagicMock(return_value=None))
@patch('swsscommon.swsscommon.CastSelectableToRedisSelectObj', MagicMock())
#@patch('swsscommon.swsscommon.CastSelectableToRedisSelectObj.getDbConnector', MagicMock())
@patch('swsscommon.swsscommon.SubscriberStateTable')
@patch('swsscommon.swsscommon.Select.select')
#@patch('swsscommon.swsscommon.Table')
def test_ycable_helper_table_worker_probe(self, mock_select, mock_sub_table):

mock_selectable = MagicMock()
mock_selectable.pop = MagicMock(
side_effect=[(False, False, False), ('Ethernet0', swsscommon.SET_COMMAND, (('state', 'active'), )), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False)])
mock_select.return_value = (swsscommon.Select.OBJECT, mock_selectable)
mock_sub_table.return_value = mock_selectable


Y_cable_task = YCableTableUpdateTask()
Y_cable_task.task_stopping_event.is_set = MagicMock(side_effect=[False, True])
#mock_table = MagicMock()
#mock_table.getKeys = MagicMock(return_value=['Ethernet0', 'Ethernet4'])
swsscommon.Table.return_value.get.return_value = (
True, {"read_side": "1", "state":"active"})
#mock_table.get = MagicMock(
# side_effect=[(True, (('index', 1), )), (True, (('index', 2), ))])
swsscommon.Table.return_value.getKeys.return_value = (
['Ethernet0', 'Ethernet4'])
#mock_swsscommon_table.return_value = mock_table

Y_cable_task.task_worker()
assert swsscommon.Select.select.call_count == 1


@patch('swsscommon.swsscommon.Select.addSelectable', MagicMock())
@patch('swsscommon.swsscommon.Select.TIMEOUT', MagicMock(return_value=None))
@patch('swsscommon.swsscommon.CastSelectableToRedisSelectObj', MagicMock())
#@patch('swsscommon.swsscommon.CastSelectableToRedisSelectObj.getDbConnector', MagicMock())
@patch('swsscommon.swsscommon.SubscriberStateTable')
@patch('swsscommon.swsscommon.Select.select')
#@patch('swsscommon.swsscommon.Table')
def test_ycable_helper_table_worker_toggle(self, mock_select, mock_sub_table):

mock_selectable = MagicMock()
mock_selectable.pop = MagicMock(
side_effect=[('Ethernet0', swsscommon.SET_COMMAND, (('state', 'active'), )), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False)])
mock_select.return_value = (swsscommon.Select.OBJECT, mock_selectable)
mock_sub_table.return_value = mock_selectable


Y_cable_task = YCableTableUpdateTask()
Y_cable_task.task_stopping_event.is_set = MagicMock(side_effect=[False, True])
#mock_table = MagicMock()
#mock_table.getKeys = MagicMock(return_value=['Ethernet0', 'Ethernet4'])
swsscommon.Table.return_value.get.return_value = (
True, {"read_side": "1", "state":"active"})
#mock_table.get = MagicMock(
# side_effect=[(True, (('index', 1), )), (True, (('index', 2), ))])
swsscommon.Table.return_value.getKeys.return_value = (
['Ethernet0', 'Ethernet4'])
#mock_swsscommon_table.return_value = mock_table

Y_cable_task.task_worker()
assert swsscommon.Select.select.call_count == 1


@patch('ycable.ycable_utilities.y_cable_helper.check_mux_cable_port_type', MagicMock(return_value=(True,"active-active")))
@patch('swsscommon.swsscommon.Select.addSelectable', MagicMock())
@patch('swsscommon.swsscommon.Select.TIMEOUT', MagicMock(return_value=None))
@patch('swsscommon.swsscommon.CastSelectableToRedisSelectObj', MagicMock())
@patch('ycable.ycable_utilities.y_cable_helper.grpc_port_stubs', MagicMock(return_value={}))
@patch('ycable.ycable_utilities.y_cable_helper.grpc_port_channels', MagicMock(return_value={}))
@patch('swsscommon.swsscommon.FieldValuePairs', MagicMock())
#@patch('swsscommon.swsscommon.CastSelectableToRedisSelectObj.getDbConnector', MagicMock())
@patch('swsscommon.swsscommon.SubscriberStateTable')
@patch('swsscommon.swsscommon.Select.select')
#@patch('swsscommon.swsscommon.Table')
def test_ycable_helper_table_worker_toggle_active_active(self, mock_select, mock_sub_table):

mock_selectable = MagicMock()
mock_selectable.pop = MagicMock(
side_effect=[('Ethernet0', swsscommon.SET_COMMAND, (('state', 'active'), ("command", "probe"),)), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False), (False, False, False)])
mock_select.return_value = (swsscommon.Select.OBJECT, mock_selectable)
mock_sub_table.return_value = mock_selectable


Y_cable_task = YCableTableUpdateTask()
Y_cable_task.task_stopping_event.is_set = MagicMock(side_effect=[False, True])
#mock_table = MagicMock()
#mock_table.getKeys = MagicMock(return_value=['Ethernet0', 'Ethernet4'])
swsscommon.Table.return_value.get.return_value = (
True, {"read_side": "1", "state":"active"})
#mock_table.get = MagicMock(
# side_effect=[(True, (('index', 1), )), (True, (('index', 2), ))])
swsscommon.Table.return_value.getKeys.return_value = (
['Ethernet0', 'Ethernet4'])
#mock_swsscommon_table.return_value = mock_table

Y_cable_task.task_worker()
assert swsscommon.Select.select.call_count == 1


Loading

0 comments on commit 1f14eb1

Please sign in to comment.