Пример #1
0
    def test_logout(self):
        response = self.app.post("/login/save", {'login': '******', 'password': '******'})
        home = response.follow()
        ok_('Welcome, Joe!' in home.body)

        response = self.app.post("/logout")
        login = response.follow()
        print login
        ok_('Login' in login.body)
Пример #2
0
    def _api_call(self, method, path, wrap_args=None, user='******', status=None, **params):
        '''
        If you need to use one of the method kwargs as a URL parameter,
        pass params={...} as a dict instead of **kwargs
        '''
        if 'params' in params:
            params = params['params']
        if wrap_args:
            params = {wrap_args: params}
        if status is None:
            status = [200, 201, 301, 302]
        params = variabledecode.variable_encode(params, add_repetitions=False)

        token = self.token(user).api_key
        headers = {
            'Authorization': 'Bearer {}'.format(token)
        }

        fn = getattr(self.app, method.lower())

        response = fn(
            str(path),
            params=params,
            headers=headers,
            status=status)
        if response.status_int in [301, 302]:
            return response.follow()
        else:
            return response
Пример #3
0
    def _api_getpost(self, method, path, api_key=None, api_timestamp=None, api_signature=None,
                 wrap_args=None, user='******', status=None, **params):
        '''
        If you need to use one of the method kwargs as a URL parameter,
        pass params={...} as a dict instead of **kwargs
        '''
        if 'params' in params:
            params = params['params']
        if wrap_args:
            params = {wrap_args: params}
        if status is None:
            status = [200, 201, 301, 302, 400, 403, 404]
        params = variabledecode.variable_encode(params, add_repetitions=False)
        if api_key: params['api_key'] = api_key
        if api_timestamp: params['api_timestamp'] = api_timestamp
        if api_signature: params['api_signature'] = api_signature

        params = self.token(user).sign_request(path, params)

        fn = self.app.post if method=='POST' else self.app.get

        response = fn(
            str(path),
            params=params,
            status=status)
        if response.status_int in [301, 302]:
            return response.follow()
        else:
            return response
Пример #4
0
    def _api_getpost(self,
                     method,
                     path,
                     api_key=None,
                     api_timestamp=None,
                     api_signature=None,
                     wrap_args=None,
                     **params):
        if wrap_args:
            params = {wrap_args: params}
        params = variabledecode.variable_encode(params, add_repetitions=False)
        if api_key: params['api_key'] = api_key
        if api_timestamp: params['api_timestamp'] = api_timestamp
        if api_signature: params['api_signature'] = api_signature
        params = self.token.sign_request(path, params)

        fn = self.app.post if method == 'POST' else self.app.get

        response = fn(str(path),
                      params=params,
                      status=[200, 302, 400, 403, 404])
        if response.status_int == 302:
            return response.follow()
        else:
            return response
Пример #5
0
    def _api_call(self,
                  method,
                  path,
                  wrap_args=None,
                  user='******',
                  status=None,
                  **params):
        '''
        If you need to use one of the method kwargs as a URL parameter,
        pass params={...} as a dict instead of **kwargs
        '''
        if 'params' in params:
            params = params['params']
        if wrap_args:
            params = {wrap_args: params}
        if status is None:
            status = [200, 201, 301, 302]
        params = variabledecode.variable_encode(params, add_repetitions=False)

        token = self.token(user).api_key
        headers = {'Authorization': 'Bearer {}'.format(token)}

        fn = getattr(self.app, method.lower())

        response = fn(str(path), params=params, headers=headers, status=status)
        if response.status_int in [301, 302]:
            return response.follow()
        else:
            return response
Пример #6
0
    def _api_getpost(self,
                     method,
                     path,
                     api_key=None,
                     api_timestamp=None,
                     api_signature=None,
                     wrap_args=None,
                     user='******',
                     status=None,
                     **params):
        '''
        If you need to use one of the method kwargs as a URL parameter,
        pass params={...} as a dict instead of **kwargs
        '''
        if 'params' in params:
            params = params['params']
        if wrap_args:
            params = {wrap_args: params}
        if status is None:
            status = [200, 201, 301, 302, 400, 403, 404]
        params = variabledecode.variable_encode(params, add_repetitions=False)
        if api_key: params['api_key'] = api_key
        if api_timestamp: params['api_timestamp'] = api_timestamp
        if api_signature: params['api_signature'] = api_signature

        params = self.token(user).sign_request(path, params)

        fn = self.app.post if method == 'POST' else self.app.get

        response = fn(str(path), params=params, status=status)
        if response.status_int in [301, 302]:
            return response.follow()
        else:
            return response
Пример #7
0
    def _api_getpost(self, method, path, api_key=None, api_timestamp=None, api_signature=None,
                 wrap_args=None, **params):
        if wrap_args:
            params = {wrap_args: params}
        params = variabledecode.variable_encode(params, add_repetitions=False)
        if api_key: params['api_key'] = api_key
        if api_timestamp: params['api_timestamp'] = api_timestamp
        if api_signature: params['api_signature'] = api_signature
        params = self.token.sign_request(path, params)

        fn = self.app.post if method=='POST' else self.app.get

        response = fn(
            str(path),
            params=params,
            status=[200, 302, 400, 403, 404])
        if response.status_int == 302:
            return response.follow()
        else:
            return response