tempest.lib.decorators.idempotent_id

Here are the examples of the python api tempest.lib.decorators.idempotent_id taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

199 Examples 7

Example 1

Project: ec2-api Source File: test_paging.py
    @decorators.idempotent_id('683883d5-9a94-43f2-a1eb-d193db0e44e9')
    def test_simple_tags_paging_with_min_results(self):
        volume_id = self._create_volume_and_tags()[0]

        data = self.client.describe_tags(
            MaxResults=5,
            Filters=[{'Name': 'resource-id', 'Values': [volume_id]},
                     {'Name': 'tag-value', 'Values': ['aaa']}])
        self.assertIn('NextToken', data)
        self.assertNotEmpty(data['Tags'])

Example 2

Project: ec2-api Source File: test_paging.py
Function: test_invalid_paging
    @decorators.idempotent_id('83183fac-bb9b-4c36-8d23-84ed55c57015')
    def test_invalid_paging(self):
        self.assertRaises('InvalidParameterValue',
            self.client.describe_volumes, MaxResults=4)

        self.assertRaises('InvalidParameterCombination',
            self.client.describe_volumes,
            MaxResults=5, VolumeIds=[self.ids[0]])

Example 3

Project: ec2-api Source File: test_tags.py
    @decorators.idempotent_id('249f59cf-2fcd-47ac-a233-682f17fc3129')
    def test_create_get_delete_tag(self):
        tag_key = data_utils.rand_name('tag-key')
        self.client.create_tags(Resources=[self.volume_id],
            Tags=[{'Key': tag_key, 'Value': 'fake_value'}])
        self.addResourceCleanUp(self.client.delete_tags,
                                Resources=[self.volume_id],
                                Tags=[{'Key': tag_key}])

        data = self.client.describe_tags(
            Filters=[{'Name': 'resource-id', 'Values': [self.volume_id]}])
        self.assertEqual(1, len(data['Tags']))

        self.client.delete_tags(Resources=[self.volume_id],
                                Tags=[{'Key': tag_key}])

        data = self.client.describe_tags(
            Filters=[{'Name': 'resource-id', 'Values': [self.volume_id]}])
        self.assertEqual(0, len(data['Tags']))

Example 4

Project: ec2-api Source File: test_vpcs.py
    @decorators.idempotent_id('62263b68-6991-4bbe-b7b2-9997a84fd0a5')
    def test_describe_with_invalid_filter(self):
        cidr = '10.1.0.0/16'
        data = self.client.create_vpc(CidrBlock=cidr)
        vpc_id = data['Vpc']['VpcId']
        dv_clean = self.addResourceCleanUp(self.client.delete_vpc,
                                           VpcId=vpc_id)
        self.get_vpc_waiter().wait_available(vpc_id)

        self.assertRaises('InvalidParameterValue',
                          self.client.describe_vpcs,
                          Filters=[{'Name': 'unknown', 'Values': ['unknown']}])

        data = self.client.delete_vpc(VpcId=vpc_id)
        self.cancelResourceCleanUp(dv_clean)
        self.get_vpc_waiter().wait_delete(vpc_id)

Example 5

Project: ec2-api Source File: test_tags.py
    @base.skip_without_vpc()
    @decorators.idempotent_id('a223af28-b355-4404-a465-7fc9e9d71ad7')
    def test_tag_internet_gateway(self):
        data = self.client.create_internet_gateway()
        gw_id = data['InternetGateway']['InternetGatewayId']
        res_clean = self.addResourceCleanUp(
            self.client.delete_internet_gateway, InternetGatewayId=gw_id)

        def describe_func(*args, **kwargs):
            data = self.client.describe_internet_gateways(*args, **kwargs)
            self.assertEqual(1, len(data['InternetGateways']))
            self.assertEqual(gw_id,
                             data['InternetGateways'][0]['InternetGatewayId'])

        self._test_tag_resource(gw_id, 'internet-gateway', describe_func)

        self.client.delete_internet_gateway(InternetGatewayId=gw_id)
        self.cancelResourceCleanUp(res_clean)

Example 6

Project: ec2-api Source File: test_security_groups.py
Function: test_create_duplicate_security_group
    @decorators.idempotent_id('fe209503-c348-4456-94b4-a77e68fabcbb')
    def test_create_duplicate_security_group(self):
        name = data_utils.rand_name('sgName')
        desc = data_utils.rand_name('sgDesc')
        data = self.client.create_security_group(VpcId=self.vpc_id,
                                                 GroupName=name,
                                                 Description=desc)
        group_id = data['GroupId']
        res_clean = self.addResourceCleanUp(self.client.delete_security_group,
                                            GroupId=group_id)
        time.sleep(2)

        self.assertRaises('InvalidGroup.Duplicate',
            self.client.create_security_group,
            VpcId=self.vpc_id, GroupName=name, Description=desc)

        data = self.client.delete_security_group(GroupId=group_id)
        self.cancelResourceCleanUp(res_clean)

