@@ -103,6 +103,29 @@ public void getMultiple() {
103
103
assertThat (paramByPathCaptor .getValue ().recursive ()).isFalse ();
104
104
}
105
105
106
+ @ Test
107
+ public void getMultipleWithTrailingSlash () {
108
+ List <Parameter > parameters = new ArrayList <>();
109
+ parameters .add (Parameter .builder ().name ("/prod/app1/key1" ).value ("foo1" ).build ());
110
+ parameters .add (Parameter .builder ().name ("/prod/app1/key2" ).value ("foo2" ).build ());
111
+ parameters .add (Parameter .builder ().name ("/prod/app1/key3" ).value ("foo3" ).build ());
112
+ GetParametersByPathResponse response = GetParametersByPathResponse .builder ().parameters (parameters ).build ();
113
+ when (client .getParametersByPath (paramByPathCaptor .capture ())).thenReturn (response );
114
+
115
+ Map <String , String > params = provider .getMultiple ("/prod/app1/" );
116
+ assertThat (params ).contains (
117
+ MapEntry .entry ("key1" , "foo1" ),
118
+ MapEntry .entry ("key2" , "foo2" ),
119
+ MapEntry .entry ("key3" , "foo3" ));
120
+ assertThat (provider .get ("/prod/app1/key1" )).isEqualTo ("foo1" );
121
+ assertThat (provider .get ("/prod/app1/key2" )).isEqualTo ("foo2" );
122
+ assertThat (provider .get ("/prod/app1/key3" )).isEqualTo ("foo3" );
123
+
124
+ assertThat (paramByPathCaptor .getValue ().path ()).isEqualTo ("/prod/app1" );
125
+ assertThat (paramByPathCaptor .getValue ().withDecryption ()).isFalse ();
126
+ assertThat (paramByPathCaptor .getValue ().recursive ()).isFalse ();
127
+ }
128
+
106
129
@ Test
107
130
public void getMultiple_cached_shouldNotCallSSM () {
108
131
List <Parameter > parameters = new ArrayList <>();
0 commit comments