Skip to content

refactor: static usage of junit extension #2879

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,14 @@ public class LocallyRunOperatorExtension extends AbstractOperatorExtension {
private static final boolean deleteCRDs =
Boolean.parseBoolean(System.getProperty("testsuite.deleteCRDs", "true"));

private final Operator operator;
private Operator operator;
private final List<ReconcilerSpec> reconcilers;
private final List<PortForwardSpec> portForwards;
private final List<LocalPortForward> localPortForwards;
private final List<Class<? extends CustomResource>> additionalCustomResourceDefinitions;
private final Map<Reconciler, RegisteredController> registeredControllers;
private final Map<String, String> crdMappings;
private final Consumer<ConfigurationServiceOverrider> configurationServiceOverrider;

private LocallyRunOperatorExtension(
List<ReconcilerSpec> reconcilers,
Expand Down Expand Up @@ -82,12 +83,13 @@ private LocallyRunOperatorExtension(
this.portForwards = portForwards;
this.localPortForwards = new ArrayList<>(portForwards.size());
this.additionalCustomResourceDefinitions = additionalCustomResourceDefinitions;
configurationServiceOverrider =
this.configurationServiceOverrider =
configurationServiceOverrider != null
? configurationServiceOverrider.andThen(
overrider -> overrider.withKubernetesClient(kubernetesClient))
: overrider -> overrider.withKubernetesClient(kubernetesClient);
this.operator = new Operator(configurationServiceOverrider);
overrider ->
overrider.withKubernetesClient(kubernetesClient).withCloseClientOnStop(false))
: (o -> o.withKubernetesClient(kubernetesClient).withCloseClientOnStop(false));

this.registeredControllers = new HashMap<>();
crdMappings = getAdditionalCRDsFromFiles(additionalCrds, getKubernetesClient());
}
Expand Down Expand Up @@ -261,6 +263,7 @@ protected void before(ExtensionContext context) {

additionalCustomResourceDefinitions.forEach(this::applyCrd);
for (var ref : reconcilers) {
this.operator = new Operator(configurationServiceOverrider);
final var config = operator.getConfigurationService().getConfigurationFor(ref.reconciler);
final var oconfig = override(config);

Expand Down Expand Up @@ -314,8 +317,6 @@ protected void after(ExtensionContext context) {
iterator.remove();
}

kubernetesClient.close();

try {
this.operator.stop();
} catch (Exception e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public class CRDMappingInTestExtensionIT {
private final KubernetesClient client = new KubernetesClientBuilder().build();

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder()
.withReconciler(new TestReconciler())
.withAdditionalCRD("src/test/resources/crd/test.crd", "src/test/crd/test.crd")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class ConcurrencyIT {
private static final Logger log = LoggerFactory.getLogger(ConcurrencyIT.class);

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder().withReconciler(new TestReconciler(true)).build();

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class BuiltInResourceCleanerIT {
private static final Logger log = LoggerFactory.getLogger(BuiltInResourceCleanerIT.class);

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder()
.withReconciler(new BuiltInResourceCleanerReconciler())
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class ChangeNamespaceIT {
public static final String ADDITIONAL_TEST_NAMESPACE = "additional-test-namespace";

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder()
.withReconciler(new ChangeNamespaceTestReconciler())
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class CleanerForReconcilerIT {
public static final String TEST_RESOURCE_NAME = "cleaner-for-reconciler-test1";

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder()
.withReconciler(new CleanerForReconcilerTestReconciler())
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class CleanupConflictIT {
public static final String TEST_RESOURCE_NAME = "test1";

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder().withReconciler(new CleanupConflictReconciler()).build();

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class ClusterScopedResourceIT {
public static final String UPDATED_DATA = "updatedData";

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder()
.withReconciler(new ClusterScopedCustomResourceReconciler())
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class ConcurrentFinalizerRemovalIT {
public static final String TEST_RESOURCE_NAME = "test";

@RegisterExtension
LocallyRunOperatorExtension extension =
static LocallyRunOperatorExtension extension =
LocallyRunOperatorExtension.builder()
// should work without a retry, thus not retry the whole reconciliation but to retry
// finalizer removal only.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
class CreateUpdateInformerEventSourceEventFilterIT {

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder()
.withReconciler(new CreateUpdateEventFilterTestReconciler())
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
class PreviousAnnotationDisabledIT {

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder()
.withReconciler(new CreateUpdateEventFilterTestReconciler())
.withConfigurationService(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
class KubernetesResourceStatusUpdateIT {

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder().withReconciler(new DeploymentReconciler()).build();

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class DynamicGenericEventSourceRegistrationIT {
public static final String TEST_RESOURCE_NAME = "test1";

@RegisterExtension
LocallyRunOperatorExtension extension =
static LocallyRunOperatorExtension extension =
LocallyRunOperatorExtension.builder()
.withReconciler(DynamicGenericEventSourceRegistrationReconciler.class)
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
class ErrorStatusHandlerIT {

public static final int MAX_RETRY_ATTEMPTS = 3;
ErrorStatusHandlerTestReconciler reconciler = new ErrorStatusHandlerTestReconciler();
static ErrorStatusHandlerTestReconciler reconciler = new ErrorStatusHandlerTestReconciler();

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder()
.withReconciler(
reconciler, new GenericRetry().setMaxAttempts(MAX_RETRY_ATTEMPTS).withLinearRetry())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
class EventSourceIT {

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder()
.withReconciler(EventSourceTestCustomReconciler.class)
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class FilterIT {
public static final int POLL_DELAY = 150;

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder().withReconciler(FilterTestReconciler.class).build();

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ public class GenericKubernetesResourceHandlingIT
extends GenericKubernetesDependentTestBase<GenericKubernetesResourceHandlingCustomResource> {

@RegisterExtension
LocallyRunOperatorExtension extension =
static LocallyRunOperatorExtension extension =
LocallyRunOperatorExtension.builder()
.withReconciler(new GenericKubernetesResourceHandlingReconciler())
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public class GracefulStopIT {
public static final String TEST_1 = "test1";

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder()
.withConfigurationService(
o ->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class InformerEventSourceIT {
public static final String UPDATE_STATUS_MESSAGE = "Updated Status";

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder()
.withReconciler(new InformerEventSourceTestCustomReconciler())
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class InformerRemoteClusterIT {
static KubernetesClient kubernetesClient;

@RegisterExtension
LocallyRunOperatorExtension extension =
static LocallyRunOperatorExtension extension =
LocallyRunOperatorExtension.builder()
.withReconciler(new InformerRemoteClusterReconciler(kubernetesClient))
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
class LabelSelectorIT {

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder()
.withReconciler(new LabelSelectorTestReconciler())
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public class LeaderElectionChangeNamespaceIT {
public static final String LEASE_NAME = "nschangelease";

@RegisterExtension
LocallyRunOperatorExtension extension =
static LocallyRunOperatorExtension extension =
LocallyRunOperatorExtension.builder()
.withConfigurationService(
o -> o.withLeaderElectionConfiguration(new LeaderElectionConfiguration(LEASE_NAME)))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ public class ManualObservedGenerationIT {
public static final String RESOURCE_NAME = "test1";

@RegisterExtension
LocallyRunOperatorExtension extension =
static LocallyRunOperatorExtension extension =
LocallyRunOperatorExtension.builder()
.withReconciler(new ManualObservedGenerationReconciler())
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
class MaxIntervalIT {

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder().withReconciler(new MaxIntervalTestReconciler()).build();

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
class MaxIntervalAfterRetryIT {

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder()
.withReconciler(new MaxIntervalAfterRetryTestReconciler())
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public class MultipleReconcilerSameTypeIT {
public static final String TEST_RESOURCE_2 = "test2";

@RegisterExtension
LocallyRunOperatorExtension extension =
static LocallyRunOperatorExtension extension =
LocallyRunOperatorExtension.builder()
.withReconciler(MultipleReconcilerSameTypeReconciler1.class)
.withReconciler(MultipleReconcilerSameTypeReconciler2.class)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class MultipleSecondaryEventSourceIT {
public static final String TEST_RESOURCE_NAME = "testresource";

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder()
.withReconciler(MultipleSecondaryEventSourceReconciler.class)
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,11 @@ class MultiVersionCRDIT {
public static final String CR_V1_NAME = "crv1";
public static final String CR_V2_NAME = "crv2";

private static final TestInformerStoppedHandler informerStoppedHandler =
new TestInformerStoppedHandler();

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder()
.withReconciler(MultiVersionCRDTestReconciler1.class)
.withReconciler(MultiVersionCRDTestReconciler2.class)
Expand Down Expand Up @@ -127,9 +130,6 @@ private String acceptOnlyIfUnsetOrEqualToAlreadySet(String existing, String newV
}
}

private static final TestInformerStoppedHandler informerStoppedHandler =
new TestInformerStoppedHandler();

@Test
void multipleCRDVersions() {
informerStoppedHandler.reset();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public class NextReconciliationImminentIT {
public static final String TEST_RESOURCE_NAME = "test1";

@RegisterExtension
LocallyRunOperatorExtension extension =
static LocallyRunOperatorExtension extension =
LocallyRunOperatorExtension.builder()
.withReconciler(new NextReconciliationImminentReconciler())
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

class PatchResourceAndStatusNoSSAIT {
@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder()
.withConfigurationService(o -> o.withUseSSAToPatchPrimaryResource(false))
.withReconciler(PatchResourceAndStatusNoSSAReconciler.class)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class PerResourcePollingEventSourceIT {
public static final String NAME_2 = "name2";

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder()
.withReconciler(new PerResourcePollingEventSourceTestReconciler())
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public class PrimaryIndexerIT {
public static final String RESOURCE_NAME1 = "test1";
public static final String RESOURCE_NAME2 = "test2";

@RegisterExtension LocallyRunOperatorExtension operator = buildOperator();
@RegisterExtension LocallyRunOperatorExtension extension = buildOperator();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this one not static?


protected LocallyRunOperatorExtension buildOperator() {
return LocallyRunOperatorExtension.builder()
Expand All @@ -28,9 +28,9 @@ protected LocallyRunOperatorExtension buildOperator() {

@Test
void changesToSecondaryResourcesCorrectlyTriggerReconciler() {
var reconciler = (AbstractPrimaryIndexerTestReconciler) operator.getFirstReconciler();
operator.create(createTestResource(RESOURCE_NAME1));
operator.create(createTestResource(RESOURCE_NAME2));
var reconciler = (AbstractPrimaryIndexerTestReconciler) extension.getFirstReconciler();
extension.create(createTestResource(RESOURCE_NAME1));
extension.create(createTestResource(RESOURCE_NAME2));

await()
.pollDelay(Duration.ofMillis(500))
Expand All @@ -40,7 +40,7 @@ void changesToSecondaryResourcesCorrectlyTriggerReconciler() {
assertThat(reconciler.getNumberOfExecutions().get(RESOURCE_NAME2).get()).isEqualTo(1);
});

operator.create(configMap());
extension.create(configMap());

await()
.pollDelay(Duration.ofMillis(500))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class PrimaryToSecondaryIT {
public static final int MIN_DELAY = 150;

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder()
.withAdditionalCustomResourceDefinition(Cluster.class)
.withReconciler(new JobReconciler())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
class PrimaryToSecondaryMissingIT {

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder()
.withAdditionalCustomResourceDefinition(Cluster.class)
.withReconciler(new JobReconciler(false))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class RateLimitIT {
private static final Logger log = LoggerFactory.getLogger(RateLimitIT.class);

@RegisterExtension
LocallyRunOperatorExtension operator =
static LocallyRunOperatorExtension operator =
LocallyRunOperatorExtension.builder().withReconciler(new RateLimitReconciler()).build();

@Test
Expand Down
Loading
Loading