Example 7

Project: ec2-api Source File: test_paging.py
    @decorators.idempotent_id('ec6d68bb-37f3-4c5c-b4c5-000d73fbc1bf')
    def test_tags_paging_with_tags_deletion(self):
        volume_id, keys = self._create_volume_and_tags()

        data = self.client.describe_tags(MaxResults=5,
            Filters=[{'Name': 'resource-id', 'Values': [volume_id]}])
        self.assertIn('NextToken', data)
        self.assertNotEmpty(data['Tags'])
        for key in keys:
            self.client.delete_tags(Resources=[volume_id], Tags=[{'Key': key}])
        data = self.client.describe_tags(
            MaxResults=5, NextToken=data['NextToken'],
            Filters=[{'Name': 'resource-id', 'Values': [volume_id]}])
        self.assertNotIn('NextToken', data)
        self.assertEmpty(data['Tags'])

Example 8

Project: ec2-api Source File: test_key_pairs.py
    @decorators.idempotent_id('0e51eec5-3f61-4d8a-89c9-8d098f381682')
    def test_import_empty_key_pair(self):
        keyName = 'Test key'
        publicKey = ''

        def _rollback(fn_data):
            self.client.delete_key_pair(KeyName=keyName)

        self.assertRaises('MissingParameter',
                          self.client.import_key_pair,
                          rollback_fn=_rollback,
                          KeyName=keyName, PublicKeyMaterial=publicKey)

Example 9

Project: ec2-api Source File: test_paging.py
Function: test_invalid_paging
    @decorators.idempotent_id('8379d875-2979-4573-858f-2fd331ae992c')
    def test_invalid_paging(self):
        self.assertRaises('InvalidParameterValue',
            self.client.describe_snapshots, MaxResults=4)

        self.assertRaises('InvalidParameterCombination',
            self.client.describe_snapshots,
            MaxResults=5, SnapshotIds=[self.ids[0]])

Example 10

Project: ec2-api Source File: test_network_interfaces.py
    @decorators.idempotent_id('8c174e5f-e377-4bf2-9315-b868a8199c17')
    def test_unassign_primary_addresses(self):
        data = self.client.create_network_interface(SubnetId=self.subnet_id)
        ni_id = data['NetworkInterface']['NetworkInterfaceId']
        res_clean = self.addResourceCleanUp(
            self.client.delete_network_interface, NetworkInterfaceId=ni_id)
        primary_address = data['NetworkInterface'].get('PrivateIpAddress')
        self.get_network_interface_waiter().wait_available(ni_id)

        self.assertRaises('InvalidParameterValue',
                          self.client.unassign_private_ip_addresses,
                          NetworkInterfaceId=ni_id,
                          PrivateIpAddresses=[primary_address])

        self.client.delete_network_interface(NetworkInterfaceId=ni_id)
        self.cancelResourceCleanUp(res_clean)
        self.get_network_interface_waiter().wait_delete(ni_id)

Example 11

Project: ec2-api Source File: test_vpcs.py
    @decorators.idempotent_id('8c5f1e82-05da-40e0-8ee8-640db2d94dd6')
    def test_create_with_invalid_cidr(self):
        def _rollback(fn_data):
            self.client.delete_vpc(VpcId=fn_data['Vpc']['VpcId'])

        # NOTE(andrey-mp): The largest uses a /16 netmask
        self.assertRaises('InvalidVpc.Range',
                          self.client.create_vpc, rollback_fn=_rollback,
                          CidrBlock='10.0.0.0/15')

        # NOTE(andrey-mp): The smallest VPC you can create uses a /28 netmask
        self.assertRaises('InvalidVpc.Range',
                          self.client.create_vpc, rollback_fn=_rollback,
                          CidrBlock='10.0.0.0/29')

Example 12

