def test_good_address_disassociate(self): """ Tests that disassociate runs when clean. """ ctx = self.mock_relationship_context('test_good_address_detach') current_ctx.set(ctx=ctx) address = self.get_address() instance_id = self.get_instance_id() ctx.target.instance.runtime_properties['aws_resource_id'] = \ address.public_ip ctx.source.instance.runtime_properties['instance_id'] = instance_id ctx.source.instance.runtime_properties['ip'] = address.public_ip elasticip.disassociate(ctx=ctx)
def test_existing_address_disassociate(self): """ Tests that when an address that is in the user's EC2 account is provided to the disassociate function no errors are raised """ ctx = self.mock_relationship_context( 'test_existing_address_disassociate') current_ctx.set(ctx=ctx) address = self.get_address() instance_id = self.get_instance_id() ctx.target.node.properties['use_external_resource'] = True ctx.target.node.properties['resource_id'] = address.public_ip ctx.target.instance.runtime_properties['aws_resource_id'] = \ address.public_ip ctx.source.node.properties['use_external_resource'] = True ctx.source.node.properties['resource_id'] = instance_id ctx.source.instance.runtime_properties['aws_resource_id'] = \ instance_id ctx.source.instance.runtime_properties['public_ip_address'] = \ address.public_ip elasticip.disassociate(ctx=ctx) self.assertNotIn( 'public_ip_address', ctx.source.instance.runtime_properties)