@@ -104,6 +104,10 @@ void testFillingInKeysWithAutoConfigure() {
104104 ret .PublicKey = "pem2" ;
105105 ret .Algorithm = "ec:secp256r1" ;
106106 ret .KID = "kid2" ;
107+ } else if (Objects .equals (kasInfo .URL , "https://kas3.example.com" )) {
108+ ret .PublicKey = "pem3" ;
109+ ret .Algorithm = "rsa:4096" ;
110+ ret .KID = "kid3" ;
107111 } else {
108112 throw new IllegalArgumentException ("Unexpected KAS URL: " + kasInfo .URL );
109113 }
@@ -115,7 +119,8 @@ void testFillingInKeysWithAutoConfigure() {
115119 var planner = new Planner (new Config .TDFConfig (), new FakeServicesBuilder ().setKas (kas ).build ());
116120 var plan = List .of (
117121 new Autoconfigure .KeySplitStep ("https://kas1.example.com" , "split1" , null ),
118- new Autoconfigure .KeySplitStep ("https://kas2.example.com" , "split2" , "kid2" )
122+ new Autoconfigure .KeySplitStep ("https://kas2.example.com" , "split2" , "kid2" ),
123+ new Autoconfigure .KeySplitStep ("https://kas3.example.com" , "split2" , "kid3" )
119124 );
120125 Map <String , List <Config .KASInfo >> filledInPlan = planner .resolveKeys (plan );
121126 assertThat (filledInPlan .keySet ().stream ().collect (Collectors .toList ())).asList ().containsExactlyInAnyOrder ("split1" , "split2" );
@@ -125,11 +130,14 @@ void testFillingInKeysWithAutoConfigure() {
125130 assertThat (split1KasInfo .KID ).isEqualTo ("kid1" );
126131 assertThat (split1KasInfo .Algorithm ).isEqualTo ("rsa:2048" );
127132 assertThat (split1KasInfo .PublicKey ).isEqualTo ("pem1" );
128- assertThat (filledInPlan .get ("split2" )).asList ().hasSize (1 );
129- var split2KasInfo = filledInPlan .get ("split2" ).get (0 );
133+ assertThat (filledInPlan .get ("split2" )).asList ().hasSize (2 );
134+ var split2KasInfo = filledInPlan .get ("split2" ).stream (). filter ( kasInfo -> "kid2" . equals ( kasInfo . KID )). findFirst (). get ();
130135 assertThat (split2KasInfo .URL ).isEqualTo ("https://kas2.example.com" );
131- assertThat (split2KasInfo .KID ).isEqualTo ("kid2" );
132136 assertThat (split2KasInfo .Algorithm ).isEqualTo ("ec:secp256r1" );
133137 assertThat (split2KasInfo .PublicKey ).isEqualTo ("pem2" );
138+ var split3KasInfo = filledInPlan .get ("split2" ).stream ().filter (kasInfo -> "kid3" .equals (kasInfo .KID )).findFirst ().get ();
139+ assertThat (split3KasInfo .URL ).isEqualTo ("https://kas3.example.com" );
140+ assertThat (split3KasInfo .Algorithm ).isEqualTo ("rsa:4096" );
141+ assertThat (split3KasInfo .PublicKey ).isEqualTo ("pem3" );
134142 }
135143}
0 commit comments