Project: ec2-api Source File: test_tags.py
    @base.skip_without_vpc()
    @decorators.idempotent_id('0667c68b-9d3c-4599-9335-0cee68ba5d80')
    def test_tag_vpc(self):
        cidr = '10.1.0.0/16'
        data = self.client.create_vpc(CidrBlock=cidr)
        vpc_id = data['Vpc']['VpcId']
        dv_clean = self.addResourceCleanUp(
            self.client.delete_vpc, VpcId=vpc_id)

        def describe_func(*args, **kwargs):
            data = self.client.describe_vpcs(*args, **kwargs)
            self.assertEqual(1, len(data['Vpcs']))
            self.assertEqual(vpc_id, data['Vpcs'][0]['VpcId'])

        self._test_tag_resource(vpc_id, 'vpc', describe_func)

        self.client.delete_vpc(VpcId=vpc_id)
        self.cancelResourceCleanUp(dv_clean)
        self.get_vpc_waiter().wait_delete(vpc_id)

Example 13

Project: ec2-api Source File: test_regions.py
    @decorators.idempotent_id('be38f383-4637-4581-bb62-b47c1463f0a1')
    def test_describe_zones(self):
        data = self.client.describe_availability_zones()
        self.assertNotEmpty(data['AvailabilityZones'])

        region = CONF.aws.aws_region
        if not region:
            return

Example 14

Project: ec2-api Source File: test_instances_in_vpc.py
    @base.skip_without_vpc()
    @decorators.idempotent_id('7bf8e80c-cd05-4ccb-944a-e4b09825d151')
    @testtools.skipUnless(CONF.aws.run_ssh, 'SSH tests are disabled.')
    @testtools.skipUnless(CONF.aws.image_id, "image id is not defined")
    def test_instances_in_max_subnet(self):
        self._test_instances(16)

Example 15

Project: ec2-api Source File: test_key_pairs.py
    @decorators.idempotent_id('15cfd866-d6bb-473a-9b8a-6420900a5ca3')
    def test_create_delete_key_pair(self):
        keyName = 'Test key'
        data = self.client.create_key_pair(KeyName=keyName)
        res_clean = self.addResourceCleanUp(self.client.delete_key_pair,
                                            KeyName=keyName)

        self.assertEqual(keyName, data['KeyName'])
        self.assertIsNotNone(data.get('KeyFingerprint'))
        self.assertGreater(len(data['KeyFingerprint']), 0)
        self.assertGreater(len(data.get('KeyMaterial')), 0)

        data = self.client.delete_key_pair(KeyName=keyName)
        self.cancelResourceCleanUp(res_clean)

Example 16

Project: ec2-api Source File: test_paging.py
    @decorators.idempotent_id('a4d7b315-9616-4f9e-85b7-0f892e09a9a2')
    def test_tags_paging_with_const_filter(self):
        volume_id = self._create_volume_and_tags()[0]

        data = self.client.describe_tags(
            MaxResults=5,
            Filters=[{'Name': 'resource-id', 'Values': [volume_id]},
                     {'Name': 'tag-value', 'Values': ['aaa']}])
        self.assertIn('NextToken', data)
        self.assertNotEmpty(data['Tags'])
        data = self.client.describe_tags(
            MaxResults=5, NextToken=data['NextToken'],
            Filters=[{'Name': 'resource-id', 'Values': [volume_id]},
                     {'Name': 'tag-value', 'Values': ['aaa']}])
        self.assertNotIn('NextToken', data)
        self.assertNotEmpty(data['Tags'])

Example 17

Project: ec2-api Source File: test_security_groups.py
    @decorators.idempotent_id('b80c578d-0c0d-4c7e-b0ee-a7ed23b6b209')
    @testtools.skipUnless(CONF.aws.run_incompatible_tests,
        "MismatchError: 'MissingParameter' != 'ValidationError'")
    def test_create_invalid_name_desc(self):
        valid = data_utils.rand_name('sgName')

        self.assertRaises('MissingParameter',
            self.client.create_security_group,
            GroupName=valid, Description='')

        self.assertRaises('MissingParameter',
            self.client.create_security_group,
            GroupName='', Description=valid)

        self.assertRaises('InvalidGroup.Reserved',
            self.client.create_security_group,
            GroupName='default', Description='default')

Example 18

Project: ec2-api Source File: test_paging.py
    @decorators.idempotent_id('d44ea940-d9ae-42a4-b3ce-add296a1678c')
    def test_simple_volumes_paging_with_many_results(self):
        data = self.client.describe_volumes(MaxResults=500)
        self.assertNotIn('NextToken', data)
        self.assertNotEmpty(data['Volumes'])
        self.assertLessEqual(self.VOLUMES_COUNT, len(data['Volumes']))

Example 19

