Example #1
0
 def test_414_with_description(self, client):
     description = 'Be short please.'
     client.app.add_route('/414',
                          UriTooLongResource(description=description))
     response = client.simulate_request(path='/414', headers={})
     parsed_body = json.loads(response.content.decode())
     assert parsed_body['description'] == description
Example #2
0
 def deserialize(self, stream, content_type, content_length):
     try:
         return json.loads(stream.read().decode('utf-8'))
     except ValueError as err:
         raise errors.HTTPBadRequest(
             'Invalid JSON',
             'Could not parse JSON body - {0}'.format(err)
         )
Example #3
0
 def deserialize(self, raw):
     try:
         return json.loads(raw.decode('utf-8'))
     except ValueError as err:
         raise errors.HTTPBadRequest(
             'Invalid JSON',
             'Could not parse JSON body - {0}'.format(err)
         )
Example #4
0
 def deserialize(self, raw):
     try:
         return json.loads(raw.decode('utf-8'))
     except ValueError as err:
         raise errors.HTTPBadRequest(
             'Invalid JSON',
             'Could not parse JSON body - {0}'.format(err)
         )
Example #5
0
 def deserialize(self, stream, content_type, content_length):
     try:
         return json.loads(stream.read().decode('utf-8'))
     except ValueError as err:
         raise errors.HTTPBadRequest(
             'Invalid JSON',
             'Could not parse JSON body - {0}'.format(err)
         )
Example #6
0
 def deserialize(self, raw):
     try:
         obj = json.loads(raw.decode('utf-8'))
         if self.contract_in_camel_case:
             obj = self.snake_case_keys(obj)
         return obj
     except ValueError as err:
         raise falcon.errors.HTTPBadRequest(
             'Invalid JSON', 'Could not parse JSON body - {0}'.format(err))
Example #7
0
    def test_simulate_json_body(self, document):
        app = falcon.API()
        resource = testing.SimpleTestResource()
        app.add_route('/', resource)

        json_types = ('application/json', 'application/json; charset=UTF-8')
        client = testing.TestClient(app)
        client.simulate_post('/', json=document)
        captured_body = resource.captured_req.bounded_stream.read().decode('utf-8')
        assert json.loads(captured_body) == document
        assert resource.captured_req.content_type in json_types

        headers = {
            'Content-Type': 'x-falcon/peregrine',
            'X-Falcon-Type': 'peregrine',
        }
        body = 'If provided, `json` parameter overrides `body`.'
        client.simulate_post('/', headers=headers, body=body, json=document)
        assert resource.captured_req.media == document
        assert resource.captured_req.content_type in json_types
        assert resource.captured_req.get_header('X-Falcon-Type') == 'peregrine'
Example #8
0
    def test_simulate_json_body(self, asgi, document):
        resource = testing.SimpleTestResourceAsync() if asgi else testing.SimpleTestResource()
        app = create_app(asgi)
        app.add_route('/', resource)

        json_types = ('application/json', 'application/json; charset=UTF-8')
        client = testing.TestClient(app)
        client.simulate_post('/', json=document, headers={'capture-req-body-bytes': '-1'})
        assert json.loads(resource.captured_req_body.decode()) == document
        assert resource.captured_req.content_type in json_types

        headers = {
            'Content-Type': 'x-falcon/peregrine',
            'X-Falcon-Type': 'peregrine',
            'capture-req-media': 'y'
        }
        body = 'If provided, `json` parameter overrides `body`.'
        client.simulate_post('/', headers=headers, body=body, json=document)
        assert resource.captured_req_media == document
        assert resource.captured_req.content_type in json_types
        assert resource.captured_req.get_header('X-Falcon-Type') == 'peregrine'
Example #9
0
    def test_simulate_json_body(self, document):
        app = falcon.API()
        resource = testing.SimpleTestResource()
        app.add_route('/', resource)

        json_types = ('application/json', 'application/json; charset=UTF-8')
        client = testing.TestClient(app)
        client.simulate_post('/', json=document)
        captured_body = resource.captured_req.bounded_stream.read().decode('utf-8')
        assert json.loads(captured_body) == document
        assert resource.captured_req.content_type in json_types

        headers = {
            'Content-Type': 'x-falcon/peregrine',
            'X-Falcon-Type': 'peregrine',
        }
        body = 'If provided, `json` parameter overrides `body`.'
        client.simulate_post('/', headers=headers, body=body, json=document)
        assert resource.captured_req.media == document
        assert resource.captured_req.content_type in json_types
        assert resource.captured_req.get_header('X-Falcon-Type') == 'peregrine'
Example #10
0
 def test_414_with_title(self, client):
     title = 'Argh! Error!'
     client.app.add_route('/414', UriTooLongResource(title=title))
     response = client.simulate_request(path='/414', headers={})
     parsed_body = json.loads(response.content.decode())
     assert parsed_body['title'] == title
Example #11
0
    def json(self) -> Optional[Union[dict, list, str, int, float, bool]]:
        if not self.text:
            return None

        return util_json.loads(self.text)
Example #12
0
    def json(self):
        if not self.text:
            return None

        return util_json.loads(self.text)
Example #13
0
 def test_414_with_description(self, client):
     description = 'Be short please.'
     client.app.add_route('/414', UriTooLongResource(description=description))
     response = client.simulate_request(path='/414', headers={})
     parsed_body = json.loads(response.content.decode())
     assert parsed_body['description'] == description
Example #14
0
 def test_414_with_title(self, client):
     title = 'Argh! Error!'
     client.app.add_route('/414', UriTooLongResource(title=title))
     response = client.simulate_request(path='/414', headers={})
     parsed_body = json.loads(response.content.decode())
     assert parsed_body['title'] == title
Example #15
0
    def json(self):
        if not self.text:
            return None

        return util_json.loads(self.text)
Example #16
0
 def test_414_with_custom_kwargs(self, client):
     code = 'someid'
     client.app.add_route('/414', UriTooLongResource(code=code))
     response = client.simulate_request(path='/414', headers={})
     parsed_body = json.loads(response.content.decode())
     assert parsed_body['code'] == code
Example #17
0
 def test_414_with_custom_kwargs(self, client):
     code = 'someid'
     client.app.add_route('/414', UriTooLongResource(code=code))
     response = client.simulate_request(path='/414', headers={})
     parsed_body = json.loads(response.content.decode())
     assert parsed_body['code'] == code
Example #18
0
 def json(self):
     return util_json.loads(self.text)
 def json(self):
     return util_json.loads(self.text)