示例#1
0
 def test_can_emit_http_request_record(self):
     # HTTP_REQUEST records have have their entire body field as a binary
     # blob, however it will all be utf-8 valid since the binary fields
     # from the api call will have been b64 encoded.
     payload = {
         'url': ('https://lambda.us-west-2.amazonaws.com/2015-03-31/'
                 'functions'),
         'method':
         'POST',
         'headers':
         CaseInsensitiveDict({'foo': 'bar'}),
         'body':
         b'body with no invalid utf-8 bytes in it',
         'streaming':
         False
     }
     self.handler.emit('HTTP_REQUEST', payload, 'BOTOCORE')
     record = self._get_last_record()
     parsed_payload = payload.copy()
     parsed_payload['headers'] = dict(parsed_payload['headers'])
     parsed_payload['body'] = 'body with no invalid utf-8 bytes in it'
     self._assert_record_has_command_id(record)
     self._assert_expected_event_type('HTTP_REQUEST', record)
     self._assert_expected_payload(parsed_payload, record)
     self._assert_expected_source('BOTOCORE', record)
示例#2
0
 def test_can_emit_http_response_record(self):
     # HTTP_RESPONSE also contains a binary response in its body, but it
     # will not contain any non-unicode characters
     payload = {
         'status_code': 200,
         'headers': CaseInsensitiveDict({'foo': 'bar'}),
         'body': b'body with no invalid utf-8 bytes in it',
         'streaming': False
     }
     self.handler.emit('HTTP_RESPONSE', payload, 'BOTOCORE')
     record = self._get_last_record()
     parsed_payload = payload.copy()
     parsed_payload['headers'] = dict(parsed_payload['headers'])
     parsed_payload['body'] = 'body with no invalid utf-8 bytes in it'
     self._assert_record_has_command_id(record)
     self._assert_expected_event_type('HTTP_RESPONSE', record)
     self._assert_expected_payload(parsed_payload, record)
     self._assert_expected_source('BOTOCORE', record)
示例#3
0
文件: test_db.py 项目: aws/aws-cli
    def test_can_write_http_request_record(self):
        self.writer.write_record({
            'command_id': 'command',
            'event_type': 'HTTP_REQUEST',
            'payload': {
                'method': 'GET',
                'headers': CaseInsensitiveDict({}),
                'body': '...',
            },
            'source': 'TEST',
            'timestamp': 1234
        })

        written_record = self._read_last_record()
        self.assertEqual(written_record,
                         ('command', None, 'TEST', 'HTTP_REQUEST', 1234,
                          json.dumps({
                              'method': 'GET',
                              'headers': {},
                              'body': '...',
                          })))
示例#4
0
文件: test_db.py 项目: aws/aws-cli
 def test_can_serialize_case_insensitive_dict(self):
     original = CaseInsensitiveDict({'fOo': 'bar'})
     string_value = json.dumps(original, cls=PayloadSerializer)
     reloaded = json.loads(string_value)
     self.assertEqual(original, reloaded)