Project: ec2-api Source File: test_images.py
    @decorators.idempotent_id('19a2fda6-0b78-4544-a6c5-ac16f39811c8')
    @testtools.skipUnless(CONF.aws.ebs_image_id, "EBS image id is not defined")
    def test_check_ebs_image_type(self):
        image_id = CONF.aws.ebs_image_id
        data = self.client.describe_images(ImageIds=[image_id])
        self.assertEqual(1, len(data['Images']))
        image = data['Images'][0]
        self.assertEqual("ebs", image['RootDeviceType'],
                         "Image is not EBS image")

Example 20

Project: ec2-api Source File: test_paging.py
    @decorators.idempotent_id('fef90b60-0a46-4802-a822-98ccb58ff18c')
    def test_snapshots_paging(self):
        count = 0
        max_results = 5
        kwargs = {'MaxResults': max_results, 'OwnerIds': ['self']}
        while True:
            data = self.client.describe_snapshots(*[], **kwargs)
            self.assertGreaterEqual(max_results, len(data['Snapshots']))
            for s in data['Snapshots']:
                if s['SnapshotId'] in self.ids:
                    count += 1
            if 'NextToken' not in data:
                break
            kwargs['NextToken'] = data['NextToken']

        self.assertEqual(self.SNAPSHOTS_COUNT, count)

Example 21

Project: ec2-api Source File: test_tags.py
    @base.skip_without_vpc()
    @decorators.idempotent_id('96e581c6-8f38-41f9-9126-e35215c83d3e')
    def test_tag_address(self):
        kwargs = {
            'Domain': 'vpc',
        }
        data = self.client.allocate_address(*[], **kwargs)
        res_id = data['AllocationId']
        res_clean = self.addResourceCleanUp(self.client.release_address,
                                            AllocationId=res_id)
        self.assertEqual('vpc', data['Domain'])

        self._test_tag_resource_negative(res_id)

        self.client.release_address(AllocationId=res_id)
        self.cancelResourceCleanUp(res_clean)

Example 22

Project: ec2-api Source File: test_tags.py
    @decorators.idempotent_id('f9a6dd26-b26f-4482-aad3-0b4f0e7cc3dd')
    @testtools.skipUnless(CONF.aws.image_id, "image id is not defined")
    def test_tag_instance(self):
        instance_id = self.run_instance()

        def describe_func(*args, **kwargs):
            data = self.client.describe_instances(*args, **kwargs)
            self.assertEqual(1, len(data['Reservations']))
            self.assertEqual(1, len(data['Reservations'][0]['Instances']))
            self.assertEqual(instance_id,
                data['Reservations'][0]['Instances'][0]['InstanceId'])

        self._test_tag_resource(instance_id, 'instance', describe_func)

        self.client.terminate_instances(InstanceIds=[instance_id])
        self.get_instance_waiter().wait_delete(instance_id)

Example 23

Project: ec2-api Source File: test_images.py
    @decorators.idempotent_id('a139f5ea-45fd-4b3e-9a52-32de0f8c3bca')
    @testtools.skipUnless(CONF.aws.ebs_image_id, "EBS image id is not defined")
    def test_describe_image_with_filters(self):
        image_id = CONF.aws.ebs_image_id
        data = self.client.describe_images(ImageIds=[image_id])
        self.assertEqual(1, len(data['Images']))

        data = self.client.describe_images(
            # NOTE(ft): limit output to prevent timeout over AWS
            Filters=[{'Name': 'image-type', 'Values': ['kernel', 'ramdisk']}])
        if len(data['Images']) < 2:
            self.skipTest("Insufficient images to check filters")
        data = self.client.describe_images(
            Filters=[{'Name': 'image-id', 'Values': [image_id]}])
        self.assertEqual(1, len(data['Images']))
        self.assertEqual(image_id, data['Images'][0]['ImageId'])

Example 24

Project: ec2-api Source File: test_tags.py
    @decorators.idempotent_id('bed98f9c-f987-4192-afd8-4bdf35ac916e')
    def test_tag_snapshot(self):
        data = self.client.create_snapshot(VolumeId=self.volume_id)
        snapshot_id = data['SnapshotId']
        res_clean = self.addResourceCleanUp(self.client.delete_snapshot,
                                            SnapshotId=snapshot_id)
        self.get_snapshot_waiter().wait_available(snapshot_id,
                                                  final_set=('completed'))

        def describe_func(*args, **kwargs):
            data = self.client.describe_snapshots(*args, **kwargs)
            self.assertEqual(1, len(data['Snapshots']))
            self.assertEqual(snapshot_id, data['Snapshots'][0]['SnapshotId'])

        self._test_tag_resource(snapshot_id, 'snapshot', describe_func)

        self.client.delete_snapshot(SnapshotId=snapshot_id)
        self.cancelResourceCleanUp(res_clean)
        self.get_snapshot_waiter().wait_delete(snapshot_id)

