summaryrefslogtreecommitdiff
path: root/ironic/tests
diff options
context:
space:
mode:
Diffstat (limited to 'ironic/tests')
-rw-r--r--ironic/tests/unit/api/controllers/v1/test_chassis.py16
-rw-r--r--ironic/tests/unit/api/controllers/v1/test_node.py19
-rw-r--r--ironic/tests/unit/api/controllers/v1/test_port.py19
-rw-r--r--ironic/tests/unit/api/controllers/v1/test_portgroup.py20
-rw-r--r--ironic/tests/unit/api/controllers/v1/test_volume_connector.py22
-rw-r--r--ironic/tests/unit/api/controllers/v1/test_volume_target.py18
6 files changed, 114 insertions, 0 deletions
diff --git a/ironic/tests/unit/api/controllers/v1/test_chassis.py b/ironic/tests/unit/api/controllers/v1/test_chassis.py
index 4718f3076..a46c3e48a 100644
--- a/ironic/tests/unit/api/controllers/v1/test_chassis.py
+++ b/ironic/tests/unit/api/controllers/v1/test_chassis.py
@@ -230,6 +230,22 @@ class TestListChassis(test_api_base.BaseApiTest):
next_marker = data['chassis'][-1]['uuid']
self.assertIn(next_marker, data['next'])
+ def test_collection_links_custom_fields(self):
+ fields = 'extra,uuid'
+ cfg.CONF.set_override('max_limit', 3, 'api')
+ for i in range(5):
+ obj_utils.create_test_chassis(
+ self.context, uuid=uuidutils.generate_uuid())
+
+ data = self.get_json(
+ '/chassis?fields=%s' % fields,
+ headers={api_base.Version.string: str(api_v1.max_version())})
+
+ self.assertEqual(3, len(data['chassis']))
+ next_marker = data['chassis'][-1]['uuid']
+ self.assertIn(next_marker, data['next'])
+ self.assertIn('fields', data['next'])
+
def test_get_collection_pagination_no_uuid(self):
fields = 'extra'
limit = 2
diff --git a/ironic/tests/unit/api/controllers/v1/test_node.py b/ironic/tests/unit/api/controllers/v1/test_node.py
index 9cce45dc3..e5bf31575 100644
--- a/ironic/tests/unit/api/controllers/v1/test_node.py
+++ b/ironic/tests/unit/api/controllers/v1/test_node.py
@@ -736,6 +736,25 @@ class TestListNodes(test_api_base.BaseApiTest):
next_marker = data['nodes'][-1]['uuid']
self.assertIn(next_marker, data['next'])
+ def test_collection_links_custom_fields(self):
+ fields = 'driver_info,uuid'
+ cfg.CONF.set_override('max_limit', 3, 'api')
+ nodes = []
+ for id in range(5):
+ node = obj_utils.create_test_node(self.context,
+ uuid=uuidutils.generate_uuid(),
+ driver_info={'fake': 'value'},
+ properties={'fake': 'bar'})
+ nodes.append(node.uuid)
+ data = self.get_json(
+ '/nodes?fields=%s' % fields,
+ headers={api_base.Version.string: str(api_v1.max_version())})
+ self.assertEqual(3, len(data['nodes']))
+
+ next_marker = data['nodes'][-1]['uuid']
+ self.assertIn(next_marker, data['next'])
+ self.assertIn('fields', data['next'])
+
def test_get_collection_pagination_no_uuid(self):
fields = 'name'
limit = 2
diff --git a/ironic/tests/unit/api/controllers/v1/test_port.py b/ironic/tests/unit/api/controllers/v1/test_port.py
index 67467b932..ea3da1f67 100644
--- a/ironic/tests/unit/api/controllers/v1/test_port.py
+++ b/ironic/tests/unit/api/controllers/v1/test_port.py
@@ -609,6 +609,25 @@ class TestListPorts(test_api_base.BaseApiTest):
next_marker = data['ports'][-1]['uuid']
self.assertIn(next_marker, data['next'])
+ def test_collection_links_custom_fields(self):
+ fields = 'address,uuid'
+ cfg.CONF.set_override('max_limit', 3, 'api')
+ for i in range(5):
+ obj_utils.create_test_port(
+ self.context,
+ uuid=uuidutils.generate_uuid(),
+ node_id=self.node.id,
+ address='52:54:00:cf:2d:3%s' % i)
+
+ data = self.get_json(
+ '/ports?fields=%s' % fields,
+ headers={api_base.Version.string: str(api_v1.max_version())})
+
+ self.assertEqual(3, len(data['ports']))
+ next_marker = data['ports'][-1]['uuid']
+ self.assertIn(next_marker, data['next'])
+ self.assertIn('fields', data['next'])
+
def test_port_by_address(self):
address_template = "aa:bb:cc:dd:ee:f%d"
for id_ in range(3):
diff --git a/ironic/tests/unit/api/controllers/v1/test_portgroup.py b/ironic/tests/unit/api/controllers/v1/test_portgroup.py
index 8591873b1..6e0c01b9b 100644
--- a/ironic/tests/unit/api/controllers/v1/test_portgroup.py
+++ b/ironic/tests/unit/api/controllers/v1/test_portgroup.py
@@ -327,6 +327,26 @@ class TestListPortgroups(test_api_base.BaseApiTest):
next_marker = data['portgroups'][-1]['uuid']
self.assertIn(next_marker, data['next'])
+ def test_collection_links_custom_fields(self):
+ fields = 'address,uuid'
+ cfg.CONF.set_override('max_limit', 3, 'api')
+ for i in range(5):
+ obj_utils.create_test_portgroup(
+ self.context,
+ uuid=uuidutils.generate_uuid(),
+ node_id=self.node.id,
+ name='portgroup%s' % i,
+ address='52:54:00:cf:2d:3%s' % i)
+
+ data = self.get_json(
+ '/portgroups?fields=%s' % fields,
+ headers={api_base.Version.string: str(api_v1.max_version())})
+
+ self.assertEqual(3, len(data['portgroups']))
+ next_marker = data['portgroups'][-1]['uuid']
+ self.assertIn(next_marker, data['next'])
+ self.assertIn('fields', data['next'])
+
def test_get_collection_pagination_no_uuid(self):
fields = 'address'
limit = 2
diff --git a/ironic/tests/unit/api/controllers/v1/test_volume_connector.py b/ironic/tests/unit/api/controllers/v1/test_volume_connector.py
index e1ed61bbe..3f58fae41 100644
--- a/ironic/tests/unit/api/controllers/v1/test_volume_connector.py
+++ b/ironic/tests/unit/api/controllers/v1/test_volume_connector.py
@@ -273,6 +273,28 @@ class TestListVolumeConnectors(test_api_base.BaseApiTest):
next_marker = data['connectors'][-1]['uuid']
self.assertIn(next_marker, data['next'])
+ def test_collection_links_custom_fields(self):
+ cfg.CONF.set_override('max_limit', 3, 'api')
+ connectors = []
+ fields = 'uuid,extra'
+ for i in range(5):
+ connector = obj_utils.create_test_volume_connector(
+ self.context, node_id=self.node.id,
+ uuid=uuidutils.generate_uuid(),
+ connector_id='test-connector_id-%s' % i)
+ connectors.append(connector.uuid)
+
+ data = self.get_json(
+ '/volume/connectors?fields=%s' % fields,
+ headers=self.headers)
+
+ self.assertEqual(3, len(data['connectors']))
+ self.assertIn('volume/connectors', data['next'])
+
+ next_marker = data['connectors'][-1]['uuid']
+ self.assertIn(next_marker, data['next'])
+ self.assertIn('fields', data['next'])
+
def test_get_collection_pagination_no_uuid(self):
fields = 'connector_id'
limit = 2
diff --git a/ironic/tests/unit/api/controllers/v1/test_volume_target.py b/ironic/tests/unit/api/controllers/v1/test_volume_target.py
index abffd3799..cdd014af2 100644
--- a/ironic/tests/unit/api/controllers/v1/test_volume_target.py
+++ b/ironic/tests/unit/api/controllers/v1/test_volume_target.py
@@ -258,6 +258,24 @@ class TestListVolumeTargets(test_api_base.BaseApiTest):
self.assertIn(next_marker, data['next'])
self.assertIn('volume/targets', data['next'])
+ def test_collection_links_custom_fields(self):
+ fields = 'uuid,extra'
+ cfg.CONF.set_override('max_limit', 3, 'api')
+ targets = []
+ for id_ in range(5):
+ target = obj_utils.create_test_volume_target(
+ self.context, node_id=self.node.id,
+ uuid=uuidutils.generate_uuid(), boot_index=id_)
+ targets.append(target.uuid)
+ data = self.get_json('/volume/targets?fields=%s' % fields,
+ headers=self.headers)
+ self.assertEqual(3, len(data['targets']))
+
+ next_marker = data['targets'][-1]['uuid']
+ self.assertIn(next_marker, data['next'])
+ self.assertIn('volume/targets', data['next'])
+ self.assertIn('fields', data['next'])
+
def test_get_collection_pagination_no_uuid(self):
fields = 'boot_index'
limit = 2