Patch to enforce json extension works in existing API behaviour

of giving .json extensions a specially treatment.

This is me testing the tempest waters...

Change-Id: I613e596e8cf52f36b9c7caac30bdb3ff0d3bf821
This commit is contained in:
cid 2024-03-21 20:08:54 +01:00
parent f5bfe9b319
commit 201b7d9d80
1 changed files with 109 additions and 0 deletions

View File

@ -53,6 +53,17 @@ class TestNodes(base.BaseBaremetalTest):
_, body = self.create_node(self.chassis['uuid'], **params)
self._assertExpected(params, body['properties'])
@decorators.idempotent_id('f1ff399b-244f-42b6-8f72-30a12128de53')
def test_create_node_with_json_in_name(self):
params = {'cpu_arch': 'x86_64',
'cpus': '12',
'local_gb': '10',
'memory_mb': '1024',
'name': 'node.json'}
_, body = self.create_node(chassis_id=self.chassis['uuid'], **params)
self.assertIn('node.json', body['properties'])
@decorators.idempotent_id('9ade60a4-505e-4259-9ec4-71352cbbaf47')
def test_delete_node(self):
_, node = self.create_node(self.chassis['uuid'])
@ -62,11 +73,71 @@ class TestNodes(base.BaseBaremetalTest):
self.assertRaises(lib_exc.NotFound, self.client.show_node,
node['uuid'])
@decorators.idempotent_id('75209190-6942-4a29-9996-33e4d9398456')
def test_delete_node_with_json(self):
_, node = self.create_node(self.chassis['uuid'])
node_name = '%s.json' % node['uuid']
self.delete_node(node_name)
self.assertRaises(lib_exc.NotFound, self.client.show_node,
node['uuid'])
@decorators.idempotent_id('d8cfcc21-50e9-4909-b407-ae16bce59598')
def test_delete_node_with_json_in_name(self):
_, node = self.create_node(name='node.json',
chassis_id=self.chassis['uuid'])
self.delete_node(node['uuid'])
self.assertRaises(lib_exc.NotFound, self.client.show_node,
node['uuid'])
@decorators.idempotent_id('75209190-6942-4a29-9996-33e4d9398456')
def test_delete_node_with_double_json(self):
_, node = self.create_node(name='node.json',
chassis_id=self.chassis['uuid'])
node_name = '%s.json' % node['uuid']
self.delete_node(node_name)
self.assertRaises(lib_exc.NotFound, self.client.show_node,
node['uuid'])
@decorators.idempotent_id('55451300-057c-4ecf-8255-ba42a83d3a03')
def test_show_node(self):
_, loaded_node = self.client.show_node(self.node['uuid'])
self._assertExpected(self.node, loaded_node)
@decorators.idempotent_id('5eec6c1d-5a1a-4916-9c48-7c573f32957e')
def test_show_node_with_json(self):
node_name = '%s.json' % self.node['uuid']
_, loaded_node = self.client.show_node(node_name)
self._assertExpected(self.node, loaded_node)
@decorators.idempotent_id('5d1f973f-aa9d-4e3c-80b8-2f86f1acda05')
def test_show_node_with_json_in_name(self):
_, node = self.create_node(name='node.json',
chassis_id=self.chassis['uuid'])
_, loaded_node = self.client.show_node(node['uuid'])
self.assertIn('node.json', loaded_node)
@decorators.idempotent_id('dd0acdca-c3b8-4544-8a9a-af7a9f077532')
def test_show_node_with_double_json(self):
_, node = self.create_node(name='node.json',
chassis_id=self.chassis['uuid'])
node_name = '%s.json' % node['uuid']
_, loaded_node = self.client.show_node(node_name)
self.assertIn('node.json', loaded_node)
@decorators.idempotent_id('3e3cd729-cf16-4bdd-bdc7-c6cf252df533')
def test_show_node_with_suffix(self):
_, node = self.create_node(name='node.1',
chassis_id=self.chassis['uuid'])
_, loaded_node = self.client.show_node(node['uuid'])
self.assertIn('node.1', loaded_node)
@decorators.idempotent_id('4ca123c4-160d-4d8d-a3f7-15feda812263')
def test_list_nodes(self):
_, body = self.client.list_nodes()
@ -119,6 +190,44 @@ class TestNodes(base.BaseBaremetalTest):
_, node = self.client.show_node(node['uuid'])
self._assertExpected(new_p, node['properties'])
@decorators.idempotent_id('2ffec2ec-3dca-4e4f-ac6c-dee7c44cdef5')
def test_update_node_with_json(self):
props = {'cpu_arch': 'x86_64',
'cpus': '12',
'local_gb': '10',
'memory_mb': '128'}
_, node = self.create_node(self.chassis['uuid'], **props)
new_p = {'cpu_arch': 'arm64',
'cpus': '1',
'local_gb': '10000',
'memory_mb': '12300'}
node_name = '%s.json' % node['uuid']
_, body = self.client.update_node(node_name, properties=new_p)
_, node = self.client.show_node(node['uuid'])
self._assertExpected(new_p, node['properties'])
@decorators.idempotent_id('b19497d2-4425-499f-8957-3b973ea35ad4')
def test_update_node_with_json_in_name(self):
props = {'cpu_arch': 'x86_64',
'cpus': '12',
'local_gb': '10',
'memory_mb': '128'}
_, node = self.create_node(chassis_id=self.chassis['uuid'], **props)
new_p = {'cpu_arch': 'arm64',
'cpus': '1',
'local_gb': '10000',
'memory_mb': '12300',
'name': 'node.json'}
_, body = self.client.update_node(node['uuid'], properties=new_p)
_, node = self.client.show_node(node['uuid'])
self.assertIn('node.json', node['properties'])
@decorators.idempotent_id('cbf1f515-5f4b-4e49-945c-86bcaccfeb1d')
def test_validate_driver_interface(self):
_, body = self.client.validate_driver_interface(self.node['uuid'])