def test_compression_duplicate_code(send_event_command, expected_payload):
    payload = send_event_command.payload

    json_payload = JSONEncoder().encode(payload)

    compressed_string = gzip.compress(json_payload.encode())
    b64_payload = b64encode(compressed_string)
    compressed_payload = b64_payload.decode()

    assert compressed_payload == expected_payload
예제 #2
0
def test_json_encoder_encodes_uuid(faker, uuid, expected):
    key = faker.pystr()
    input = {key: uuid}
    output = JSONEncoder().encode(input)
    expected_output = '{{"{key}": "{expected}"}}'.format(key=key,
                                                         expected=expected)
    assert expected_output == output
예제 #3
0
def test_json_encoder_encodes_datetimes(faker, dt, expected):
    key = faker.pystr()
    input = {key: dt}
    output = JSONEncoder().encode(input)
    expected_output = '{{"{key}": "{expected}"}}'.format(key=key,
                                                         expected=expected)
    assert expected_output == output
예제 #4
0
def expected_json(send_event_command):
    obj = {
        "event": send_event_command.event_name,
        "payload": send_event_command.payload,
    }

    # We know the encoder works, due to :tests.backend.test_encode:, so use it here for convenience.
    return JSONEncoder().encode(obj)
def expected_payload(send_event_command):
    obj = send_event_command.payload

    return SNSBackend.compress(JSONEncoder().encode(obj))
예제 #6
0
def test_type_error_on_unknown_types():
    with pytest.raises(TypeError):
        JSONEncoder().encode(Sentinel())