def test_default_node_filter(self, obj_mock):
     nodes_obj_mock = obj_mock.NodeCollection
     cluster = mock.MagicMock()
     nodes_list = [
         {
             'id': 1, 'pending_deletion': False, 'pending_addition': False,
             'status': 'provisioned', 'error_type': None
         },
         {
             'id': 2, 'pending_deletion': False, 'pending_addition': False,
             'status': 'ready', 'error_type': None
         },
         {
             'id': 3, 'pending_deletion': False, 'pending_addition': False,
             'status': 'stopped', 'error_type': None
         },
         {
             'id': 4, 'pending_deletion': True, 'pending_addition': False,
             'status': 'stopped', 'error_type': None
         },
         {
             'id': 5, 'pending_deletion': False, 'pending_addition': True,
             'status': 'stopped', 'error_type': None
         },
     ]
     nodes_obj_mock.to_list.return_value = nodes_list
     manager._get_nodes_to_run(cluster, None)
     nodes_obj_mock.filter_by_list.assert_called_once_with(
         mock.ANY, 'id', [1, 2, 3]
     )
 def test_default_node_filter(self, obj_mock):
     nodes_obj_mock = obj_mock.NodeCollection
     cluster = mock.MagicMock()
     nodes_list = [
         {
             'id': 1, 'pending_deletion': False, 'pending_addition': False,
             'status': 'provisioned', 'error_type': None
         },
         {
             'id': 2, 'pending_deletion': False, 'pending_addition': False,
             'status': 'ready', 'error_type': None
         },
         {
             'id': 3, 'pending_deletion': False, 'pending_addition': False,
             'status': 'stopped', 'error_type': None
         },
         {
             'id': 4, 'pending_deletion': True, 'pending_addition': False,
             'status': 'stopped', 'error_type': None
         },
         {
             'id': 5, 'pending_deletion': False, 'pending_addition': True,
             'status': 'stopped', 'error_type': None
         },
     ]
     nodes_obj_mock.to_list.return_value = nodes_list
     manager._get_nodes_to_run(cluster, None)
     nodes_obj_mock.filter_by_list.assert_called_once_with(
         mock.ANY, 'id', [1, 2, 3]
     )
 def test_get_all_nodes_with_empty_ids(self, yaql_mock, obj_mock):
     nodes_obj_mock = obj_mock.NodeCollection
     cluster = mock.MagicMock()
     node_ids = []
     node_filter = '$.pending_deletion'
     manager._get_nodes_to_run(cluster, node_filter, node_ids)
     self.assertEqual(0, nodes_obj_mock.filter_by_list.call_count)
     self.assertEqual(0, yaql_mock.create_context.call_count)
 def test_get_all_nodes_with_empty_ids(self, yaql_mock, obj_mock):
     nodes_obj_mock = obj_mock.NodeCollection
     cluster = mock.MagicMock()
     node_ids = []
     node_filter = '$.pending_deletion'
     manager._get_nodes_to_run(cluster, node_filter, node_ids)
     self.assertEqual(0, nodes_obj_mock.filter_by_list.call_count)
     self.assertEqual(0, yaql_mock.create_context.call_count)
示例#5
0
 def test_ids_has_high_priority_then_node_filter(self, yaql_mock, obj_mock):
     nodes_obj_mock = obj_mock.NodeCollection
     cluster = mock.MagicMock()
     node_ids = [1, 2]
     node_filter = '$.pending_deletion'
     manager._get_nodes_to_run(cluster, node_filter, node_ids)
     nodes_obj_mock.filter_by_list.assert_called_once_with(
         mock.ANY, 'id', node_ids)
     self.assertEqual(0, yaql_mock.create_context.call_count)
 def test_ids_has_high_priority_then_node_filter(self, yaql_mock, obj_mock):
     nodes_obj_mock = obj_mock.NodeCollection
     cluster = mock.MagicMock()
     node_ids = [1, 2]
     node_filter = '$.pending_deletion'
     manager._get_nodes_to_run(cluster, node_filter, node_ids)
     nodes_obj_mock.filter_by_list.assert_called_once_with(
         mock.ANY, 'id', node_ids
     )
     self.assertEqual(0, yaql_mock.create_context.call_count)
 def test_get_no_nodes_if_filter_returns_empty_list(self, obj_mock):
     nodes_obj_mock = obj_mock.NodeCollection
     cluster = mock.MagicMock()
     node_filter = '$.pending_deletion'
     nodes_list = [
         {'id': 1, 'pending_deletion': False},
         {'id': 2, 'pending_deletion': False}
     ]
     nodes_obj_mock.to_list.return_value = nodes_list
     manager._get_nodes_to_run(cluster, node_filter)
     nodes_obj_mock.filter_by_list.assert_called_once_with(
         mock.ANY, 'id', []
     )
 def test_get_no_nodes_if_filter_returns_empty_list(self, obj_mock):
     nodes_obj_mock = obj_mock.NodeCollection
     cluster = mock.MagicMock()
     node_filter = '$.pending_deletion'
     nodes_list = [
         {'id': 1, 'pending_deletion': False},
         {'id': 2, 'pending_deletion': False}
     ]
     nodes_obj_mock.to_list.return_value = nodes_list
     manager._get_nodes_to_run(cluster, node_filter)
     nodes_obj_mock.filter_by_list.assert_called_once_with(
         mock.ANY, 'id', []
     )
示例#9
0
 def test_get_nodes_by_ids(self, objects_mock):
     nodes_obj_mock = objects_mock.NodeCollection
     cluster = mock.MagicMock()
     node_ids = [1, 2]
     filtered_nodes = manager._get_nodes_to_run(cluster, None, node_ids)
     nodes_obj_mock.filter_by.assert_called_once_with(None,
                                                      cluster_id=cluster.id,
                                                      online=True)
     nodes_obj_mock.filter_by_list.assert_called_once_with(
         mock.ANY, 'id', node_ids)
     nodes_obj_mock.order_by.assert_called_once_with(mock.ANY, 'id')
     self.assertEqual(filtered_nodes,
                      nodes_obj_mock.lock_for_update().all())
 def test_get_nodes_by_ids(self, objects_mock):
     nodes_obj_mock = objects_mock.NodeCollection
     cluster = mock.MagicMock()
     node_ids = [1, 2]
     filtered_nodes = manager._get_nodes_to_run(cluster, None, node_ids)
     nodes_obj_mock.filter_by.assert_called_once_with(
         None, cluster_id=cluster.id, online=True
     )
     nodes_obj_mock.filter_by_list.assert_called_once_with(
         mock.ANY, 'id', node_ids
     )
     nodes_obj_mock.order_by.assert_called_once_with(
         mock.ANY, 'id'
     )
     self.assertEqual(
         filtered_nodes, nodes_obj_mock.lock_for_update().all()
     )