Skip to content

Commit 2bf3a5a

Browse files
committed
Refactor to isolate loading of domain yaml from the scripts
1 parent 70aafd1 commit 2bf3a5a

6 files changed

+146
-175
lines changed

kubernetes/src/test/java/oracle/kubernetes/operator/create/CreateDomainGeneratedFilesBaseTest.java

Lines changed: 2 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import static oracle.kubernetes.operator.VersionConstants.DOMAIN_V1;
1515
import static oracle.kubernetes.operator.VersionConstants.TRAEFIK_LOAD_BALANCER_V1;
1616
import static oracle.kubernetes.operator.VersionConstants.VOYAGER_LOAD_BALANCER_V1;
17-
import static oracle.kubernetes.operator.utils.CreateDomainInputs.readInputsYamlFile;
1817
import static oracle.kubernetes.operator.utils.KubernetesArtifactUtils.API_GROUP_RBAC;
1918
import static oracle.kubernetes.operator.utils.KubernetesArtifactUtils.API_VERSION_APPS_V1BETA1;
2019
import static oracle.kubernetes.operator.utils.KubernetesArtifactUtils.API_VERSION_EXTENSIONS_V1BETA1;
@@ -72,7 +71,6 @@
7271
import static oracle.kubernetes.operator.utils.YamlUtils.yamlEqualTo;
7372
import static org.hamcrest.MatcherAssert.assertThat;
7473
import static org.hamcrest.Matchers.containsString;
75-
import static org.hamcrest.Matchers.is;
7674

7775
import io.kubernetes.client.custom.Quantity;
7876
import io.kubernetes.client.models.ExtensionsV1beta1Deployment;
@@ -184,61 +182,7 @@ protected static void setup(DomainYamlFactory factory, DomainValues values) thro
184182
}
185183

