28
28
import org .junit .jupiter .api .MethodOrderer ;
29
29
import org .junit .jupiter .api .Test ;
30
30
import org .junit .jupiter .api .TestMethodOrder ;
31
+ import org .junit .jupiter .params .ParameterizedTest ;
32
+ import org .junit .jupiter .params .provider .ValueSource ;
31
33
32
34
import static java .nio .file .StandardCopyOption .REPLACE_EXISTING ;
33
35
import static java .util .concurrent .TimeUnit .MINUTES ;
34
36
import static java .util .concurrent .TimeUnit .SECONDS ;
35
37
import static oracle .weblogic .kubernetes .TestConstants .ADMIN_PASSWORD_DEFAULT ;
36
38
import static oracle .weblogic .kubernetes .TestConstants .ADMIN_USERNAME_DEFAULT ;
37
39
import static oracle .weblogic .kubernetes .TestConstants .DEFAULT_EXTERNAL_SERVICE_NAME_SUFFIX ;
40
+ import static oracle .weblogic .kubernetes .TestConstants .MII_BASIC_IMAGE_NAME ;
41
+ import static oracle .weblogic .kubernetes .TestConstants .MII_BASIC_IMAGE_TAG ;
38
42
import static oracle .weblogic .kubernetes .TestConstants .OLD_DEFAULT_EXTERNAL_SERVICE_NAME_SUFFIX ;
39
43
import static oracle .weblogic .kubernetes .TestConstants .OPERATOR_CHART_DIR ;
40
44
import static oracle .weblogic .kubernetes .TestConstants .OPERATOR_GITHUB_CHART_REPO_URL ;
48
52
import static oracle .weblogic .kubernetes .actions .TestActions .getServiceNodePort ;
49
53
import static oracle .weblogic .kubernetes .actions .TestActions .uninstallOperator ;
50
54
import static oracle .weblogic .kubernetes .assertions .TestAssertions .adminNodePortAccessible ;
55
+ import static oracle .weblogic .kubernetes .utils .CommonMiiTestUtils .createMiiDomainAndVerify ;
51
56
import static oracle .weblogic .kubernetes .utils .CommonMiiTestUtils .verifyPodsNotRolled ;
52
57
import static oracle .weblogic .kubernetes .utils .CommonPatchTestUtils .patchServerStartPolicy ;
53
58
import static oracle .weblogic .kubernetes .utils .CommonTestUtils .checkPodDeleted ;
71
76
72
77
/**
73
78
* Install a released version of Operator from GitHub chart repository.
74
- * Create a domain using Domain-In-Image model with a dynamic cluster.
79
+ * Create a domain using Domain-In-Image or Model-In-Image model with a dynamic cluster.
75
80
* Deploy an application to the cluster in domain and verify the application
76
81
* can be accessed while the operator is upgraded and after the upgrade.
77
82
* Upgrade operator with latest Operator image from develop branch.
@@ -124,7 +129,6 @@ public static void init() {
124
129
withQuickRetryPolicy = with ().pollDelay (0 , SECONDS )
125
130
.and ().with ().pollInterval (4 , SECONDS )
126
131
.atMost (10 , SECONDS ).await ();
127
-
128
132
}
129
133
130
134
/**
@@ -133,52 +137,62 @@ public static void init() {
133
137
@ Test
134
138
@ DisplayName ("Upgrade Operator from 2.6.0 to develop" )
135
139
public void testOperatorWlsUpgradeFrom260ToDevelop () {
136
- upgradeOperator ("2.6.0" , OLD_DEFAULT_EXTERNAL_SERVICE_NAME_SUFFIX , false );
140
+ upgradeOperator ("domain-in-image" , " 2.6.0" , OLD_DEFAULT_EXTERNAL_SERVICE_NAME_SUFFIX , false );
137
141
}
138
142
139
143
/**
140
144
* Operator upgrade from 3.0.3 to latest.
141
145
*/
142
- @ Test
146
+ @ ParameterizedTest
143
147
@ DisplayName ("Upgrade Operator from 3.0.3 to develop" )
144
- public void testOperatorWlsUpgradeFrom303ToDevelop () {
145
- upgradeOperator ("3.0.3" , OLD_DEFAULT_EXTERNAL_SERVICE_NAME_SUFFIX , true );
148
+ @ ValueSource (strings = { "domain-in-image" , "model-in-image" })
149
+ public void testOperatorWlsUpgradeFrom303ToDevelop (String domainType ) {
150
+ logger .info ("Starting test testOperatorWlsUpgradeFrom303ToDevelop with domain type {0}" , domainType );
151
+ upgradeOperator (domainType , "3.0.3" , OLD_DEFAULT_EXTERNAL_SERVICE_NAME_SUFFIX , true );
146
152
}
147
153
148
154
/**
149
155
* Operator upgrade from 3.0.4 to latest.
150
156
*/
151
- @ Test
157
+ @ ParameterizedTest
152
158
@ DisplayName ("Upgrade Operator from 3.0.4 to develop" )
153
- public void testOperatorWlsUpgradeFrom304ToDevelop () {
154
- upgradeOperator ("3.0.4" , OLD_DEFAULT_EXTERNAL_SERVICE_NAME_SUFFIX , true );
159
+ @ ValueSource (strings = { "domain-in-image" , "model-in-image" })
160
+ public void testOperatorWlsUpgradeFrom304ToDevelop (String domainType ) {
161
+ logger .info ("Starting test testOperatorWlsUpgradeFrom304ToDevelop with domain type {0}" , domainType );
162
+ upgradeOperator (domainType , "3.0.4" , OLD_DEFAULT_EXTERNAL_SERVICE_NAME_SUFFIX , true );
155
163
}
156
164
157
165
/**
158
166
* Operator upgrade from 3.1.2 to latest.
159
167
*/
160
- @ Test
168
+ @ ParameterizedTest
161
169
@ DisplayName ("Upgrade Operator from 3.1.2 to develop" )
162
- public void testOperatorWlsUpgradeFrom312ToDevelop () {
163
- upgradeOperator ("3.1.2" , DEFAULT_EXTERNAL_SERVICE_NAME_SUFFIX , true );
170
+ @ ValueSource (strings = { "domain-in-image" , "model-in-image" })
171
+ public void testOperatorWlsUpgradeFrom312ToDevelop (String domainType ) {
172
+ logger .info ("Starting test testOperatorWlsUpgradeFrom312ToDevelop with domain type {0}" , domainType );
173
+ upgradeOperator (domainType , "3.1.2" , DEFAULT_EXTERNAL_SERVICE_NAME_SUFFIX , true );
164
174
}
165
175
166
176
/**
167
177
* Operator upgrade from 3.1.3 to latest.
168
178
*/
169
- @ Test
179
+ @ ParameterizedTest
170
180
@ DisplayName ("Upgrade Operator from 3.1.3 to develop" )
171
- public void testOperatorWlsUpgradeFrom313ToDevelop () {
172
- upgradeOperator ("3.1.3" , DEFAULT_EXTERNAL_SERVICE_NAME_SUFFIX , true );
181
+ @ ValueSource (strings = { "domain-in-image" , "model-in-image" })
182
+ public void testOperatorWlsUpgradeFrom313ToDevelop (String domainType ) {
183
+ logger .info ("Starting test testOperatorWlsUpgradeFrom313ToDevelop with domain type {0}" , domainType );
184
+ upgradeOperator (domainType , "3.1.3" , DEFAULT_EXTERNAL_SERVICE_NAME_SUFFIX , true );
173
185
}
174
186
175
187
/**
176
188
* Operator upgrade from 3.1.4 to latest.
177
189
*/
178
- @ Test
190
+ @ ParameterizedTest
179
191
@ DisplayName ("Upgrade Operator from 3.1.4 to develop" )
180
- public void testOperatorWlsUpgradeFrom314ToDevelop () {
181
- upgradeOperator ("3.1.4" , DEFAULT_EXTERNAL_SERVICE_NAME_SUFFIX , true );
192
+ @ ValueSource (strings = { "domain-in-image" , "model-in-image" })
193
+ public void testOperatorWlsUpgradeFrom314ToDevelop (String domainType ) {
194
+ logger .info ("Starting test testOperatorWlsUpgradeFrom314ToDevelop with domain type {0}" , domainType );
195
+ upgradeOperator (domainType , "3.1.4" , DEFAULT_EXTERNAL_SERVICE_NAME_SUFFIX , true );
182
196
}
183
197
184
198
/**
@@ -201,7 +215,8 @@ public void tearDown() {
201
215
// Since Operator version 3.1.0 the service pod prefix has been changed
202
216
// from -external to -ext e.g.
203
217
// domain1-adminserver-ext NodePort 10.96.46.242 30001:30001/TCP
204
- private void upgradeOperator (String operatorVersion , String externalServiceNameSuffix , boolean useHelmUpgrade ) {
218
+ private void upgradeOperator (String domainType , String operatorVersion , String externalServiceNameSuffix ,
219
+ boolean useHelmUpgrade ) {
205
220
logger .info ("Assign a unique namespace for operator {0}" , operatorVersion );
206
221
assertNotNull (namespaces .get (0 ), "Namespace is null" );
207
222
final String opNamespace1 = namespaces .get (0 );
@@ -230,14 +245,17 @@ private void upgradeOperator(String operatorVersion, String externalServiceNameS
230
245
// install operator
231
246
String opNamespace = opNamespace1 ;
232
247
String opServiceAccount = opNamespace + "-sa" ;
233
- installAndVerifyOperator (opNamespace , opServiceAccount , true ,
234
- 0 , opHelmParams , domainNamespace );
248
+ installAndVerifyOperator (opNamespace , opServiceAccount , true , 0 , opHelmParams , domainNamespace );
235
249
236
250
// create domain
237
- createDomainHomeInImageAndVerify (
238
- domainNamespace , operatorVersion , externalServiceNameSuffix );
251
+ if (domainType .equalsIgnoreCase ("domain-in-image" )) {
252
+ createDomainHomeInImageAndVerify (domainNamespace , operatorVersion , externalServiceNameSuffix );
253
+ } else {
254
+ createMiiDomainAndVerify (domainNamespace , domainUid , MII_BASIC_IMAGE_NAME + ":" + MII_BASIC_IMAGE_TAG ,
255
+ adminServerPodName , managedServerPodNamePrefix , replicaCount );
256
+ }
257
+
239
258
LinkedHashMap <String , OffsetDateTime > pods = new LinkedHashMap <>();
240
- OffsetDateTime adminPodCreationTime = getPodCreationTime (domainNamespace , adminServerPodName );
241
259
pods .put (adminServerPodName , getPodCreationTime (domainNamespace , adminServerPodName ));
242
260
// get the creation time of the managed server pods before patching
243
261
for (int i = 1 ; i <= replicaCount ; i ++) {
@@ -258,7 +276,7 @@ private void upgradeOperator(String operatorVersion, String externalServiceNameS
258
276
259
277
// start a new thread to collect the availability data of the application while the
260
278
// main thread performs operator upgrade
261
- List <Integer > appAvailability = new ArrayList <Integer >();
279
+ List <Integer > appAvailability = new ArrayList <>();
262
280
logger .info ("Start a thread to keep track of the application's availability" );
263
281
Thread accountingThread =
264
282
new Thread (
@@ -330,6 +348,7 @@ private void upgradeOperator(String operatorVersion, String externalServiceNameS
330
348
// install latest operator
331
349
installAndVerifyOperator (opNamespace , opServiceAccount , true , 0 , domainNamespace );
332
350
}
351
+
333
352
// check CRD version is updated
334
353
logger .info ("Checking CRD version " );
335
354
withStandardRetryPolicy
0 commit comments