Example 25

Project: ec2-api Source File: test_network_interfaces.py
    @decorators.idempotent_id('74967cd0-155f-4cfe-994e-2c6803dad04c')
    def test_network_interface_attribute_empty_attachment(self):
        data = self.client.create_network_interface(SubnetId=self.subnet_id)
        ni_id = data['NetworkInterface']['NetworkInterfaceId']
        res_clean = self.addResourceCleanUp(
            self.client.delete_network_interface, NetworkInterfaceId=ni_id)
        self.get_network_interface_waiter().wait_available(ni_id)

        data = self.client.describe_network_interface_attribute(
            NetworkInterfaceId=ni_id, Attribute='attachment')
        self.assertNotIn('Attachment', data)

        self.client.delete_network_interface(NetworkInterfaceId=ni_id)
        self.cancelResourceCleanUp(res_clean)
        self.get_network_interface_waiter().wait_delete(ni_id)

Example 26

Project: ec2-api Source File: test_vpcs.py
    @decorators.idempotent_id('3070ea61-992b-4711-a874-322c6c672204')
    @testtools.skipUnless(CONF.aws.run_incompatible_tests,
        "Invalid request on checking vpc atributes.")
    def test_vpc_attributes(self):
        cidr = '10.1.0.0/16'
        data = self.client.create_vpc(CidrBlock=cidr)
        vpc_id = data['Vpc']['VpcId']
        dv_clean = self.addResourceCleanUp(self.client.delete_vpc,
                                           VpcId=vpc_id)
        self.get_vpc_waiter().wait_available(vpc_id)

        self._check_attribute(vpc_id, 'EnableDnsHostnames')
        self._check_attribute(vpc_id, 'EnableDnsSupport')

        data = self.client.delete_vpc(VpcId=vpc_id)
        self.cancelResourceCleanUp(dv_clean)
        self.get_vpc_waiter().wait_delete(vpc_id)

Example 27

Project: ec2-api Source File: test_tags.py
    @base.skip_without_vpc()
    @decorators.idempotent_id('07b2f20d-6b26-4c3d-9d32-93f98f187d78')
    def test_tag_customer_gateway(self):
        data = self.client.create_customer_gateway(
            Type='ipsec.1', PublicIp='198.51.100.77', BgpAsn=65000)
        cgw_id = data['CustomerGateway']['CustomerGatewayId']
        self.addResourceCleanUp(self.client.delete_customer_gateway,
                                CustomerGatewayId=cgw_id)

        def describe_func(*args, **kwargs):
            data = self.client.describe_customer_gateways(*args, **kwargs)
            self.assertEqual(1, len(data['CustomerGateways']))
            self.assertEqual(cgw_id,
                             data['CustomerGateways'][0]['CustomerGatewayId'])

        self._test_tag_resource(cgw_id, 'customer-gateway', describe_func)

Example 28

Project: ec2-api Source File: test_regions.py
Function: test_describe_regions
    @decorators.idempotent_id('f303e87e-4e5f-4110-a5da-5f690acb44ba')
    def test_describe_regions(self):
        data = self.client.describe_regions()
        self.assertNotEmpty(data['Regions'])

        region = CONF.aws.aws_region
        if not region:
            return

        regions = [r['RegionName'] for r in data['Regions']]
        self.assertIn(region, regions)

Example 29

Project: ec2-api Source File: test_vpcs.py
    @decorators.idempotent_id('5abb2ff0-8ea2-4e02-b9a4-95a371982b82')
    def test_describe_non_existing_vpc_by_id(self):
        vpc_id = 'vpc-00000000'
        self.assertRaises('InvalidVpcID.NotFound',
                          self.client.describe_vpcs,
                          VpcIds=[vpc_id])

Example 30

Project: ec2-api Source File: test_internet_gateways.py
    @decorators.idempotent_id('89700013-5753-4608-8245-4fc99fbb67ea')
    @testtools.skipUnless(CONF.aws.run_incompatible_tests,
        "Another error code returned - InvalidParameterValue")
    def test_attach_detach_invalid_internet_gateway(self):
        gw_id = "gw-1"
        self.assertRaises('InvalidInternetGatewayID.NotFound',
                          self.client.attach_internet_gateway,
                          VpcId=self.vpc_id, InternetGatewayId=gw_id)

        self.assertRaises('InvalidInternetGatewayID.NotFound',
                          self.client.detach_internet_gateway,
                          VpcId=self.vpc_id, InternetGatewayId=gw_id)

