Skip to content

Commit a290cef

Browse files
committed
add unit tests
1 parent dd3e680 commit a290cef

File tree

4 files changed

+75
-0
lines changed

4 files changed

+75
-0
lines changed

operator/src/test/java/oracle/kubernetes/operator/helpers/AdminPodHelperTest.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import io.kubernetes.client.models.V1Pod;
2525
import io.kubernetes.client.models.V1PodSpec;
2626
import io.kubernetes.client.models.V1Status;
27+
import java.lang.reflect.InvocationTargetException;
2728
import java.util.Collections;
2829
import java.util.List;
2930
import java.util.Map;
@@ -247,6 +248,20 @@ public void whenDomainHasEnvironmentItemsWithVariables_createAdminPodStartupWith
247248
hasEnvVar("item2", "ADMIN_SERVER is ADMIN_SERVER:7001")));
248249
}
249250

251+
@Test
252+
public void whenDomainHasEnvironmentItemsWithVariable_createPodShouldNotChangeItsValue()
253+
throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
254+
final String ITEM_RAW_VALUE = "find uid1 at $(DOMAIN_HOME)";
255+
configureAdminServer().withEnvironmentVariable("item1", ITEM_RAW_VALUE);
256+
257+
getCreatedPod();
258+
259+
getConfiguredDomainSpec().getAdminServer().getEnv();
260+
assertThat(
261+
getConfiguredDomainSpec().getAdminServer().getEnv(),
262+
allOf(hasEnvVar("item1", ITEM_RAW_VALUE)));
263+
}
264+
250265
@Test
251266
public void createAdminPodStartupWithNullAdminUsernamePasswordEnvVarsValues() {
252267
configureAdminServer();

operator/src/test/java/oracle/kubernetes/operator/helpers/JobHelperTest.java

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
import io.kubernetes.client.models.V1JobSpec;
1616
import io.kubernetes.client.models.V1ObjectMeta;
1717
import io.kubernetes.client.models.V1SecretReference;
18+
import java.lang.reflect.InvocationTargetException;
19+
import java.lang.reflect.Method;
1820
import java.util.List;
1921
import oracle.kubernetes.operator.ProcessingConstants;
2022
import oracle.kubernetes.operator.TuningParameters;
@@ -298,6 +300,30 @@ public void introspectorPodStartupWithNullAdminUsernamePasswordEnvVarValues() {
298300
allOf(hasEnvVar("ADMIN_USERNAME", null), hasEnvVar("ADMIN_PASSWORD", null)));
299301
}
300302

303+
@Test
304+
public void whenDomainHasEnvironmentItemsWithVariable_introspectorPodStartupShouldNotChangeIt()
305+
throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
306+
DomainPresenceInfo domainPresenceInfo = createDomainPresenceInfo();
307+
308+
DomainConfigurator domainConfigurator =
309+
configureDomain(domainPresenceInfo).withEnvironmentVariable("item1", RAW_VALUE_1);
310+
311+
Packet packet = new Packet();
312+
packet
313+
.getComponents()
314+
.put(ProcessingConstants.DOMAIN_COMPONENT_NAME, Component.createFor(domainPresenceInfo));
315+
DomainIntrospectorJobStepContext domainIntrospectorJobStepContext =
316+
new DomainIntrospectorJobStepContext(domainPresenceInfo, packet);
317+
V1JobSpec jobSpec =
318+
domainIntrospectorJobStepContext.createJobSpec(TuningParameters.getInstance());
319+
320+
getContainerFromJobSpec(jobSpec, domainPresenceInfo.getDomainUID());
321+
322+
MatcherAssert.assertThat(
323+
getConfiguredDomainSpec(domainConfigurator).getEnv(),
324+
allOf(hasEnvVar("item1", RAW_VALUE_1)));
325+
}
326+
301327
@Test
302328
public void verify_introspectorPodSpec_activeDeadlineSeconds_initial_values() {
303329
DomainPresenceInfo domainPresenceInfo = createDomainPresenceInfo();
@@ -385,4 +411,15 @@ private V1Container getContainerFromJobSpec(V1JobSpec jobSpec, String domainUID)
385411
static Matcher<Iterable<? super V1EnvVar>> hasEnvVar(String name, String value) {
386412
return hasItem(new V1EnvVar().name(name).value(value));
387413
}
414+
415+
Method getDomainSpec;
416+
417+
DomainSpec getConfiguredDomainSpec(DomainConfigurator domainConfigurator)
418+
throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
419+
if (getDomainSpec == null) {
420+
getDomainSpec = DomainConfigurator.class.getDeclaredMethod("getDomainSpec");
421+
getDomainSpec.setAccessible(true);
422+
}
423+
return (DomainSpec) getDomainSpec.invoke(domainConfigurator);
424+
}
388425
}

operator/src/test/java/oracle/kubernetes/operator/helpers/ManagedPodHelperTest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,16 @@ public void createManagedPodStartupWithNullAdminUsernamePasswordEnvVarsValues()
164164
allOf(hasEnvVar("ADMIN_USERNAME", null), hasEnvVar("ADMIN_PASSWORD", null)));
165165
}
166166

167+
@Test
168+
public void whenPacketHasEnvironmentItemsWithVariable_createManagedPodShouldNotChangeItsValue() {
169+
V1EnvVar ENVVAR = toEnvVar(ITEM1, RAW_VALUE_1);
170+
testSupport.addToPacket(ProcessingConstants.ENVVARS, Arrays.asList(ENVVAR));
171+
172+
getCreatedPodSpecContainer();
173+
174+
assertThat(ENVVAR.getValue(), is(RAW_VALUE_1));
175+
}
176+
167177
@Test
168178
public void whenPacketHasClusterConfig_managedPodHasClusterLabel() {
169179
testSupport.addToPacket(ProcessingConstants.CLUSTER_NAME, CLUSTER_NAME);

operator/src/test/java/oracle/kubernetes/operator/helpers/PodHelperTestBase.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@
5757
import io.kubernetes.client.models.V1SecurityContext;
5858
import io.kubernetes.client.models.V1Volume;
5959
import io.kubernetes.client.models.V1VolumeMount;
60+
import java.lang.reflect.InvocationTargetException;
61+
import java.lang.reflect.Method;
6062
import java.util.ArrayList;
6163
import java.util.Collections;
6264
import java.util.HashMap;
@@ -153,6 +155,17 @@ DomainConfigurator getConfigurator() {
153155
return configurator;
154156
}
155157

158+
Method getDomainSpec;
159+
160+
DomainSpec getConfiguredDomainSpec()
161+
throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
162+
if (getDomainSpec == null) {
163+
getDomainSpec = DomainConfigurator.class.getDeclaredMethod("getDomainSpec");
164+
getDomainSpec.setAccessible(true);
165+
}
166+
return (DomainSpec) getDomainSpec.invoke(configurator);
167+
}
168+
156169
@Before
157170
public void setUp() throws Exception {
158171
mementos.add(

0 commit comments

Comments
 (0)