20
20
import io .kubernetes .client .ApiException ;
21
21
import io .kubernetes .client .models .V1Container ;
22
22
import io .kubernetes .client .models .V1ContainerPort ;
23
+ import io .kubernetes .client .models .V1EnvVar ;
23
24
import io .kubernetes .client .models .V1Pod ;
24
25
import io .kubernetes .client .models .V1PodSpec ;
25
26
import io .kubernetes .client .models .V1Status ;
27
+ import java .util .ArrayList ;
26
28
import java .util .Arrays ;
27
29
import java .util .Collections ;
28
30
import java .util .List ;
@@ -39,14 +41,6 @@ public class AdminPodHelperTest extends PodHelperTestBase {
39
41
private static final String INTERNAL_OPERATOR_CERT_FILE_PARAM = "internalOperatorCert" ;
40
42
private static final String INTERNAL_OPERATOR_CERT_ENV_NAME = "INTERNAL_OPERATOR_CERT" ;
41
43
private static final String CERTFILE = "certfile" ;
42
- private static final String ITEM1 = "item1" ;
43
- private static final String ITEM2 = "item2" ;
44
- private static final String VALUE1 = "value1" ;
45
- private static final String VALUE2 = "value2" ;
46
- private static final String RAW_VALUE_1 = "find $(DOMAIN_NAME) at $(DOMAIN_HOME)" ;
47
- private static final String END_VALUE_1 = "find domain1 at /shared/domain/domain1" ;
48
- private static final String RAW_VALUE_2 = "$(SERVER_NAME) is $(ADMIN_NAME):$(ADMIN_PORT)" ;
49
- private static final String END_VALUE_2 = "ADMIN_SERVER is ADMIN_SERVER:7001" ;
50
44
51
45
public AdminPodHelperTest () {
52
46
super (ADMIN_SERVER , ADMIN_PORT );
@@ -246,12 +240,14 @@ public void whenDomainPresenceHasEnvironmentItems_createAdminPodStartupWithThem(
246
240
.getDomain ()
247
241
.getSpec ()
248
242
.setServerStartup (
249
- Collections .singletonList (
250
- createServerStartup (ADMIN_SERVER , ITEM1 , VALUE1 , ITEM2 , VALUE2 )));
243
+ new ServerStartupListBuilder (ADMIN_SERVER )
244
+ .withVar ("item1" , "value1" )
245
+ .withVar ("item2" , "value2" )
246
+ .build ());
251
247
252
248
assertThat (
253
249
getCreatedPodSpecContainer ().getEnv (),
254
- allOf (hasEnvVar (ITEM1 , VALUE1 ), hasEnvVar (ITEM2 , VALUE2 )));
250
+ allOf (hasEnvVar ("item1" , "value1" ), hasEnvVar ("item2" , "value2" )));
255
251
}
256
252
257
253
@ Test
@@ -260,19 +256,55 @@ public void whenDomainPresenceHasEnvironmentItemsWithVariables_createAdminPodSta
260
256
.getDomain ()
261
257
.getSpec ()
262
258
.setServerStartup (
263
- Collections .singletonList (
264
- createServerStartup (ADMIN_SERVER , ITEM1 , RAW_VALUE_1 , ITEM2 , RAW_VALUE_2 )));
259
+ new ServerStartupListBuilder (ADMIN_SERVER )
260
+ .withVar ("item1" , "find $(DOMAIN_NAME) at $(DOMAIN_HOME)" )
261
+ .withVar ("item2" , "$(SERVER_NAME) is $(ADMIN_NAME):$(ADMIN_PORT)" )
262
+ .build ());
265
263
266
264
assertThat (
267
265
getCreatedPodSpecContainer ().getEnv (),
268
- allOf (hasEnvVar (ITEM1 , END_VALUE_1 ), hasEnvVar (ITEM2 , END_VALUE_2 )));
266
+ allOf (
267
+ hasEnvVar ("item1" , "find domain1 at /shared/domain/domain1" ),
268
+ hasEnvVar ("item2" , "ADMIN_SERVER is ADMIN_SERVER:7001" )));
269
269
}
270
270
271
- private ServerStartup createServerStartup (
272
- String serverName , String item1 , String value1 , String item2 , String value2 ) {
273
- return new ServerStartup ()
274
- .withServerName (serverName )
275
- .withEnv (Arrays .asList (envItem (item1 , value1 ), envItem (item2 , value2 )));
271
+ @ Test
272
+ public void whenDomainPresenceHasIterativeVariables_createAdminPodStartupWithThem () {
273
+ domainPresenceInfo
274
+ .getDomain ()
275
+ .getSpec ()
276
+ .setServerStartup (
277
+ new ServerStartupListBuilder (ADMIN_SERVER )
278
+ .withVar ("item1" , "from $(item3)" )
279
+ .withVar ("item2" , "<$(DOMAIN_NAME)>" )
280
+ .withVar ("item3" , "using $(item2)" )
281
+ .build ());
282
+
283
+ assertThat (
284
+ getCreatedPodSpecContainer ().getEnv (),
285
+ allOf (
286
+ hasEnvVar ("item1" , "from using <domain1>" ),
287
+ hasEnvVar ("item2" , "<domain1>" ),
288
+ hasEnvVar ("item3" , "using <domain1>" )));
289
+ }
290
+
291
+ static class ServerStartupListBuilder {
292
+ private String serverName ;
293
+ private List <V1EnvVar > vars = new ArrayList <>();
294
+
295
+ ServerStartupListBuilder (String serverName ) {
296
+ this .serverName = serverName ;
297
+ }
298
+
299
+ ServerStartupListBuilder withVar (String name , String value ) {
300
+ vars .add (new V1EnvVar ().name (name ).value (value ));
301
+ return this ;
302
+ }
303
+
304
+ List <ServerStartup > build () {
305
+ return Collections .singletonList (
306
+ new ServerStartup ().withServerName (serverName ).withEnv (vars ));
307
+ }
276
308
}
277
309
278
310
@ Override
0 commit comments