Пример #1
0
def test_credentials_sign_via_params():
    c = Credentials(
        'AKIDEXAMPLE',
        'wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY',
        'us-east-1',
        'iam',
    )
    canon_request = CanonicalRequest(
        'GET',
        '/',
        'Action=ListUsers&Version=2010-05-08',
        {
            'Host': 'iam.amazonaws.com',
            'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',
        },
    )
    canon_request._datetime = lambda: DateTime(2015, 8, 30, 12, 36)
    params = c.sign_via_query_string(canon_request)
    assert len(params) == 6
    assert params[0] == ('X-Amz-Algorithm', 'AWS4-HMAC-SHA256')
    assert params[1] == (
        'X-Amz-Credential', 'AKIDEXAMPLE/20150830/us-east-1/iam/aws4_request',
    )
    assert params[2] == ('X-Amz-Date', '20150830T123600Z')
    assert params[3] == ('X-Amz-Expires', '60')
    assert params[4] == ('X-Amz-SignedHeaders', 'content-type;host')
    assert params[5] == (
        'X-Amz-Signature',
        '37ac2f4fde00b0ac9bd9eadeb459b1bbee224158d66e7ae5fcadb70b2d181d02',
    )