@@ -45,12 +45,16 @@ public class ReadHealthStepTest {
45
45
private static final String ADMIN_NAME = "admin-server" ;
46
46
private static final int ADMIN_PORT_NUM = 3456 ;
47
47
48
+ private static final String MANAGED_SERVER1 = "managed-server1" ;
49
+ private static final int MANAGED_SERVER1_PORT_NUM = 8001 ;
50
+
48
51
private List <LogRecord > logRecords = new ArrayList <>();
49
52
private Memento consoleControl ;
50
53
private static final ClassCastException CLASSCAST_EXCEPTION = new ClassCastException ("" );
51
54
private static final WlsDomainConfigSupport configSupport =
52
55
new WlsDomainConfigSupport (DOMAIN_NAME )
53
56
.withWlsServer (ADMIN_NAME , ADMIN_PORT_NUM )
57
+ .withWlsServer (MANAGED_SERVER1 , MANAGED_SERVER1_PORT_NUM )
54
58
.withAdminServerName (ADMIN_NAME );
55
59
56
60
@ Before
@@ -104,7 +108,7 @@ public void withHttpClientStep_logIfMissingHTTPClient() {
104
108
}
105
109
106
110
@ Test
107
- public void withHttpClientStep_decrmentServerHealthReadInPacketIfSucceeded () {
111
+ public void withHttpClientStep_decrementRemainingServerHealthReadInPacketIfSucceeded () {
108
112
V1Service service = Stub .createStub (V1ServiceStub .class );
109
113
Step next = new MockStep (null );
110
114
final String SERVER_NAME = ADMIN_NAME ;
@@ -128,6 +132,38 @@ public void withHttpClientStep_decrmentServerHealthReadInPacketIfSucceeded() {
128
132
is (0 ));
129
133
}
130
134
135
+ @ Test
136
+ public void withHttpClientStep_decrementRemainingServerHealthReadInMultipleClonedPackets () {
137
+ V1Service service = Stub .createStub (V1ServiceStub .class );
138
+ Step next = new MockStep (null );
139
+
140
+ HttpClientStub httpClientStub = Stub .createStub (HttpClientStub .class );
141
+
142
+ Packet packet = new Packet ();
143
+ packet .put (ProcessingConstants .DOMAIN_TOPOLOGY , configSupport .createDomainConfig ());
144
+ packet .put (HttpClient .KEY , httpClientStub );
145
+ packet .put (
146
+ ProcessingConstants .SERVER_HEALTH_MAP , new ConcurrentHashMap <String , ServerHealth >());
147
+ packet .put (ProcessingConstants .REMAINING_SERVERS_HEALTH_READ , new AtomicInteger (2 ));
148
+
149
+ ReadHealthWithHttpClientStep withHttpClientStep1 =
150
+ new ReadHealthWithHttpClientStep (service , null , next );
151
+ ReadHealthWithHttpClientStep withHttpClientStep2 =
152
+ new ReadHealthWithHttpClientStep (service , null , next );
153
+
154
+ Packet packet1 = packet .clone ();
155
+ packet1 .put (ProcessingConstants .SERVER_NAME , ADMIN_NAME );
156
+ withHttpClientStep1 .apply (packet1 );
157
+
158
+ Packet packet2 = packet .clone ();
159
+ packet2 .put (ProcessingConstants .SERVER_NAME , MANAGED_SERVER1 );
160
+ withHttpClientStep2 .apply (packet2 );
161
+
162
+ assertThat (
163
+ ((AtomicInteger ) packet .get (ProcessingConstants .REMAINING_SERVERS_HEALTH_READ )).get (),
164
+ is (0 ));
165
+ }
166
+
131
167
abstract static class PacketStub extends Packet {
132
168
133
169
String serverName ;
0 commit comments