|
8 | 8 | import java.util.List;
|
9 | 9 | import java.util.Map;
|
10 | 10 | import java.util.Objects;
|
| 11 | +import java.util.Optional; |
11 | 12 |
|
12 | 13 | import io.kubernetes.client.openapi.models.V1Container;
|
13 | 14 | import io.kubernetes.client.openapi.models.V1EmptyDirVolumeSource;
|
|
18 | 19 | import io.kubernetes.client.openapi.models.V1Volume;
|
19 | 20 | import io.kubernetes.client.openapi.models.V1VolumeMount;
|
20 | 21 | import oracle.kubernetes.operator.DomainStatusUpdater;
|
| 22 | +import oracle.kubernetes.operator.IntrospectorConfigMapConstants; |
21 | 23 | import oracle.kubernetes.operator.KubernetesConstants;
|
22 | 24 | import oracle.kubernetes.operator.LabelConstants;
|
23 | 25 | import oracle.kubernetes.operator.calls.FailureStatusSourceException;
|
|
26 | 28 | import oracle.kubernetes.operator.work.Packet;
|
27 | 29 | import oracle.kubernetes.operator.work.Step;
|
28 | 30 | import oracle.kubernetes.weblogic.domain.ServerConfigurator;
|
| 31 | +import oracle.kubernetes.weblogic.domain.model.Configuration; |
| 32 | +import oracle.kubernetes.weblogic.domain.model.Model; |
| 33 | +import oracle.kubernetes.weblogic.domain.model.OnlineUpdate; |
29 | 34 | import org.junit.jupiter.api.Test;
|
30 | 35 |
|
| 36 | +import static oracle.kubernetes.operator.EventConstants.ROLL_REASON_WEBLOGIC_CONFIGURATION_CHANGED; |
| 37 | +import static oracle.kubernetes.operator.ProcessingConstants.MII_DYNAMIC_UPDATE; |
31 | 38 | import static oracle.kubernetes.operator.WebLogicConstants.ADMIN_STATE;
|
32 | 39 | import static oracle.kubernetes.operator.WebLogicConstants.RUNNING_STATE;
|
33 | 40 | import static oracle.kubernetes.operator.helpers.DomainIntrospectorJobTest.TEST_VOLUME_NAME;
|
@@ -858,6 +865,29 @@ void whenDomainHomeChanged_generateExpectedLogMessage()
|
858 | 865 | assertThat(logRecords, containsInfo(getCyclePodKey()));
|
859 | 866 | }
|
860 | 867 |
|
| 868 | + @Test |
| 869 | + void whenDMIIDynamicUpdateNull_podCycleEventCreatedWithCorrectMessage() { |
| 870 | + initializeExistingPod(); |
| 871 | + testSupport.getPacket().put(MII_DYNAMIC_UPDATE, "abcd"); |
| 872 | + testSupport.getPacket().put(IntrospectorConfigMapConstants.DOMAINZIP_HASH, "1234"); |
| 873 | + setOnlineUpdate(true); |
| 874 | + testSupport.runSteps(getStepFactory(), terminalStep); |
| 875 | + logRecords.clear(); |
| 876 | + |
| 877 | + assertThat( |
| 878 | + "Expected Event " + POD_CYCLE_STARTING + " expected with expected message not found", |
| 879 | + getExpectedEventMessage(POD_CYCLE_STARTING), stringContainsInOrder(ROLL_REASON_WEBLOGIC_CONFIGURATION_CHANGED)); |
| 880 | + } |
| 881 | + |
| 882 | + private void setOnlineUpdate(boolean enabled) { |
| 883 | + Configuration config = Optional.ofNullable(getDomain().getSpec().getConfiguration()).orElse(new Configuration()); |
| 884 | + |
| 885 | + Model model = Optional.ofNullable(config.getModel()).orElse(new Model()); |
| 886 | + |
| 887 | + OnlineUpdate update = Optional.ofNullable(model.getOnlineUpdate()).orElse(new OnlineUpdate()); |
| 888 | + update.setEnabled(enabled); |
| 889 | + } |
| 890 | + |
861 | 891 | private V1Pod createTestPodModel() {
|
862 | 892 | return new V1Pod().metadata(createPodMetadata()).spec(createPodSpec());
|
863 | 893 | }
|
|
0 commit comments