Пример #1
0
    def test_delete_composed_node(self, mock_etcd_read, mock_etcd_delete):
        node = utils.get_test_composed_node_db_info()

        mock_etcd_read.return_value = utils.get_etcd_read_result(
            node['uuid'], json.dumps(node))
        db_api.Connection.delete_composed_node(node['uuid'])

        mock_etcd_delete.assert_called_with('/nodes/' + node['uuid'])
Пример #2
0
    def test_get_composed_node_by_uuid(self, mock_etcd_read):
        node = utils.get_test_composed_node_db_info()

        mock_etcd_read.return_value = utils.get_etcd_read_result(
            node['uuid'], json.dumps(node))
        result = db_api.Connection.get_composed_node_by_uuid(node['uuid'])

        self.assertEqual(node, result.as_dict())
        mock_etcd_read.assert_called_once_with('/nodes/' + node['uuid'])
Пример #3
0
    def test_get_composed_node_not_found(self, mock_etcd_read):
        node = utils.get_test_composed_node_db_info()
        mock_etcd_read.side_effect = etcd.EtcdKeyNotFound

        with self.assertRaises(exception.NotFound) as context:  # noqa: H202
            db_api.Connection.get_composed_node_by_uuid(node['uuid'])

        self.assertTrue("Composed node '{0}' not found in database.".format(
            node['uuid']) in str(context.exception))
        mock_etcd_read.assert_called_once_with('/nodes/' + node['uuid'])
Пример #4
0
    def test_get_composed_node_by_uuid(self, mock_redfish_get_node):
        """Test get composed node detail"""
        node_hw = node_fakes.get_test_composed_node()
        node_db = test_utils.get_test_composed_node_db_info()

        self.node_controller.node = node_db
        mock_redfish_get_node.return_value = node_hw

        result = self.node_controller.get_composed_node_by_uuid()
        expected = copy.deepcopy(node_hw)
        expected.update(node_db)
        self.assertEqual(expected, result)
Пример #5
0
    def test_list_composed_nodes(self, mock_db_list_composed_nodes):
        """Test list all composed nodes"""
        node_db = test_utils.get_test_composed_node_db_info()

        mock_db_model = mock.MagicMock()
        mock_db_model.as_dict.return_value = node_db
        mock_db_list_composed_nodes.return_value = [mock_db_model]

        expected = [nodes.Node._show_node_brief_info(node_db)]

        result = nodes.Node.list_composed_nodes()

        self.assertEqual(expected, result)
Пример #6
0
    def test_create_composed_node(self, mock_etcd_read, mock_etcd_write):
        node = utils.get_test_composed_node_db_info()
        fake_utcnow = '2017-01-01 00:00:00 UTC'
        node['created_at'] = fake_utcnow
        node['updated_at'] = fake_utcnow

        # Mark this uuid don't exist in etcd db
        mock_etcd_read.side_effect = etcd.EtcdKeyNotFound

        result = db_api.Connection.create_composed_node(node)
        self.assertEqual(node, result.as_dict())
        mock_etcd_read.assert_called_once_with('/nodes/' + node['uuid'])
        mock_etcd_write.assert_called_once_with('/nodes/' + node['uuid'],
                                                json.dumps(result.as_dict()))
Пример #7
0
    def test_update_composed_node(self, mock_etcd_read, mock_etcd_write):
        node = utils.get_test_composed_node_db_info()

        mock_etcd_read.return_value = utils.get_etcd_read_result(
            node['uuid'], json.dumps(node))

        fake_utcnow = '2017-01-01 00:00:00 UTC'
        node['updated_at'] = fake_utcnow
        node.update({'index': '2'})

        result = db_api.Connection.update_composed_node(
            node['uuid'], {'index': '2'})

        self.assertEqual(node, result.as_dict())
        mock_etcd_read.assert_called_with('/nodes/' + node['uuid'])
        mock_etcd_write.assert_called_with('/nodes/' + node['uuid'],
                                           json.dumps(result.as_dict()))
Пример #8
0
    def test_list_composed_nodes(self, mock_etcd_read):
        node = utils.get_test_composed_node_db_info()
        node2 = copy.deepcopy(node)
        node2['uuid'] = '5a8e2a25-2901-438d-8157-de7ffd68d05'
        node2['podm_id'] = 'da8e2a25-2901-438d-8157-de7ffd685'

        mock_etcd_read.return_value = utils.get_etcd_read_list(
            '/nodes', json.dumps(node), json.dumps(node2))

        # check without filters
        result = db_api.Connection.list_composed_nodes()
        result = [val.as_dict() for val in result]
        self.assertEqual(result, [node, node2])

        # check with filters
        filters = {'podm_id': 'da8e2a25-2901-438d-8157-de7ffd685'}
        result = db_api.Connection.list_composed_nodes(filters)
        result = [val.as_dict() for val in result]
        self.assertEqual(result, [node2])
Пример #9
0
 def setUp(self, mock_redfish, mock_connection):
     self.node_controller = nodes.Node(podm_id='test-podm-1')
     self.node_controller.node = test_utils.get_test_composed_node_db_info()
     self.node_controller.connection = podm_base.PodManagerBase(
         'fake', 'fake-pass', 'http://fake-url')
Пример #10
0
 def test_delete_composed_node(self, mock_db_delete_composed_node):
     """Test delete composed node"""
     node_db = test_utils.get_test_composed_node_db_info()
     self.node_controller.node = node_db
     self.node_controller.delete_composed_node()
     mock_db_delete_composed_node.assert_called_once_with(node_db["uuid"])