class DummyResource(Resource):
    def __init__(self):
        super(DummyResource, self).__init__()
        self.resourceName = 'foo'
        for method, pathElements, _testPath in Routes:
            self.route(method, pathElements, self.handler)

    @access.public
    @describe.describeRoute(describe.Description('Does nothing'))
    def handler(self, **kwargs):
        return kwargs
Exemple #2
0
class DummyResource(Resource):
    def __init__(self):
        self.resourceName = 'foo'
        for method, pathElements, testPath in OrderedRoutes:
            self.route(method, pathElements, self.handler)

    @access.public
    def handler(self, **kwargs):
        return kwargs

    handler.description = describe.Description('Does nothing')
Exemple #3
0
        class OldResource(Resource):
            def __init__(self):
                super(OldResource, self).__init__()
                self.resourceName = 'old_resource'
                self.route('GET', (), self.handler)
                self.route('GET', ('deprecated',), self.deprecatedHandler)

            @access.public
            @describe.describeRoute(
                describe.Description('Handler')
            )
            def handler(self, params):
                return None

            @access.public
            @describe.describeRoute(
                describe.Description('Deprecated handler')
                .deprecated()
            )
            def deprecatedHandler(self, params):
                return None
class ModelResource(Resource):
    def __init__(self):
        super(ModelResource, self).__init__()
        self.resourceName = 'model'
        self.route('POST', (), self.hasModel)

    @access.public
    def hasModel(self, params):
        pass

    hasModel.description = describe.Description('What a model') \
        .param('body', 'Where its at!', dataType='Body', required=True,
               paramType='body')
Exemple #5
0
        class AutoDescribe(Resource):
            def __init__(self):
                super(AutoDescribe, self).__init__()
                self.resourceName = 'auto_describe'
                self.route('GET', ('test', ), self.test)
                self.route('POST', ('body', ), self.body)
                self.route('POST', ('json_body', ), self.jsonBody)
                self.route('POST', ('json_body_required', ),
                           self.jsonBodyRequired)
                self.route('GET', ('model_param_flags', ),
                           self.hasModelParamFlags)
                self.route('GET', ('model_param_query', ),
                           self.hasModelQueryParam)
                self.route('GET', ('json_schema', ), self.hasJsonSchema)
                self.route('GET', ('missing_arg', ), self.hasMissingArg)

            @access.public
            @describe.autoDescribeRoute(
                describe.Description('test').param(
                    'b1', '', dataType='boolean', required=False,
                    default=True).param('b2',
                                        '',
                                        dataType='boolean',
                                        required=False).param(
                                            'float',
                                            '',
                                            dataType='number',
                                            required=False,
                                            default=1.0).param(
                                                'integer',
                                                '',
                                                dataType='integer',
                                                required=False).param(
                                                    'timestamp',
                                                    '',
                                                    dataType='dateTime',
                                                    required=False).
                param('datestamp', '', dataType='date', required=False).param(
                    'string',
                    '',
                    enum=['hello', 'world'],
                    strip=True,
                    lower=True).param('upper', '', required=False,
                                      upper=True).jsonParam(
                                          'json1',
                                          '',
                                          required=False,
                                          requireArray=True).jsonParam(
                                              'json2',
                                              '',
                                              required=False,
                                              requireObject=True,
                                              default={}))
            def test(self, b1, b2, string, upper, integer, float, timestamp,
                     datestamp, json1, json2, params):
                testRuns.append({
                    'b1': b1,
                    'b2': b2,
                    'string': string,
                    'upper': upper,
                    'integer': integer,
                    'float': float,
                    'timestamp': timestamp,
                    'datestamp': datestamp,
                    'json1': json1,
                    'json2': json2
                })

            @access.public
            @describe.autoDescribeRoute(
                describe.Description('body').param('body',
                                                   '',
                                                   required=False,
                                                   paramType='body'))
            def body(self, body):
                testRuns.append({'body': body})

            @access.public
            @describe.autoDescribeRoute(
                describe.Description('json_body').jsonParam('json_body',
                                                            '',
                                                            required=False,
                                                            paramType='body'))
            def jsonBody(self, json_body):
                testRuns.append({'json_body': json_body})

            @access.public
            @describe.autoDescribeRoute(
                describe.Description('json_body_required').jsonParam(
                    'json_body',
                    '',
                    required=True,
                    requireObject=True,
                    paramType='body'))
            def jsonBodyRequired(self, json_body):
                testRuns.append({'json_body': json_body})

            @access.public
            @describe.autoDescribeRoute(
                describe.Description('has_model_param_query').modelParam(
                    'userId',
                    model='user',
                    level=AccessType.READ,
                    paramType='query'))
            @filtermodel(model='user')
            def hasModelQueryParam(self, user):
                return user

            @access.public
            @describe.autoDescribeRoute(
                describe.Description('has_model_param_flags').modelParam(
                    'userId',
                    model='user',
                    level=AccessType.READ,
                    paramType='query',
                    requiredFlags='my_flag'))
            def hasModelParamFlags(self, user):
                return user

            @access.public
            @describe.autoDescribeRoute(
                describe.Description('has_json_schema').jsonParam(
                    'obj',
                    '',
                    schema={
                        'type': 'object',
                        'required': ['foo', 'bar']
                    }))
            def hasJsonSchema(self, obj):
                return obj

            @access.public
            @describe.autoDescribeRoute(
                describe.Description('has_missing_arg').param('foo', ''))
            def hasMissingArg(self, params):
                return params