Skip to content

Commit da476f9

Browse files
author
Soroosh Sarabadani
committed
Design complex test fixtures
1 parent cfbbac3 commit da476f9

6 files changed

+75
-23
lines changed
Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,14 @@
11
package io;
22

33
import io.fabric8.kubernetes.client.CustomResource;
4-
import io.fabric8.kubernetes.client.CustomResourceDoneable;
5-
import io.javaoperatorsdk.operator.api.Context;
6-
import io.javaoperatorsdk.operator.api.Controller;
74
import io.javaoperatorsdk.operator.api.ResourceController;
8-
import io.javaoperatorsdk.operator.api.UpdateControl;
9-
import io.fabric8.kubernetes.api.model.Secret;
10-
import io.fabric8.kubernetes.api.model.SecretBuilder;
11-
import io.fabric8.kubernetes.client.KubernetesClient;
12-
import org.apache.commons.lang3.RandomStringUtils;
13-
import org.slf4j.Logger;
14-
import org.slf4j.LoggerFactory;
15-
16-
175
import java.io.Serializable;
186

19-
import static java.lang.String.format;
207

8+
public abstract class AbstractController<T extends CustomResource> implements Serializable,
9+
ResourceController<T> {
2110

22-
public abstract class AbstractController implements Serializable, ResourceController<AbstractController.MyCustomResource> {
23-
public static class MyCustomResource extends CustomResource {
11+
public static class MyCustomResource extends CustomResource {
2412

25-
}
13+
}
2614
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package io;
2+
3+
import io.fabric8.kubernetes.client.CustomResource;
4+
import io.javaoperatorsdk.operator.api.ResourceController;
5+
import java.io.Serializable;
6+
7+
8+
public interface AdditionalControllerInterface<R, T extends CustomResource> extends
9+
Serializable,
10+
ResourceController<T> {
11+
}

operator-framework/src/test/resources/ControllerImplementedIntermediateAbstractClass.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,17 @@
1616
import static java.lang.String.format;
1717

1818
@Controller(crdName = "test.crd")
19-
public class ControllerImplementedIntermediateAbstractClass extends AbstractController implements Serializable {
19+
public class ControllerImplementedIntermediateAbstractClass extends
20+
AbstractController<AbstractController.MyCustomResource> implements Serializable {
2021

21-
public UpdateControl<AbstractController.MyCustomResource> createOrUpdateResource(AbstractController.MyCustomResource customResource, Context<AbstractController.MyCustomResource> context) {
22-
return UpdateControl.updateCustomResource(null);
23-
}
22+
public UpdateControl<AbstractController.MyCustomResource> createOrUpdateResource(
23+
AbstractController.MyCustomResource customResource,
24+
Context<AbstractController.MyCustomResource> context) {
25+
return UpdateControl.updateCustomResource(null);
26+
}
2427

25-
public DeleteControl deleteResource(AbstractController.MyCustomResource customResource, Context<AbstractController.MyCustomResource> context) {
26-
return DeleteControl.DEFAULT_DELETE;
27-
}
28+
public DeleteControl deleteResource(AbstractController.MyCustomResource customResource,
29+
Context<AbstractController.MyCustomResource> context) {
30+
return DeleteControl.DEFAULT_DELETE;
31+
}
2832
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package io;
2+
3+
import io.fabric8.kubernetes.client.CustomResource;
4+
import java.io.Serializable;
5+
6+
7+
public abstract class MultilevelAbstractController<R, T extends CustomResource> implements
8+
Serializable,
9+
AdditionalControllerInterface<R, T> {
10+
11+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package io;
2+
3+
import io.fabric8.kubernetes.client.CustomResource;
4+
import io.javaoperatorsdk.operator.api.Context;
5+
import io.javaoperatorsdk.operator.api.Controller;
6+
import io.javaoperatorsdk.operator.api.DeleteControl;
7+
import io.javaoperatorsdk.operator.api.UpdateControl;
8+
9+
@Controller(crdName = "test.crd")
10+
public class MultilevelController extends
11+
MultilevelAbstractController<String, MultilevelController.MyCustomResource> {
12+
13+
public static class MyCustomResource extends CustomResource {
14+
15+
}
16+
17+
public UpdateControl<MultilevelController.MyCustomResource> createOrUpdateResource(
18+
MultilevelController.MyCustomResource customResource,
19+
Context<MultilevelController.MyCustomResource> context) {
20+
return UpdateControl.updateCustomResource(null);
21+
}
22+
23+
public DeleteControl deleteResource(MultilevelController.MyCustomResource customResource,
24+
Context<MultilevelController.MyCustomResource> context) {
25+
return DeleteControl.DEFAULT_DELETE;
26+
}
27+
28+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package io;
2+
3+
import io.fabric8.kubernetes.api.builder.Function;
4+
import io.fabric8.kubernetes.client.CustomResourceDoneable;
5+
6+
public class MyCustomResourceDoneable extends CustomResourceDoneable<MultilevelController.MyCustomResource> {
7+
public MyCustomResourceDoneable(MultilevelController.MyCustomResource resource, Function function) {
8+
super(resource, function);
9+
}
10+
}

0 commit comments

Comments
 (0)