Example 31

Project: ec2-api Source File: test_instances_in_vpc.py
    @base.skip_without_vpc()
    @decorators.idempotent_id('b986708e-9559-493d-aeb3-97fc992a65cf')
    @testtools.skipUnless(CONF.aws.run_ssh, 'SSH tests are disabled.')
    @testtools.skipUnless(CONF.aws.image_id, "image id is not defined")
    def test_instances_in_min_subnet(self):
        self._test_instances(28)

Example 32

Project: ec2-api Source File: test_routes.py
    @decorators.idempotent_id('d8051b30-eb70-4c4b-988b-56078a125af3')
    def test_describe_route_tables_base(self):
        data = self.client.create_route_table(VpcId=self.vpc_id)
        rt_id = data['RouteTable']['RouteTableId']
        res_clean = self.addResourceCleanUp(self.client.delete_route_table,
                                            RouteTableId=rt_id)

        # NOTE(andrey-mp): by real id
        data = self.client.describe_route_tables(RouteTableIds=[rt_id])
        self.assertEqual(1, len(data['RouteTables']))

        # NOTE(andrey-mp): by fake id
        self.assertRaises('InvalidRouteTableID.NotFound',
                          self.client.describe_route_tables,
                          RouteTableIds=['rtb-0'])

        data = self.client.delete_route_table(RouteTableId=rt_id)
        self.cancelResourceCleanUp(res_clean)

Example 33

Project: ec2-api Source File: test_paging.py
    @decorators.idempotent_id('8df6e612-07cd-466d-99de-9f37954a6c9a')
    def test_simple_tags_paging_with_many_results(self):
        volume_id = self._create_volume_and_tags()[0]

        data = self.client.describe_tags(MaxResults=500,
            Filters=[{'Name': 'resource-id', 'Values': [volume_id]}])
        self.assertNotIn('NextToken', data)
        self.assertNotEmpty(data['Tags'])
        self.assertEqual(self.TAGS_COUNT, len(data['Tags']))

Example 34

Project: ec2-api Source File: test_addresses.py
    @base.skip_without_ec2()
    @decorators.idempotent_id('a70babef-18ec-4340-a3a2-63388cfc3cb5')
    def test_disassociate_not_associated_standard_addresses(self):
        data = self.client.allocate_address(Domain='standard')
        ip = data['PublicIp']
        clean_a = self.addResourceCleanUp(self.client.release_address,
                                          PublicIp=ip)

        data = self.client.disassociate_address(PublicIp=ip)

        data = self.client.release_address(PublicIp=ip)
        self.cancelResourceCleanUp(clean_a)

Example 35

Project: ec2-api Source File: test_paging.py
    @decorators.idempotent_id('1db8cc5a-d0b3-4e5f-b411-d84cfa4f21e0')
    def test_tags_paging_second_page_only_with_token(self):
        volume_id = self._create_volume_and_tags()[0]

        data = self.client.describe_tags(
            MaxResults=5,
            Filters=[{'Name': 'resource-id', 'Values': [volume_id]},
                     {'Name': 'tag-value', 'Values': ['aaa']}])
        self.assertIn('NextToken', data)
        self.assertNotEmpty(data['Tags'])
        data = self.client.describe_tags(
            NextToken=data['NextToken'],
            Filters=[{'Name': 'resource-id', 'Values': [volume_id]},
                     {'Name': 'tag-value', 'Values': ['aaa']}])
        self.assertNotIn('NextToken', data)
        self.assertNotEmpty(data['Tags'])

Example 36

Project: ec2-api Source File: test_security_groups.py
Function: test_create_duplicate_security_group
    @decorators.idempotent_id('b97b8b4a-811e-4584-8e79-086499459aca')
    def test_create_duplicate_security_group(self):
        name = data_utils.rand_name('sgName')
        desc = data_utils.rand_name('sgDesc')
        data = self.client.create_security_group(GroupName=name,
                                                 Description=desc)
        group_id = data['GroupId']
        res_clean = self.addResourceCleanUp(self.client.delete_security_group,
                                            GroupId=group_id)
        time.sleep(2)

        self.assertRaises('InvalidGroup.Duplicate',
            self.client.create_security_group,
            GroupName=name, Description=desc)

        self.client.delete_security_group(GroupId=group_id)
        self.cancelResourceCleanUp(res_clean)

Example 37

