Skip to content

Commit 2725e98

Browse files
committed
Refactor to isolate script generation
1 parent 0f39e38 commit 2725e98

File tree

38 files changed

+1001
-835
lines changed

38 files changed

+1001
-835
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,17 @@
1-
// Copyright 2018, Oracle Corporation and/or its affiliates. All rights reserved.
2-
// Licensed under the Universal Permissive License v 1.0 as shown at
3-
// http://oss.oracle.com/licenses/upl.
4-
51
package oracle.kubernetes.operator.create;
62

7-
import static oracle.kubernetes.operator.utils.KubernetesArtifactUtils.*;
8-
9-
import io.kubernetes.client.models.ExtensionsV1beta1Deployment;
10-
import io.kubernetes.client.models.V1Container;
11-
import io.kubernetes.client.models.V1Service;
12-
import oracle.kubernetes.operator.utils.CreateOperatorInputs;
3+
import oracle.kubernetes.operator.utils.ScriptedOperatorYamlFactory;
134
import org.junit.BeforeClass;
145

156
/**
167
* Tests that the artifacts in the yaml files that create-weblogic-operator.sh creates are correct
178
* when the remote debugging port is enabled and all other optional features are disabled.
189
*/
1910
public class CreateOperatorGeneratedFilesDebugEnabledTest
20-
extends CreateOperatorGeneratedFilesBaseTest {
11+
extends CreateOperatorGeneratedFilesDebugEnabledTestBase {
2112

2213
@BeforeClass
2314
public static void setup() throws Exception {
24-
setup(CreateOperatorInputs.newInputs().enableDebugging());
25-
}
26-
27-
@Override
28-
protected String getExpectedExternalWeblogicOperatorCert() {
29-
return ""; // no cert
30-
}
31-
32-
@Override
33-
protected String getExpectedExternalWeblogicOperatorKey() {
34-
return ""; // no key
35-
}
36-
37-
@Override
38-
protected V1Service getExpectedExternalWeblogicOperatorService() {
39-
return getExpectedExternalWeblogicOperatorService(true, false);
40-
}
41-
42-
@Override
43-
public ExtensionsV1beta1Deployment getExpectedWeblogicOperatorDeployment() {
44-
ExtensionsV1beta1Deployment expected = super.getExpectedWeblogicOperatorDeployment();
45-
V1Container operatorContainer =
46-
expected.getSpec().getTemplate().getSpec().getContainers().get(0);
47-
operatorContainer.addEnvItem(
48-
newEnvVar().name("REMOTE_DEBUG_PORT").value(getInputs().getInternalDebugHttpPort()));
49-
return expected;
15+
defineOperatorYamlFactory(new ScriptedOperatorYamlFactory());
5016
}
5117
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
// Copyright 2018, Oracle Corporation and/or its affiliates. All rights reserved.
2+
// Licensed under the Universal Permissive License v 1.0 as shown at
3+
// http://oss.oracle.com/licenses/upl.
4+
5+
package oracle.kubernetes.operator.create;
6+
7+
import static oracle.kubernetes.operator.utils.KubernetesArtifactUtils.newEnvVar;
8+
9+
import io.kubernetes.client.models.ExtensionsV1beta1Deployment;
10+
import io.kubernetes.client.models.V1Container;
11+
import io.kubernetes.client.models.V1Service;
12+
import oracle.kubernetes.operator.utils.OperatorYamlFactory;
13+
14+
public abstract class CreateOperatorGeneratedFilesDebugEnabledTestBase
15+
extends CreateOperatorGeneratedFilesTestBase {
16+
17+
protected static void defineOperatorYamlFactory(OperatorYamlFactory factory) throws Exception {
18+
setup(factory, factory.newOperatorValues().enableDebugging());
19+
}
20+
21+
@Override
22+
protected String getExpectedExternalWeblogicOperatorCert() {
23+
return ""; // no cert
24+
}
25+
26+
@Override
27+
protected String getExpectedExternalWeblogicOperatorKey() {
28+
return ""; // no key
29+
}
30+
31+
@Override
32+
protected V1Service getExpectedExternalWeblogicOperatorService() {
33+
return getExpectedExternalWeblogicOperatorService(true, false);
34+
}
35+
36+
@Override
37+
public ExtensionsV1beta1Deployment getExpectedWeblogicOperatorDeployment() {
38+
ExtensionsV1beta1Deployment expected = super.getExpectedWeblogicOperatorDeployment();
39+
V1Container operatorContainer =
40+
expected.getSpec().getTemplate().getSpec().getContainers().get(0);
41+
operatorContainer.addEnvItem(
42+
newEnvVar().name("REMOTE_DEBUG_PORT").value(getInputs().getInternalDebugHttpPort()));
43+
return expected;
44+
}
45+
}
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,13 @@
1-
// Copyright 2018, Oracle Corporation and/or its affiliates. All rights reserved.
2-
// Licensed under the Universal Permissive License v 1.0 as shown at
3-
// http://oss.oracle.com/licenses/upl.
4-
51
package oracle.kubernetes.operator.create;
62

7-
import io.kubernetes.client.models.V1Service;
8-
import oracle.kubernetes.operator.utils.CreateOperatorInputs;
3+
import oracle.kubernetes.operator.utils.ScriptedOperatorYamlFactory;
94
import org.junit.BeforeClass;
105

11-
/**
12-
* Tests that the artifacts in the yaml files that create-weblogic-operator.sh creates are correct
13-
* when external rest uses custom certs and all other optional features are disabled.
14-
*/
156
public class CreateOperatorGeneratedFilesExtRestCustomTest
16-
extends CreateOperatorGeneratedFilesBaseTest {
7+
extends CreateOperatorGeneratedFilesExtRestCustomTestBase {
178

189
@BeforeClass
1910
public static void setup() throws Exception {
20-
setup(CreateOperatorInputs.newInputs().setupExternalRestCustomCert());
21-
}
22-
23-
@Override
24-
protected String getExpectedExternalWeblogicOperatorCert() {
25-
return getInputs().externalOperatorCustomCertPem();
26-
}
27-
28-
@Override
29-
protected String getExpectedExternalWeblogicOperatorKey() {
30-
return getInputs().externalOperatorCustomKeyPem();
31-
}
32-
33-
@Override
34-
protected V1Service getExpectedExternalWeblogicOperatorService() {
35-
return getExpectedExternalWeblogicOperatorService(false, true);
11+
defineOperatorYamlFactory(new ScriptedOperatorYamlFactory());
3612
}
3713
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
// Copyright 2018, Oracle Corporation and/or its affiliates. All rights reserved.
2+
// Licensed under the Universal Permissive License v 1.0 as shown at
3+
// http://oss.oracle.com/licenses/upl.
4+
5+
package oracle.kubernetes.operator.create;
6+
7+
import io.kubernetes.client.models.V1Service;
8+
import oracle.kubernetes.operator.utils.OperatorYamlFactory;
9+
10+
/**
11+
* Tests that the artifacts in the yaml files that create-weblogic-operator.sh creates are correct
12+
* when external rest uses custom certs and all other optional features are disabled.
13+
*/
14+
public abstract class CreateOperatorGeneratedFilesExtRestCustomTestBase
15+
extends CreateOperatorGeneratedFilesTestBase {
16+
17+
protected static void defineOperatorYamlFactory(OperatorYamlFactory factory) throws Exception {
18+
setup(factory, factory.newOperatorValues().setupExternalRestCustomCert());
19+
}
20+
21+
@Override
22+
protected String getExpectedExternalWeblogicOperatorCert() {
23+
return getInputs().externalOperatorCustomCertPem();
24+
}
25+
26+
@Override
27+
protected String getExpectedExternalWeblogicOperatorKey() {
28+
return getInputs().externalOperatorCustomKeyPem();
29+
}
30+
31+
@Override
32+
protected V1Service getExpectedExternalWeblogicOperatorService() {
33+
return getExpectedExternalWeblogicOperatorService(false, true);
34+
}
35+
}
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,12 @@
1-
// Copyright 2018, Oracle Corporation and/or its affiliates. All rights reserved.
2-
// Licensed under the Universal Permissive License v 1.0 as shown at
3-
// http://oss.oracle.com/licenses/upl.
4-
51
package oracle.kubernetes.operator.create;
62

7-
import io.kubernetes.client.models.V1Service;
8-
import oracle.kubernetes.operator.utils.CreateOperatorInputs;
3+
import oracle.kubernetes.operator.utils.ScriptedOperatorYamlFactory;
94
import org.junit.BeforeClass;
105

11-
/**
12-
* Tests that the artifacts in the yaml files that create-weblogic-operator.sh creates are correct
13-
* when all optional features are disabled: external rest disabled remote debug port disabled elk
14-
* disabled no image pull secret
15-
*/
166
public class CreateOperatorGeneratedFilesOptionalFeaturesDisabledTest
17-
extends CreateOperatorGeneratedFilesBaseTest {
18-
7+
extends CreateOperatorGeneratedFilesOptionalFeaturesDisabledTestBase {
198
@BeforeClass
209
public static void setup() throws Exception {
21-
setup(CreateOperatorInputs.newInputs());
22-
}
23-
24-
@Override
25-
protected String getExpectedExternalWeblogicOperatorCert() {
26-
return ""; // no cert
27-
}
28-
29-
@Override
30-
protected String getExpectedExternalWeblogicOperatorKey() {
31-
return ""; // no key
32-
}
33-
34-
@Override
35-
protected V1Service getExpectedExternalWeblogicOperatorService() {
36-
return getExpectedExternalWeblogicOperatorService(false, false);
10+
defineOperatorYamlFactory(new ScriptedOperatorYamlFactory());
3711
}
3812
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Copyright 2018, Oracle Corporation and/or its affiliates. All rights reserved.
2+
// Licensed under the Universal Permissive License v 1.0 as shown at
3+
// http://oss.oracle.com/licenses/upl.
4+
5+
package oracle.kubernetes.operator.create;
6+
7+
import io.kubernetes.client.models.V1Service;
8+
import oracle.kubernetes.operator.utils.OperatorYamlFactory;
9+
10+
/**
11+
* Tests that the artifacts in the yaml files that create-weblogic-operator.sh creates are correct
12+
* when all optional features are disabled: external rest disabled remote debug port disabled elk
13+
* disabled no image pull secret
14+
*/
15+
public abstract class CreateOperatorGeneratedFilesOptionalFeaturesDisabledTestBase
16+
extends CreateOperatorGeneratedFilesTestBase {
17+
18+
protected static void defineOperatorYamlFactory(OperatorYamlFactory factory) throws Exception {
19+
setup(factory, factory.newOperatorValues());
20+
}
21+
22+
@Override
23+
protected String getExpectedExternalWeblogicOperatorCert() {
24+
return ""; // no cert
25+
}
26+
27+
@Override
28+
protected String getExpectedExternalWeblogicOperatorKey() {
29+
return ""; // no key
30+
}
31+
32+
@Override
33+
protected V1Service getExpectedExternalWeblogicOperatorService() {
34+
return getExpectedExternalWeblogicOperatorService(false, false);
35+
}
36+
}
Original file line numberDiff line numberDiff line change
@@ -1,79 +1,12 @@
1-
// Copyright 2018, Oracle Corporation and/or its affiliates. All rights reserved.
2-
// Licensed under the Universal Permissive License v 1.0 as shown at
3-
// http://oss.oracle.com/licenses/upl.
4-
51
package oracle.kubernetes.operator.create;
62

7-
import static oracle.kubernetes.operator.utils.KubernetesArtifactUtils.*;
8-
9-
import io.kubernetes.client.models.ExtensionsV1beta1Deployment;
10-
import io.kubernetes.client.models.V1Container;
11-
import io.kubernetes.client.models.V1Service;
12-
import oracle.kubernetes.operator.utils.CreateOperatorInputs;
3+
import oracle.kubernetes.operator.utils.ScriptedOperatorYamlFactory;
134
import org.junit.BeforeClass;
145

15-
/**
16-
* Tests that the artifacts in the yaml files that create-weblogic-operator.sh creates are correct
17-
* when all optional features are enabled: external rest self signed cert remote debug port enabled
18-
* elk enabled haveimage pull secret
19-
*/
206
public class CreateOperatorGeneratedFilesOptionalFeaturesEnabledTest
21-
extends CreateOperatorGeneratedFilesBaseTest {
22-
7+
extends CreateOperatorGeneratedFilesOptionalFeaturesEnabledTestBase {
238
@BeforeClass
249
public static void setup() throws Exception {
25-
setup(
26-
CreateOperatorInputs.newInputs()
27-
.setupExternalRestSelfSignedCert()
28-
.enableDebugging()
29-
.elkIntegrationEnabled("true")
30-
.weblogicOperatorImagePullSecretName("test-operator-image-pull-secret-name"));
31-
}
32-
33-
@Override
34-
protected String getExpectedExternalWeblogicOperatorCert() {
35-
return getInputs().externalOperatorSelfSignedCertPem();
36-
}
37-
38-
@Override
39-
protected String getExpectedExternalWeblogicOperatorKey() {
40-
return getInputs().externalOperatorSelfSignedKeyPem();
41-
}
42-
43-
@Override
44-
protected V1Service getExpectedExternalWeblogicOperatorService() {
45-
return getExpectedExternalWeblogicOperatorService(true, true);
46-
}
47-
48-
@Override
49-
public ExtensionsV1beta1Deployment getExpectedWeblogicOperatorDeployment() {
50-
ExtensionsV1beta1Deployment expected = super.getExpectedWeblogicOperatorDeployment();
51-
V1Container operatorContainer =
52-
expected.getSpec().getTemplate().getSpec().getContainers().get(0);
53-
operatorContainer
54-
.addVolumeMountsItem(newVolumeMount().name("log-dir").mountPath("/logs").readOnly(false))
55-
.addEnvItem(
56-
newEnvVar().name("REMOTE_DEBUG_PORT").value(getInputs().getInternalDebugHttpPort()));
57-
expected
58-
.getSpec()
59-
.getTemplate()
60-
.getSpec()
61-
.addContainersItem(
62-
newContainer()
63-
.name("logstash")
64-
.image("logstash:5")
65-
.addArgsItem("-f")
66-
.addArgsItem("/logs/logstash.conf")
67-
.addEnvItem(
68-
newEnvVar()
69-
.name("ELASTICSEARCH_HOST")
70-
.value("elasticsearch.default.svc.cluster.local"))
71-
.addEnvItem(newEnvVar().name("ELASTICSEARCH_PORT").value("9200"))
72-
.addVolumeMountsItem(newVolumeMount().name("log-dir").mountPath("/logs")))
73-
.addVolumesItem(
74-
newVolume().name("log-dir").emptyDir(newEmptyDirVolumeSource().medium("Memory")))
75-
.addImagePullSecretsItem(
76-
newLocalObjectReference().name(getInputs().getWeblogicOperatorImagePullSecretName()));
77-
return expected;
10+
defineOperatorYamlFactory(new ScriptedOperatorYamlFactory());
7811
}
7912
}

0 commit comments

Comments
 (0)