186184
@Test
187-
public void generatedCorrect_weblogicDomainInputsYaml() throws Exception {
188-
assertThat(
189-
readInputsYamlFile(generatedFiles.getDomainFiles().getCreateWeblogicDomainInputsYamlPath()),
190-
yamlEqualTo(readInputsYamlFile(generatedFiles.getInputsYamlPath())));
191-
}
192-
193-
@Test
194-
public void createWeblogicDomainJobYaml_hasCorrectNumberOfObjects() throws Exception {
195-
assertThat(
196-
getCreateWeblogicDomainJobYaml().getObjectCount(),
197-
is(getCreateWeblogicDomainJobYaml().getExpectedObjectCount()));
198-
}
199-
200-
@Test
201-
public void deleteWeblogicDomainJobYaml_hasCorrectNumberOfObjects() throws Exception {
202-
assertThat(
203-
getDeleteWeblogicDomainJobYaml().getObjectCount(),
204-
is(getDeleteWeblogicDomainJobYaml().getExpectedObjectCount()));
205-
}
206-
207-
@Test
208-
public void domainCustomResourceYaml_hasCorrectNumberOfObjects() throws Exception {
209-
assertThat(
210-
getDomainCustomResourceYaml().getObjectCount(),
211-
is(getDomainCustomResourceYaml().getExpectedObjectCount()));
212-
}
213-
214-
@Test
215-
public void loadBalancerSecurityYaml_hasCorrectNumberOfObjects() throws Exception {
216-
assertThat(
217-
getTraefikSecurityYaml().getObjectCount(),
218-
is(getTraefikSecurityYaml().getExpectedObjectCount()));
219-
}
220-
221-
@Test
222-
public void loadBalancerYaml_hasCorrectNumberOfObjects() throws Exception {
223-
assertThat(getTraefikYaml().getObjectCount(), is(getTraefikYaml().getExpectedObjectCount()));
224-
}
225-
226-
@Test
227-
public void weblogicDomainPersistentVolumeClaimYaml_hasCorrectNumberOfObjects() throws Exception {
228-
assertThat(
229-
getWeblogicDomainPersistentVolumeClaimYaml().getObjectCount(),
230-
is(getWeblogicDomainPersistentVolumeClaimYaml().getExpectedObjectCount()));
231-
}
232-
233-
@Test
234-
public void weblogicDomainPersistentVolumeYaml_hasCorrectNumberOfObjects() throws Exception {
235-
assertThat(
236-
getWeblogicDomainPersistentVolumeYaml().getObjectCount(),
237-
is(getWeblogicDomainPersistentVolumeYaml().getExpectedObjectCount()));
238-
}
239-
240-
@Test
241-
public void generatesCorrect_createWeblogicDomainJob() throws Exception {
185+
public void generatesCorrect_createWeblogicDomainJob() {
242186
assertThat(
243187
getActualCreateWeblogicDomainJob(), yamlEqualTo(getExpectedCreateWeblogicDomainJob()));
244188
}
@@ -471,7 +415,7 @@ public void generatesCorrect_domain() throws Exception {
471415
assertThat(getActualDomain(), yamlEqualTo(getExpectedDomain()));
472416
}
473417

474-
protected Domain getActualDomain() {
418+
private Domain getActualDomain() {
475419
return getDomainCustomResourceYaml().getDomain();
476420
}
477421

kubernetes/src/test/java/oracle/kubernetes/operator/create/CreateDomainGeneratedFilesOptionalFeaturesEnabledTestBase.java

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import static oracle.kubernetes.operator.utils.KubernetesArtifactUtils.newStringList;
1212
import static oracle.kubernetes.operator.utils.YamlUtils.yamlEqualTo;
1313
import static org.hamcrest.MatcherAssert.assertThat;
14-
import static org.hamcrest.Matchers.is;
1514

1615
import io.kubernetes.client.models.V1Job;
1716
import io.kubernetes.client.models.V1PersistentVolume;
@@ -122,16 +121,4 @@ public void generatesCorrect_loadBalancerClusterRoleBinding() {
122121
assertThat(
123122
getActualApacheClusterRoleBinding(), yamlEqualTo(getExpectedApacheClusterRoleBinding()));
124123
}
125-
126-
@Override
127-
public void loadBalancerSecurityYaml_hasCorrectNumberOfObjects() {
128-
assertThat(
129-
getApacheSecurityYaml().getObjectCount(),
130-
is(getApacheSecurityYaml().getExpectedObjectCount()));
131-
}
132-
133-
@Override
134-
public void loadBalancerYaml_hasCorrectNumberOfObjects() {
135-
assertThat(getApacheYaml().getObjectCount(), is(getApacheYaml().getExpectedObjectCount()));
136-
}
137124
}

kubernetes/src/test/java/oracle/kubernetes/operator/create/CreateDomainGeneratedFilesVoyagerTestBase.java

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -146,22 +146,6 @@ public void generatesCorrect_loadBalancerService1() {
146146
assertThat(getActualVoyagerIngressService(), yamlEqualTo(getExpectedVoyagerIngressService()));
147147
}
148148

149-
@Test
150-
@Override
151-
public void loadBalancerSecurityYaml_hasCorrectNumberOfObjects() {
152-
assertThat(
153-
getVoyagerOperatorSecurityYaml().getObjectCount(),
154-
is(getVoyagerOperatorSecurityYaml().getExpectedObjectCount()));
155-
}
156-
157-
@Test
158-
@Override
159-
public void loadBalancerYaml_hasCorrectNumberOfObjects() {
160-
assertThat(
161-
getVoyagerOperatorYaml().getObjectCount(),
162-
is(getVoyagerOperatorYaml().getExpectedObjectCount()));
163-
}
164-
165149
@Test
166150
public void loadBalancerIngressYaml_hasCorrectNumberOfObjects() {
167151
assertThat(

kubernetes/src/test/java/oracle/kubernetes/operator/create/CreateDomainInputsValidationTest.java

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,15 @@
1919
import static oracle.kubernetes.operator.utils.CreateDomainInputs.STORAGE_RECLAIM_POLICY_RECYCLE;
2020
import static oracle.kubernetes.operator.utils.CreateDomainInputs.STORAGE_TYPE_HOST_PATH;
2121
import static oracle.kubernetes.operator.utils.CreateDomainInputs.STORAGE_TYPE_NFS;
22-
import static oracle.kubernetes.operator.utils.CreateDomainInputs.newInputs;
2322
import static oracle.kubernetes.operator.utils.CreateDomainInputs.readDefaultInputsFile;
2423
import static oracle.kubernetes.operator.utils.ExecResultMatcher.errorRegexp;
2524
import static oracle.kubernetes.operator.utils.ExecResultMatcher.failsAndPrints;
2625
import static org.hamcrest.MatcherAssert.assertThat;
2726

2827
import oracle.kubernetes.operator.utils.DomainValues;
28+
import oracle.kubernetes.operator.utils.DomainYamlFactory;
2929
import oracle.kubernetes.operator.utils.ExecCreateDomain;
3030
import oracle.kubernetes.operator.utils.ExecResult;
31-
import oracle.kubernetes.operator.utils.GeneratedDomainYamlFiles;
3231
import oracle.kubernetes.operator.utils.UserProjects;
3332
import org.junit.After;
3433
import org.junit.Before;
@@ -41,6 +40,7 @@
4140
public class CreateDomainInputsValidationTest {
4241

4342
private UserProjects userProjects;
43+
private DomainYamlFactory factory = new ScriptedDomainYamlFactory();
4444

4545
private static final String PARAM_ADMIN_PORT = "adminPort";
4646
private static final String PARAM_ADMIN_SERVER_NAME = "adminServerName";
@@ -106,6 +106,10 @@ public void createDomain_with_missingAdminPort_failsAndReturnsError() throws Exc
106106
failsAndPrints(paramMissingError(PARAM_ADMIN_PORT)));
107107
}
108108

109+
private DomainValues newInputs() throws Exception {
110+
return factory.newDomainValues();
111+
}
112+
109113
@Test
110114
public void createDomain_with_invalidAdminPort_failsAndReturnsError() throws Exception {
111115
String val = "invalid-admin-port";
@@ -294,14 +298,12 @@ public void createDomain_with_invalidWeblogicDomainStorageType_failsAndReturnsEr
294298
}
295299

296300
@Test
297-
public void
298-
createDomain_with_weblogicDomainStorageTypeHostPath_and_missingWeblogicDomainStorageNFSServer_succeeds()
299-
throws Exception {
300-
GeneratedDomainYamlFiles.generateDomainYamlFiles(
301-
newInputs()
302-
.weblogicDomainStorageType(STORAGE_TYPE_HOST_PATH)
303-
.weblogicDomainStorageNFSServer(""))
304-
.remove();
301+
public void createDomainWithDomainStorageTypeHostPathAndMissingStorageNFSServer_succeeds()
302+
throws Exception {
303+
factory.generate(
304+
newInputs()
305+
.weblogicDomainStorageType(STORAGE_TYPE_HOST_PATH)
306+
.weblogicDomainStorageNFSServer(""));
305307
}
306308

307309
@Test
@@ -342,20 +344,18 @@ public void createDomain_with_invalidWeblogicDomainStorageReclaimPolicy_failsAnd
342344
@Test
343345
public void createDomain_with_weblogicDomainStorageReclaimPolicyRecycle_succeeds()
344346
throws Exception {
345-
GeneratedDomainYamlFiles.generateDomainYamlFiles(
346-
newInputs().weblogicDomainStorageReclaimPolicy(STORAGE_RECLAIM_POLICY_RECYCLE))
347-
.remove();
347+
factory.generate(
348+
newInputs().weblogicDomainStorageReclaimPolicy(STORAGE_RECLAIM_POLICY_RECYCLE));
348349
}
349350

350351
@Test
351352
public void
352353
createDomain_with_weblogicDomainStorageReclaimPolicyDelete_and_tmpWeblogicDomainStoragePath_succeeds()
353354
throws Exception {
354-
GeneratedDomainYamlFiles.generateDomainYamlFiles(
355-
newInputs()
356-
.weblogicDomainStorageReclaimPolicy(STORAGE_RECLAIM_POLICY_DELETE)
357-
.weblogicDomainStoragePath("/tmp/"))
358-
.remove();
355+
factory.generate(
356+
newInputs()
357+
.weblogicDomainStorageReclaimPolicy(STORAGE_RECLAIM_POLICY_DELETE)
358+
.weblogicDomainStoragePath("/tmp/"));
359359
}
360360

361361
@Test
@@ -610,7 +610,7 @@ private void createDomain_with_validLoadBalancer_succeeds(String loadBalancerTyp
610610

611611
private void createDomain_with_validInputs_succeeds(DomainValues inputs) throws Exception {
612612
// throws an error if the inputs are not valid, succeeds otherwise:
613-
GeneratedDomainYamlFiles.generateDomainYamlFiles(inputs).remove();
613+
factory.generate(inputs);
614614
}
615615

616616
private String invalidBooleanParamValueError(String param, String val) {
@@ -625,6 +625,7 @@ private String invalidEnumParamValueError(String param, String val) {
625625
return errorRegexp("Invalid.*" + param + ".*" + val);
626626
}
627627

628+
@SuppressWarnings("SameParameterValue")
628629
private String invalidRelatedParamValueError(
629630
String param, String val, String param2, String val2) {
630631
return errorRegexp("Invalid.*" + param + ".*" + val + " with " + param2 + ".*" + val2);

kubernetes/src/test/java/oracle/kubernetes/operator/create/ScriptedDomainYamlFactory.java

Lines changed: 89 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,29 @@
44

55
package oracle.kubernetes.operator.create;
66

7+
import static oracle.kubernetes.operator.utils.ExecCreateDomain.execCreateDomain;
8+
import static oracle.kubernetes.operator.utils.ExecResultMatcher.succeedsAndPrints;
9+
import static oracle.kubernetes.operator.utils.UserProjects.createUserProjectsDirectory;
10+
import static org.hamcrest.MatcherAssert.assertThat;
11+
712
import oracle.kubernetes.operator.utils.CreateDomainInputs;
13+
import oracle.kubernetes.operator.utils.DomainFiles;
814
import oracle.kubernetes.operator.utils.DomainValues;
915
import oracle.kubernetes.operator.utils.DomainYamlFactory;
1016
import oracle.kubernetes.operator.utils.GeneratedDomainYamlFiles;
17+
import oracle.kubernetes.operator.utils.ParsedApacheSecurityYaml;
18+
import oracle.kubernetes.operator.utils.ParsedApacheYaml;
19+
import oracle.kubernetes.operator.utils.ParsedCreateWeblogicDomainJobYaml;
20+
import oracle.kubernetes.operator.utils.ParsedDeleteWeblogicDomainJobYaml;
21+
import oracle.kubernetes.operator.utils.ParsedDomainCustomResourceYaml;
22+
import oracle.kubernetes.operator.utils.ParsedTraefikSecurityYaml;
23+
import oracle.kubernetes.operator.utils.ParsedTraefikYaml;
24+
import oracle.kubernetes.operator.utils.ParsedVoyagerIngressYaml;
25+
import oracle.kubernetes.operator.utils.ParsedVoyagerOperatorSecurityYaml;
26+
import oracle.kubernetes.operator.utils.ParsedVoyagerOperatorYaml;
27+
import oracle.kubernetes.operator.utils.ParsedWeblogicDomainPersistentVolumeClaimYaml;
28+
import oracle.kubernetes.operator.utils.ParsedWeblogicDomainPersistentVolumeYaml;
29+
import oracle.kubernetes.operator.utils.UserProjects;
1130

1231
public class ScriptedDomainYamlFactory extends DomainYamlFactory {
1332

@@ -18,6 +37,75 @@ public CreateDomainInputs createDefaultValues() throws Exception {
1837

1938
@Override
2039
public GeneratedDomainYamlFiles generate(DomainValues values) throws Exception {
21-
return GeneratedDomainYamlFiles.generateDomainYamlFiles(values);
40+
return new YamlGenerator(values).getGeneratedDomainYamlFiles();
41+
}
42+
43+
static class YamlGenerator {
44+
private final DomainValues values;
45+
private DomainFiles domainFiles;
46+
47+
YamlGenerator(DomainValues values) throws Exception {
48+
this.values = values;
49+
UserProjects userProjects = createUserProjectsDirectory();
50+
domainFiles = new DomainFiles(userProjects.getPath(), values);
51+
52+
assertThat(execCreateDomain(userProjects.getPath(), values), succeedsAndPrints("Completed"));
53+
}
54+
55+
GeneratedDomainYamlFiles getGeneratedDomainYamlFiles() throws Exception {
56+
GeneratedDomainYamlFiles files =
57+
new GeneratedDomainYamlFiles(
58+
new ParsedCreateWeblogicDomainJobYaml(
59+
domainFiles.getCreateWeblogicDomainJobYamlPath(), values),
60+
new ParsedDeleteWeblogicDomainJobYaml(
61+
domainFiles.getDeleteWeblogicDomainJobYamlPath(), values),
62+
new ParsedDomainCustomResourceYaml(
63+
domainFiles.getDomainCustomResourceYamlPath(), values));
64+
65+
definePersistentVolumeYaml(files);
66+
defineLoadBalancer(files);
67+
return files;
68+
}
69+
70+
private void definePersistentVolumeYaml(GeneratedDomainYamlFiles files) throws Exception {
71+
files.definePersistentVolumeYaml(
72+
new ParsedWeblogicDomainPersistentVolumeYaml(
73+
domainFiles.getWeblogicDomainPersistentVolumeYamlPath(), values),
74+
new ParsedWeblogicDomainPersistentVolumeClaimYaml(
75+
domainFiles.getWeblogicDomainPersistentVolumeClaimYamlPath(), values));
76+
}
77+
78+
private void defineLoadBalancer(GeneratedDomainYamlFiles files) throws Exception {
79+
switch (this.values.getLoadBalancer()) {
80+
case DomainValues.LOAD_BALANCER_TRAEFIK:
81+
defineTraefikYaml(files);
82+
break;
83+
case DomainValues.LOAD_BALANCER_APACHE:
84+
defineApacheYaml(files);
85+
break;
86+
case DomainValues.LOAD_BALANCER_VOYAGER:
87+
defineYoyagerYaml(files);
88+
break;
89+
}
90+
}
91+
92+
private void defineTraefikYaml(GeneratedDomainYamlFiles files) throws Exception {
93+
files.defineTraefikYaml(
94+
new ParsedTraefikYaml(domainFiles.getTraefikYamlPath(), values),
95+
new ParsedTraefikSecurityYaml(domainFiles.getTraefikSecurityYamlPath(), values));
96+
}
97+
98+
private void defineApacheYaml(GeneratedDomainYamlFiles files) throws Exception {
99+
files.defineApacheYaml(
100+
new ParsedApacheYaml(domainFiles.getApacheYamlPath(), values),
101+
new ParsedApacheSecurityYaml(domainFiles.getApacheSecurityYamlPath(), values));
102+
}
103+
104+
private void defineYoyagerYaml(GeneratedDomainYamlFiles files) throws Exception {
105+
files.defineYoyagerYaml(
106+
new ParsedVoyagerOperatorYaml(domainFiles.getVoyagerOperatorYamlPath(), values),
107+
new ParsedVoyagerOperatorSecurityYaml(domainFiles.getVoyagerOperatorSecurityYamlPath()),
108+
new ParsedVoyagerIngressYaml(domainFiles.getVoyagerIngressYamlPath(), values));
109+
}
22110
}
23111
}

0 commit comments

Comments
 (0)