Project: ec2-api Source File: test_paging.py
    @decorators.idempotent_id('ad4b793a-8231-4d30-8c26-43736b7b71e4')
    def test_tags_paging_with_differenet_filters(self):
        volume_id = self._create_volume_and_tags()[0]

        data = self.client.describe_tags(
            MaxResults=5,
            Filters=[{'Name': 'resource-id', 'Values': [volume_id]},
                     {'Name': 'tag-value', 'Values': ['aaa']}])
        self.assertIn('NextToken', data)
        self.assertNotEmpty(data['Tags'])
        data = self.client.describe_tags(
            MaxResults=5, NextToken=data['NextToken'],
            Filters=[{'Name': 'resource-id', 'Values': [volume_id]}])
        self.assertNotEmpty(data['Tags'])
        self.assertLessEqual(1, len(data['Tags']))

Example 38

Project: ec2-api Source File: test_key_pairs.py
Function: test_create_duplicate_key_pair
    @decorators.idempotent_id('05478a51-1505-42a8-8c7d-4fd7e32c467e')
    def test_create_duplicate_key_pair(self):
        keyName = 'Test key'
        self.client.create_key_pair(KeyName=keyName)
        res_clean = self.addResourceCleanUp(self.client.delete_key_pair,
                                            KeyName=keyName)

        self.assertRaises('InvalidKeyPair.Duplicate',
                          self.client.create_key_pair,
                          KeyName=keyName)

        self.client.delete_key_pair(KeyName=keyName)
        self.cancelResourceCleanUp(res_clean)

Example 39

Project: ec2-api Source File: test_paging.py
    @decorators.idempotent_id('37eb0597-998f-4744-8462-d56e5599dcd8')
    def test_invalid_max_results(self):
        self.assertRaises('InvalidParameterValue',
            self.client.describe_tags, MaxResults=4)

        # NOTE(andrey-mp): value more than 1000 in not invalid
        # but amazon returns 1000 elements
        self.client.describe_tags(MaxResults=1100)

Example 40

Project: ec2-api Source File: test_security_groups.py
    @decorators.idempotent_id('435d5e53-060f-455a-9317-60177246e04d')
    def test_egress_rules(self):
        def _test():
            self._test_rules(
                self.client.authorize_security_group_egress,
                self.client.revoke_security_group_egress,
                'IpPermissionsEgress')

        self.assertRaises('InvalidParameterValue', _test)

Example 41

Project: ec2-api Source File: test_paging.py
    @decorators.idempotent_id('692684c4-62bc-457a-899a-07cc5382c9ab')
    def test_volumes_paging_second_page(self):
        data = self.client.describe_volumes(MaxResults=5)
        self.assertIn('NextToken', data)
        self.assertNotEmpty(data['Volumes'])
        data = self.client.describe_volumes(
            MaxResults=5, NextToken=data['NextToken'])
        self.assertNotIn('NextToken', data)
        self.assertNotEmpty(data['Volumes'])

Example 42

Project: ec2-api Source File: test_addresses.py
    @base.skip_without_ec2()
    @decorators.idempotent_id('285b8b4e-5aef-4e7f-be9e-37e6475be21b')
    def test_create_delete_standard_address(self):
        data = self.client.allocate_address()
        ip = data['PublicIp']
        res_clean = self.addResourceCleanUp(self.client.release_address,
                                            PublicIp=ip)

        data = self.client.release_address(PublicIp=ip)
        self.cancelResourceCleanUp(res_clean)

Example 43

Project: ec2-api Source File: test_paging.py
    @decorators.idempotent_id('f44729b1-42d7-4f18-b5e0-f8dc2a03e624')
    def test_simple_snapshots_paging_with_many_results(self):
        data = self.client.describe_snapshots(MaxResults=500,
                                              OwnerIds=['self'])
        self.assertNotEmpty(data['Snapshots'])
        count = 0
        for s in data['Snapshots']:
            if s['SnapshotId'] in self.ids:
                count += 1
        self.assertEqual(self.SNAPSHOTS_COUNT, count)

Example 44

Project: ec2-api Source File: test_tags.py
    @decorators.idempotent_id('afa064b2-8caf-442d-b001-b6cb8120e57e')
    def test_tag_volume(self):
        def describe_func(*args, **kwargs):
            data = self.client.describe_volumes(*args, **kwargs)
            self.assertEqual(1, len(data['Volumes']))
            self.assertEqual(self.volume_id, data['Volumes'][0]['VolumeId'])

        self._test_tag_resource(self.volume_id, 'volume', describe_func)

Example 45

