1212
1313import com .meterware .simplestub .Memento ;
1414import com .meterware .simplestub .Stub ;
15+ import io .kubernetes .client .models .V1ObjectMeta ;
1516import io .kubernetes .client .models .V1Service ;
1617import java .util .ArrayList ;
1718import java .util .List ;
1819import java .util .logging .Level ;
1920import java .util .logging .LogRecord ;
2021import oracle .kubernetes .TestUtils ;
2122import oracle .kubernetes .operator .ProcessingConstants ;
23+ import oracle .kubernetes .operator .helpers .DomainPresenceInfo ;
24+ import oracle .kubernetes .operator .helpers .DomainPresenceInfoManager ;
25+ import oracle .kubernetes .operator .helpers .ServerKubernetesObjectsManager ;
2226import oracle .kubernetes .operator .http .HttpClient ;
2327import oracle .kubernetes .operator .wlsconfig .WlsRetriever .RequestType ;
2428import oracle .kubernetes .operator .wlsconfig .WlsRetriever .WithHttpClientStep ;
29+ import oracle .kubernetes .operator .work .Component ;
2530import oracle .kubernetes .operator .work .NextAction ;
2631import oracle .kubernetes .operator .work .Packet ;
2732import oracle .kubernetes .operator .work .Step ;
33+ import oracle .kubernetes .weblogic .domain .v1 .Domain ;
34+ import oracle .kubernetes .weblogic .domain .v1 .DomainSpec ;
2835import org .junit .After ;
2936import org .junit .Before ;
3037import org .junit .Test ;
@@ -105,6 +112,34 @@ public void withHttpClientStep_Health_nologIfFailedOnRetry() {
105112 assert (logRecords .isEmpty ());
106113 }
107114
115+ @ Test (expected = IllegalArgumentException .class )
116+ public void WithHttpClientStep_const_throws_with_null_service () {
117+ Step next = new MockStep (null );
118+ new WithHttpClientStep (RequestType .HEALTH , null , next );
119+ }
120+
121+ // @Test (expected =IllegalArgumentException.class)
122+ public void ReadStep_apply_throws_with_null_service () {
123+ final String SERVER_NAME = "managed-server1" ;
124+ final String DOMAIN_UID = "testDomain" ;
125+ Step next = new MockStep (null );
126+ DomainSpec domainSpec = new DomainSpec ();
127+ domainSpec .setDomainUID (DOMAIN_UID );
128+ Domain domain =
129+ new Domain ()
130+ .withSpec (domainSpec )
131+ .withMetadata (new V1ObjectMeta ().namespace ("testnamespace" ));
132+ DomainPresenceInfo domainPresenceInfo = DomainPresenceInfoManager .getOrCreate (domain );
133+ ServerKubernetesObjectsManager .getOrCreate (domainPresenceInfo , DOMAIN_UID , SERVER_NAME );
134+ Packet packet =
135+ Stub .createStub (PacketStub .class )
136+ .addSpi (DomainPresenceInfo .class , domainPresenceInfo )
137+ .withServerName (SERVER_NAME );
138+
139+ Step readStep = WlsRetriever .readHealthStep (next );
140+ readStep .apply (packet );
141+ }
142+
108143 abstract static class PacketStub extends Packet {
109144
110145 Integer retryCount ;
@@ -120,6 +155,12 @@ PacketStub withServerName(String serverName) {
120155 return this ;
121156 }
122157
158+ PacketStub addSpi (Class clazz , Object spiObject ) {
159+ Component component = Component .createFor (spiObject );
160+ this .getComponents ().put (clazz .getName (), component );
161+ return this ;
162+ }
163+
123164 @ Override
124165 public Object get (Object key ) {
125166 if (HttpClient .KEY .equals (key )) {
0 commit comments