Esempio n. 1
0
    def test_create(self):
        _ctx = self.get_mock_ctx(
            'test_create',
            test_properties=NODE_PROPERTIES,
            test_runtime_properties=RUNTIME_PROPERTIES,
            type_hierarchy=SUBNET_GROUP_TH,
            ctx_operation_name='cloudify.interfaces.lifecycle.configure',
        )

        current_ctx.set(_ctx)

        self.fake_client.describe_db_subnet_groups = MagicMock(
            return_value={
                'DBSubnetGroups': [{
                    'SubnetGroupStatus': 'Complete',
                    'DBSubnetGroup': {
                        'DBSubnetGroupName': 'zzzzzz-subnet-group',
                        'DBSubnetGroupArn': 'DBSubnetGroupArn',
                        'SubnetIds': SUBNET_IDS
                    }
                }]
            })

        self.fake_client.create_db_subnet_group = MagicMock(
            return_value={
                'DBSubnetGroup': {
                    'DBSubnetGroupName': 'zzzzzz-subnet-group',
                    'DBSubnetGroupArn': 'DBSubnetGroupArn',
                    'SubnetIds': SUBNET_IDS
                }
            })

        subnet_group.create(ctx=_ctx, resource_config=None, iface=None)

        self.fake_boto.assert_called_with('rds', **CLIENT_CONFIG)
        self.fake_client.create_db_subnet_group.assert_called_with(
            DBSubnetGroupDescription='MySQL5.7 Subnet Group',
            DBSubnetGroupName='zzzzzz-subnet-group',
            SubnetIds=SUBNET_IDS)
        self.fake_client.describe_db_subnet_groups.assert_called_with(
            DBSubnetGroupName='zzzzzz-subnet-group')

        self.assertEqual(
            _ctx.instance.runtime_properties, {
                'aws_resource_arn': 'DBSubnetGroupArn',
                'aws_resource_id': 'zzzzzz-subnet-group',
                'resource_config': {
                    'DBSubnetGroupDescription': 'MySQL5.7 Subnet Group',
                    'DBSubnetGroupName': 'zzzzzz-subnet-group',
                    'SubnetIds': SUBNET_IDS
                },
                'create_response': {
                    'SubnetGroupStatus': 'Complete',
                    'DBSubnetGroup': {
                        'DBSubnetGroupName': 'zzzzzz-subnet-group',
                        'DBSubnetGroupArn': 'DBSubnetGroupArn',
                        'SubnetIds': ['subnet-xxxxxxxx', 'subnet-yyyyyyyy']
                    }
                }
            })
Esempio n. 2
0
    def test_create_raises_UnknownServiceError(self):
        _test_node_properties = {'use_external_resource': False}
        _test_runtime_properties = {'resource_config': {}}
        _ctx = self.get_mock_ctx(
            'test_create_UnknownServiceError',
            test_properties=_test_node_properties,
            test_runtime_properties=_test_runtime_properties,
            type_hierarchy=SUBNET_GROUP_TH)
        current_ctx.set(_ctx)

        with self.assertRaises(UnknownServiceError) as error:
            subnet_group.create(ctx=_ctx, resource_config=None, iface=None)

        self.assertEqual(
            str(error.exception),
            "Unknown service: 'rds'. Valid service names are: ['rds']")

        self.fake_boto.assert_called_with('rds', region_name=None)