Project: ec2-api Source File: test_key_pairs.py
    @decorators.idempotent_id('478c17e6-b7ca-4115-bee2-be279bdd0f65')
    @testtools.skipUnless(CONF.aws.run_incompatible_tests,
                          "Different error code")
    def test_import_invalid_key_pair(self):
        keyName = 'Test key'
        publicKey = 'ssh-rsa JUNK test@ubuntu'

        def _rollback():
            self.client.delete_key_pair(KeyName=keyName)

        self.assertRaises('InvalidKey.Format',
                          self.client.import_key_pair,
                          rollback_fn=_rollback,
                          KeyName=keyName, PublicKeyMaterial=publicKey)

Example 46

Project: ec2-api Source File: test_addresses.py
    @base.skip_without_vpc()
    @decorators.idempotent_id('218a4b6b-c3a9-44b0-8148-4bd0bc36bd7d')
    def test_create_delete_vpc_address(self):
        kwargs = {
            'Domain': 'vpc',
        }
        data = self.client.allocate_address(*[], **kwargs)
        id = data['AllocationId']
        res_clean = self.addResourceCleanUp(self.client.release_address,
                                            AllocationId=id)
        self.assertEqual('vpc', data['Domain'])

        data = self.client.release_address(AllocationId=id)
        self.cancelResourceCleanUp(res_clean)

Example 47

Project: ec2-api Source File: test_addresses.py
    @decorators.idempotent_id('e8171637-9ccd-471a-97da-c78a36ba3c4b')
    def test_invalid_create_address(self):
        kwargs = {
            'Domain': 'invalid',
        }
        try:
            data = self.client.allocate_address(*[], **kwargs)
            allocation_id = data.get('AllocationId')
            if allocation_id:
                self.client.release_address(AllocationId=allocation_id)
            else:
                public_ip = data.get('PublicIp')
                self.client.release_address(PublicIp=public_ip)
        except botocore.exceptions.ClientError as e:
            self.assertEqual('InvalidParameterValue',
                             e.response['Error']['Code'])

Example 48

Project: ec2-api Source File: test_instances_vpc.py
    @decorators.idempotent_id('a7dc520a-e828-4347-91e1-385c4e0e6070')
    @testtools.skipUnless(CONF.aws.image_id, "image id is not defined")
    def test_create_instance_with_private_ip(self):
        ip = '10.16.0.12'

        instance_id = self.run_instance(SubnetId=self.subnet_id,
                                        PrivateIpAddress=ip)

        instance = self.get_instance(instance_id)
        self.assertEqual(ip, instance['PrivateIpAddress'])

        self.client.terminate_instances(InstanceIds=[instance_id])
        self.get_instance_waiter().wait_delete(instance_id)

Example 49

Project: ec2-api Source File: test_network_interfaces.py
    @decorators.idempotent_id('a55f1169-d302-4166-b74e-e84a0d79129c')
    def test_network_interface_attribute_group_set(self):
        data = self.client.create_network_interface(SubnetId=self.subnet_id)
        ni_id = data['NetworkInterface']['NetworkInterfaceId']
        res_clean = self.addResourceCleanUp(
            self.client.delete_network_interface, NetworkInterfaceId=ni_id)
        self.get_network_interface_waiter().wait_available(ni_id)

        data = self.client.describe_network_interface_attribute(
            NetworkInterfaceId=ni_id, Attribute='groupSet')
        self.assertIn('Groups', data)
        self.assertEqual(1, len(data['Groups']))
        self.assertEqual('default', data['Groups'][0]['GroupName'])

        self.client.delete_network_interface(NetworkInterfaceId=ni_id)
        self.cancelResourceCleanUp(res_clean)
        self.get_network_interface_waiter().wait_delete(ni_id)

Example 50

Project: ec2-api Source File: test_tags.py
    @base.skip_without_vpc()
    @base.skip_without_network_feature('vpnaas')
    @decorators.idempotent_id('a0437171-81a1-4871-9b71-c7629b25c337')
    def test_tag_vpn_gateway(self):
        data = self.client.create_vpn_gateway(Type='ipsec.1')
        vgw_id = data['VpnGateway']['VpnGatewayId']
        self.addResourceCleanUp(self.client.delete_vpn_gateway,
                                VpnGatewayId=vgw_id)

        def describe_func(*args, **kwargs):
            data = self.client.describe_vpn_gateways(*args, **kwargs)
            self.assertEqual(1, len(data['VpnGateways']))
            self.assertEqual(vgw_id,
                             data['VpnGateways'][0]['VpnGatewayId'])

        self._test_tag_resource(vgw_id, 'vpn-gateway', describe_func)
See More Examples - Go to Next Page
Page 1 Selected Page 2 Page 3 Page 4