|
31 | 31 | public class TestAuthorizationHeaderV4 { |
32 | 32 |
|
33 | 33 | @Test |
34 | | - public void testV4Header1() { |
35 | | - try { |
36 | | - String auth = "AWS4-HMAC-SHA256 " + |
37 | | - "Credential=ozone/20130524/us-east-1/s3/aws4_request, " + |
38 | | - "SignedHeaders=host;range;x-amz-date, " + |
39 | | - "Signature=fe5f80f77d5fa3beca038a248ff027"; |
40 | | - AuthorizationHeaderV4 v4 = new AuthorizationHeaderV4(auth); |
41 | | - assertEquals("AWS4-HMAC-SHA256", v4.getAlgorithm()); |
42 | | - assertEquals("ozone", v4.getAccessKeyID()); |
43 | | - assertEquals("20130524", v4.getDate()); |
44 | | - assertEquals("us-east-1", v4.getAwsRegion()); |
45 | | - assertEquals("aws4_request", v4.getAwsRequest()); |
46 | | - assertEquals("host;range;x-amz-date", v4.getSignedHeaders()); |
47 | | - assertEquals("fe5f80f77d5fa3beca038a248ff027", v4.getSignature()); |
48 | | - } catch (OS3Exception ex) { |
49 | | - fail("testV4Header"); |
50 | | - } |
51 | | - |
| 34 | + public void testV4HeaderWellFormed() throws Exception { |
| 35 | + String auth = "AWS4-HMAC-SHA256 " + |
| 36 | + "Credential=ozone/20130524/us-east-1/s3/aws4_request, " + |
| 37 | + "SignedHeaders=host;range;x-amz-date, " + |
| 38 | + "Signature=fe5f80f77d5fa3beca038a248ff027"; |
| 39 | + AuthorizationHeaderV4 v4 = new AuthorizationHeaderV4(auth); |
| 40 | + assertEquals("AWS4-HMAC-SHA256", v4.getAlgorithm()); |
| 41 | + assertEquals("ozone", v4.getAccessKeyID()); |
| 42 | + assertEquals("20130524", v4.getDate()); |
| 43 | + assertEquals("us-east-1", v4.getAwsRegion()); |
| 44 | + assertEquals("aws4_request", v4.getAwsRequest()); |
| 45 | + assertEquals("host;range;x-amz-date", v4.getSignedHeaders()); |
| 46 | + assertEquals("fe5f80f77d5fa3beca038a248ff027", v4.getSignature()); |
52 | 47 | } |
53 | 48 |
|
54 | 49 | @Test |
55 | | - public void testV4Header2() { |
| 50 | + public void testV4HeaderMissingParts() { |
56 | 51 | try { |
57 | 52 | String auth = "AWS4-HMAC-SHA256 " + |
58 | 53 | "Credential=ozone/20130524/us-east-1/s3/aws4_request, " + |
59 | 54 | "SignedHeaders=host;range;x-amz-date,"; |
60 | 55 | AuthorizationHeaderV4 v4 = new AuthorizationHeaderV4(auth); |
61 | | - fail("testV4Header2"); |
| 56 | + fail("Exception is expected in case of malformed header"); |
62 | 57 | } catch (OS3Exception ex) { |
63 | 58 | assertEquals("AuthorizationHeaderMalformed", ex.getCode()); |
64 | 59 | } |
65 | 60 | } |
66 | 61 |
|
67 | | - |
68 | 62 | @Test |
69 | | - public void testV4Header3() { |
| 63 | + public void testV4HeaderInvalidCredential() { |
70 | 64 | try { |
71 | 65 | String auth = "AWS4-HMAC-SHA256 " + |
72 | 66 | "Credential=20130524/us-east-1/s3/aws4_request, " + |
73 | 67 | "SignedHeaders=host;range;x-amz-date, " + |
74 | 68 | "Signature=fe5f80f77d5fa3beca038a248ff027"; |
75 | 69 | AuthorizationHeaderV4 v4 = new AuthorizationHeaderV4(auth); |
| 70 | + fail("Exception is expected in case of malformed header"); |
76 | 71 | } catch (OS3Exception ex) { |
77 | 72 | assertEquals("AuthorizationHeaderMalformed", ex.getCode()); |
78 | 73 | } |
79 | 74 | } |
80 | 75 |
|
| 76 | + @Test |
| 77 | + public void testV4HeaderWithoutSpace() throws OS3Exception { |
| 78 | + |
| 79 | + String auth = |
| 80 | + "AWS4-HMAC-SHA256 Credential=ozone/20130524/us-east-1/s3/aws4_request," |
| 81 | + + "SignedHeaders=host;x-amz-content-sha256;x-amz-date," |
| 82 | + + "Signature" |
| 83 | + + "=fe5f80f77d5fa3beca038a248ff027"; |
| 84 | + AuthorizationHeaderV4 v4 = new AuthorizationHeaderV4(auth); |
| 85 | + |
| 86 | + assertEquals("AWS4-HMAC-SHA256", v4.getAlgorithm()); |
| 87 | + assertEquals("ozone", v4.getAccessKeyID()); |
| 88 | + assertEquals("20130524", v4.getDate()); |
| 89 | + assertEquals("us-east-1", v4.getAwsRegion()); |
| 90 | + assertEquals("aws4_request", v4.getAwsRequest()); |
| 91 | + assertEquals("host;x-amz-content-sha256;x-amz-date", |
| 92 | + v4.getSignedHeaders()); |
| 93 | + assertEquals("fe5f80f77d5fa3beca038a248ff027", v4.getSignature()); |
| 94 | + |
| 95 | + } |
| 96 | + |
81 | 97 | } |
0 commit comments