Unit-tests for modify network interaces' delete_on_termination flag

Change-Id: Ic9b61a80d297df8ed2d949680dccff5b05ac01fd
This commit is contained in:
Feodor Tersin 2015-03-21 01:16:46 +03:00
parent 2801f9e687
commit 36d665e716
2 changed files with 42 additions and 2 deletions

View File

@ -141,7 +141,6 @@ Instance related:
Network interface related:
- availabilityZone NetworkInterface property
- deleteOnTermination (modification is not supported)
Snapshot related:
- CopySnapshot

View File

@ -403,7 +403,8 @@ class NetworkInterfaceTestCase(base.ApiTestCase):
resp['description'].get('value', None))
def test_modify_network_interface_attribute(self):
self.set_mock_db_items(fakes.DB_NETWORK_INTERFACE_1)
self.set_mock_db_items(fakes.DB_NETWORK_INTERFACE_1,
fakes.DB_NETWORK_INTERFACE_2)
self.execute(
'ModifyNetworkInterfaceAttribute',
@ -414,6 +415,18 @@ class NetworkInterfaceTestCase(base.ApiTestCase):
tools.update_dict(fakes.DB_NETWORK_INTERFACE_1,
{'description': 'New description'}))
self.db_api.reset_mock()
self.execute(
'ModifyNetworkInterfaceAttribute',
{'NetworkInterfaceId': fakes.ID_EC2_NETWORK_INTERFACE_2,
'Attachment.AttachmentId': (
fakes.ID_EC2_NETWORK_INTERFACE_2_ATTACH),
'Attachment.DeleteOnTermination': 'True'})
self.db_api.update_item.assert_called_once_with(
mock.ANY,
tools.update_dict(fakes.DB_NETWORK_INTERFACE_2,
{'delete_on_termination': True}))
def test_modify_network_interface_attribute_invalid_parameters(self):
self.assert_execution_error(
'InvalidParameterCombination', 'ModifyNetworkInterfaceAttribute',
@ -421,6 +434,34 @@ class NetworkInterfaceTestCase(base.ApiTestCase):
'Description.Value': 'New description',
'SourceDestCheck.Value': 'True'})
self.set_mock_db_items(fakes.DB_NETWORK_INTERFACE_1,
fakes.DB_NETWORK_INTERFACE_2)
self.assert_execution_error(
'MissingParameter', 'ModifyNetworkInterfaceAttribute',
{'NetworkInterfaceId': fakes.ID_EC2_NETWORK_INTERFACE_2,
'Attachment.DeleteOnTermination': 'True'})
self.assert_execution_error(
'MissingParameter', 'ModifyNetworkInterfaceAttribute',
{'NetworkInterfaceId': fakes.ID_EC2_NETWORK_INTERFACE_2,
'Attachment.AttachmentId': (
fakes.ID_EC2_NETWORK_INTERFACE_2_ATTACH)})
self.assert_execution_error(
'InvalidAttachmentID.NotFound', 'ModifyNetworkInterfaceAttribute',
{'NetworkInterfaceId': fakes.ID_EC2_NETWORK_INTERFACE_1,
'Attachment.AttachmentId': (
fakes.ID_EC2_NETWORK_INTERFACE_2_ATTACH),
'Attachment.DeleteOnTermination': 'True'})
self.assert_execution_error(
'InvalidAttachmentID.NotFound', 'ModifyNetworkInterfaceAttribute',
{'NetworkInterfaceId': fakes.ID_EC2_NETWORK_INTERFACE_2,
'Attachment.AttachmentId': ec2utils.change_ec2_id_kind(
fakes.ID_EC2_NETWORK_INTERFACE_1, 'eni-attach'),
'Attachment.DeleteOnTermination': 'True'})
def test_reset_network_interface_attribute(self):
self.execute(
'ResetNetworkInterfaceAttribute',