1010
1111
1212public class KeyParserTests {
13+ private static final int DEFAULT_TOKEN_EXPIRY_SECONDS = 2592000 ;
14+
1315 @ Test
1416 public void parseKeyListSharingEndpoint () {
1517 String s = "{ \" body\" : { " +
@@ -18,82 +20,68 @@ public void parseKeyListSharingEndpoint() {
1820 "\" default_keyset_id\" : 99999, " +
1921 "\" token_expiry_seconds\" : 1728000, " +
2022 "\" keys\" : [ " +
21- "{ " +
22- "\" id\" : 3, " +
23- "\" keyset_id\" : 99999, " +
24- "\" created\" : 1609459200, " +
25- "\" activates\" : 1609459210, " +
26- "\" expires\" : 1893456000, " +
27- "\" secret\" : \" o8HsvkwJ5Ulnrd0uui3GpukpwDapj+JLqb7qfN/GJKo=\" " +
28- "}, " +
29- "{ " +
30- "\" id\" : 2, " +
31- "\" keyset_id\" : 1, " +
32- "\" created\" : 1609458200, " +
33- "\" activates\" : 1609459220, " +
34- "\" expires\" : 1893457000, " +
35- "\" secret\" : \" DD67xF8OFmbJ1/lMPQ6fGRDbJOT4kXErrYWcKdFfCUE=\" " +
36- "} " +
23+ "{ " +
24+ "\" id\" : 3, " +
25+ "\" keyset_id\" : 99999, " +
26+ "\" created\" : 1609459200, " +
27+ "\" activates\" : 1609459210, " +
28+ "\" expires\" : 1893456000, " +
29+ "\" secret\" : \" o8HsvkwJ5Ulnrd0uui3GpukpwDapj+JLqb7qfN/GJKo=\" " +
30+ "}, " +
31+ "{ " +
32+ "\" id\" : 2, " +
33+ "\" keyset_id\" : 1, " +
34+ "\" created\" : 1609458200, " +
35+ "\" activates\" : 1609459220, " +
36+ "\" expires\" : 1893457000, " +
37+ "\" secret\" : \" DD67xF8OFmbJ1/lMPQ6fGRDbJOT4kXErrYWcKdFfCUE=\" " +
38+ "} " +
3739 "] " +
3840 "}, " +
3941 "\" status\" : \" success\" }" ;
4042
4143 KeyContainer keyContainer = parse (s );
44+
45+ assertEquals (11 , keyContainer .getCallerSiteId ());
46+ assertEquals (1728000 , keyContainer .getTokenExpirySeconds ());
47+
4248 Key masterKey = keyContainer .getMasterKey (Instant .now ());
49+ assertNotNull (masterKey );
50+ assertEquals (2 , masterKey .getId ());
51+
4352 Key defaultKey = keyContainer .getDefaultKey (Instant .now ());
53+ assertNotNull (defaultKey );
54+ assertEquals (3 , defaultKey .getId ());
55+
4456 Key key3 = keyContainer .getKey (3 );
45- Key key2 = keyContainer .getKey (2 );
57+ assertNotNull (key3 );
58+ assertEquals (99999 , key3 .getKeysetId ());
59+ assertEquals (Instant .ofEpochSecond (1609459200 ), key3 .getCreated ());
60+ assertEquals (Instant .ofEpochSecond (1609459210 ), key3 .getActivates ());
61+ assertEquals (Instant .ofEpochSecond (1893456000 ), key3 .getExpires ());
62+ assertEquals ("o8HsvkwJ5Ulnrd0uui3GpukpwDapj+JLqb7qfN/GJKo=" , InputUtil .byteArrayToBase64 (key3 .getSecret ()));
4663
47- assertAll (
48- "parseKeyListSharingEndpoint" ,
49- () -> assertEquals (11 , keyContainer .getCallerSiteId ()),
50- () -> assertEquals (1728000 , keyContainer .getTokenExpirySeconds ()),
51- () -> assertAll (
52- "parseKeyListSharingEndpoint - masterKey" ,
53- () -> assertNotNull (masterKey ),
54- () -> assertEquals (2 , masterKey .getId ())
55- ),
56- () -> assertAll (
57- "parseKeyListSharingEndpoint - defaultKey" ,
58- () -> assertNotNull (defaultKey ),
59- () -> assertEquals (3 , defaultKey .getId ())
60- ),
61- () -> assertAll (
62- "parseKeyListSharingEndpoint - key3" ,
63- () -> assertNotNull (key3 ),
64- () -> assertEquals (99999 , key3 .getKeysetId ()),
65- () -> assertEquals (Instant .ofEpochSecond (1609459200 ), key3 .getCreated ()),
66- () -> assertEquals (Instant .ofEpochSecond (1609459210 ), key3 .getActivates ()),
67- () -> assertEquals (Instant .ofEpochSecond (1893456000 ), key3 .getExpires ()),
68- () -> assertEquals ("o8HsvkwJ5Ulnrd0uui3GpukpwDapj+JLqb7qfN/GJKo=" , InputUtil .byteArrayToBase64 (key3 .getSecret ()))
69- ),
70- () -> assertAll (
71- "parseKeyListSharingEndpoint - key2" ,
72- () -> assertNotNull (key2 ),
73- () -> assertEquals (1 , key2 .getKeysetId ()),
74- () -> assertEquals (Instant .ofEpochSecond (1609458200 ), key2 .getCreated ()),
75- () -> assertEquals (Instant .ofEpochSecond (1609459220 ), key2 .getActivates ()),
76- () -> assertEquals (Instant .ofEpochSecond (1893457000 ), key2 .getExpires ()),
77- () -> assertEquals ("DD67xF8OFmbJ1/lMPQ6fGRDbJOT4kXErrYWcKdFfCUE=" , InputUtil .byteArrayToBase64 (key2 .getSecret ()))
78- )
79- );
64+ Key key2 = keyContainer .getKey (2 );
65+ assertNotNull (key2 );
66+ assertEquals (1 , key2 .getKeysetId ());
67+ assertEquals (Instant .ofEpochSecond (1609458200 ), key2 .getCreated ());
68+ assertEquals (Instant .ofEpochSecond (1609459220 ), key2 .getActivates ());
69+ assertEquals (Instant .ofEpochSecond (1893457000 ), key2 .getExpires ());
70+ assertEquals ("DD67xF8OFmbJ1/lMPQ6fGRDbJOT4kXErrYWcKdFfCUE=" , InputUtil .byteArrayToBase64 (key2 .getSecret ()));
8071 }
8172
8273 @ Test
8374 public void parseErrorKeyList () {
84- assertAll (
85- "parseErrorKeyList" ,
86- () -> assertThrows (Exception .class , () -> parse ("{\" status\" : \" error\" }" )),
87- () -> assertThrows (Exception .class , () -> parse ("{\" body\" : \" error\" }" )),
88- () -> assertThrows (Exception .class , () -> parse ("{\" body\" : [1, 2, 3]}" )),
89- () -> assertThrows (Exception .class , () -> parse ("{\" body\" : [{}]}" )),
90- () -> assertThrows (Exception .class , () -> parse ("{\" body\" : [{\" id\" : \" test\" }]}" )),
91- () -> assertThrows (Exception .class , () -> parse ("{\" body\" : [{\" id\" : 5}]}" ))
92- );
75+ assertThrows (Exception .class , () -> parse ("{\" status\" : \" error\" }" ));
76+ assertThrows (Exception .class , () -> parse ("{\" body\" : \" error\" }" ));
77+ assertThrows (Exception .class , () -> parse ("{\" body\" : [1, 2, 3]}" ));
78+ assertThrows (Exception .class , () -> parse ("{\" body\" : [{}]}" ));
79+ assertThrows (Exception .class , () -> parse ("{\" body\" : [{\" id\" : \" test\" }]}" ));
80+ assertThrows (Exception .class , () -> parse ("{\" body\" : [{\" id\" : 5}]}" ));
9381 }
9482
9583 @ Test
96- public void parseWithNull () {
84+ public void parseWithNullField () {
9785 String s = "{ \" body\" : { " +
9886 "\" caller_site_id\" : 11, " +
9987 "\" token_expiry_seconds\" : null " +
@@ -102,11 +90,21 @@ public void parseWithNull() {
10290
10391 KeyContainer keyContainer = parse (s );
10492
105- assertAll (
106- "parseWithNull" ,
107- () -> assertEquals (11 , keyContainer .getCallerSiteId ()),
108- () -> assertEquals (2592000 , keyContainer .getTokenExpirySeconds ())
109- );
93+ assertEquals (11 , keyContainer .getCallerSiteId ());
94+ assertEquals (DEFAULT_TOKEN_EXPIRY_SECONDS , keyContainer .getTokenExpirySeconds ());
95+ }
96+
97+ @ Test
98+ public void parseWithMissingField () {
99+ String s = "{ \" body\" : { " +
100+ "\" caller_site_id\" : 11 " +
101+ "}, " +
102+ "\" status\" : \" success\" }" ;
103+
104+ KeyContainer keyContainer = parse (s );
105+
106+ assertEquals (11 , keyContainer .getCallerSiteId ());
107+ assertEquals (DEFAULT_TOKEN_EXPIRY_SECONDS , keyContainer .getTokenExpirySeconds ());
110108 }
111109
112110 private KeyContainer parse (String str ) {
0 commit comments