@@ -107,6 +107,19 @@ public void isEmpty() {
107107 assertThat (config .isEmpty ()).isFalse ();
108108 }
109109
110+ @ Test
111+ void initial_expect_inRangeMinMax () {
112+ DataSourceConfig readOnly = new DataSourceConfig ();
113+ readOnly .setMinConnections (10 );
114+ readOnly .setMaxConnections (30 );
115+
116+ readOnly .initialConnections (1 );
117+ assertThat (readOnly .getInitialConnections ()).isEqualTo (10 );
118+
119+ readOnly .initialConnections (100 );
120+ assertThat (readOnly .getInitialConnections ()).isEqualTo (30 );
121+ }
122+
110123 @ Test
111124 public void copy () {
112125
@@ -134,6 +147,7 @@ public void copy() {
134147 assertEquals ("sch" , copy .getSchema ());
135148 assertEquals ("cat" , copy .catalog ());
136149 assertEquals (42 , copy .getMinConnections ());
150+ assertEquals (42 , copy .getInitialConnections ());
137151 assertEquals (45 , copy .getMaxConnections ());
138152
139153 customSource .put ("a" , "modifiedA" );
@@ -148,6 +162,7 @@ public void copy() {
148162 public void defaults () {
149163
150164 DataSourceConfig config = create ();
165+ config .initialConnections (6 );
151166
152167 var readOnly = new DataSourceConfig ().setDefaults (config );
153168
@@ -158,6 +173,7 @@ public void defaults() {
158173 assertThat (readOnly .getSchema ()).isEqualTo (config .getSchema ());
159174 assertThat (readOnly .catalog ()).isEqualTo (config .catalog ());
160175 assertThat (readOnly .getMinConnections ()).isEqualTo (config .getMinConnections ());
176+ assertThat (readOnly .getInitialConnections ()).isEqualTo (config .getInitialConnections ());
161177 assertThat (readOnly .getCustomProperties ()).containsKeys ("useSSL" );
162178 }
163179
@@ -166,17 +182,20 @@ void setDefaults_expect_connectionsDefault() {
166182 DataSourceConfig readOnly = new DataSourceConfig ();
167183 readOnly .setDefaults (create ());
168184 assertThat (readOnly .getMinConnections ()).isEqualTo (1 );
185+ assertThat (readOnly .getInitialConnections ()).isEqualTo (1 );
169186 assertThat (readOnly .getMaxConnections ()).isEqualTo (20 );
170187 }
171188
172189 @ Test
173190 void setDefaults_when_explicit () {
174191 DataSourceConfig readOnly = new DataSourceConfig ();
175192 readOnly .setMinConnections (21 );
176- readOnly .setMaxConnections (22 );
193+ readOnly .initialConnections (25 );
194+ readOnly .setMaxConnections (32 );
177195 readOnly .setDefaults (create ());
178196 assertThat (readOnly .getMinConnections ()).isEqualTo (21 );
179- assertThat (readOnly .getMaxConnections ()).isEqualTo (22 );
197+ assertThat (readOnly .getInitialConnections ()).isEqualTo (25 );
198+ assertThat (readOnly .getMaxConnections ()).isEqualTo (32 );
180199 }
181200
182201 @ Test
@@ -189,6 +208,7 @@ void setDefaults_when_explicitSameAsNormalDefaults() {
189208 readOnly .setDefaults (create ());
190209
191210 assertThat (readOnly .getMinConnections ()).isEqualTo (2 );
211+ assertThat (readOnly .getInitialConnections ()).isEqualTo (2 );
192212 assertThat (readOnly .getMaxConnections ()).isEqualTo (200 );
193213 }
194214
@@ -210,6 +230,7 @@ public void defaults_someOverride() {
210230 assertThat (readOnly .getUrl ()).isEqualTo ("jdbc:postgresql://127.0.0.2:5432/unit" );
211231 assertThat (readOnly .getUsername ()).isEqualTo ("foo2" );
212232 assertThat (readOnly .getMinConnections ()).isEqualTo (3 );
233+ assertThat (readOnly .getInitialConnections ()).isEqualTo (3 );
213234 assertThat (readOnly .getMaxConnections ()).isEqualTo (20 );
214235 assertThat (readOnly .isShutdownOnJvmExit ()).isFalse ();
215236 assertThat (readOnly .isValidateOnHeartbeat ()).isFalse ();
@@ -269,6 +290,7 @@ public void from_prefix() throws IOException {
269290
270291 var builder = DataSourceBuilder .from (props , "bar" );
271292 assertConfigValues (builder .settings ());
293+ assertThat (builder .settings ().getInitialConnections ()).isEqualTo (12 );
272294 }
273295
274296 @ Test
@@ -288,16 +310,19 @@ public void alsoIf() {
288310
289311 assertThat (builder .settings ().getMaxConnections ()).isEqualTo (100 );
290312 assertThat (builder .settings ().getMinConnections ()).isEqualTo (3 );
313+ assertThat (builder .settings ().getInitialConnections ()).isEqualTo (3 );
291314 }
292315
293316 @ Test
294317 public void alsoIf_notApplied () {
295318 var builder = DataSourceBuilder .create ()
296319 .alsoIf (() -> false , this ::myConfig )
297- .minConnections (3 );
320+ .minConnections (3 )
321+ .initialConnections (6 );
298322
299323 assertThat (builder .settings ().getMaxConnections ()).isEqualTo (200 );
300324 assertThat (builder .settings ().getMinConnections ()).isEqualTo (3 );
325+ assertThat (builder .settings ().getInitialConnections ()).isEqualTo (6 );
301326 }
302327
303328 private void myConfig (DataSourceBuilder .Settings builder ) {
0 commit comments