Skip to content

Commit

Permalink
Read annotation value from all superclasses to set resoruce manager c…
Browse files Browse the repository at this point in the history
…leaner (#50)

Signed-off-by: David Kornel <[email protected]>
  • Loading branch information
kornys authored May 6, 2024
1 parent 7146063 commit 5ecfe2f
Showing 1 changed file with 13 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,25 @@
import org.junit.jupiter.api.extension.AfterEachCallback;
import org.junit.jupiter.api.extension.ExtensionContext;

import java.util.Optional;

import static org.junit.platform.commons.support.AnnotationSupport.findAnnotation;

/**
* Enables cleaner extension based on cleanResources value
*/
public class ResourceManagerCleanerExtension implements AfterAllCallback, AfterEachCallback {

/**
* Enables ResourceManagerCleanerExtension for afterAll callback
* Enables ResourceManagerCleanerExtension for after All callback
* @param extensionContext context
*/
@Override
public void afterAll(ExtensionContext extensionContext) {
Class<?> testClass = extensionContext.getRequiredTestClass();
ResourceManager annotation = testClass.getAnnotation(ResourceManager.class);
if (annotation != null && annotation.cleanResources()) {
Optional<ResourceManager> annotation =
findAnnotation(extensionContext.getRequiredTestClass(), ResourceManager.class);

if (annotation.isPresent() && annotation.get().cleanResources()) {
KubeResourceManager.setTestContext(extensionContext);
KubeResourceManager.getInstance().deleteResources();
}
Expand All @@ -35,9 +40,10 @@ public void afterAll(ExtensionContext extensionContext) {
*/
@Override
public void afterEach(ExtensionContext extensionContext) {
Class<?> testClass = extensionContext.getRequiredTestClass();
ResourceManager annotation = testClass.getAnnotation(ResourceManager.class);
if (annotation != null && annotation.cleanResources()) {
Optional<ResourceManager> annotation =
findAnnotation(extensionContext.getRequiredTestClass(), ResourceManager.class);

if (annotation.isPresent() && annotation.get().cleanResources()) {
KubeResourceManager.setTestContext(extensionContext);
KubeResourceManager.getInstance().deleteResources();
}
Expand Down

0 comments on commit 5ecfe2f

Please sign in to comment.