You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ya...@apache.org on 2025/12/11 16:10:07 UTC
(airavata) 17/19: fix DI issues, update test cases
This is an automated email from the ASF dual-hosted git repository.
yasith pushed a commit to branch service-layer-improvements
in repository https://gitbox.apache.org/repos/asf/airavata.git
commit 9549fe89d4af37602cbc4da5db1f42da20fc147d
Author: yasithdev <ya...@icloud.com>
AuthorDate: Wed Dec 10 16:30:22 2025 -0600
fix DI issues, update test cases
---
.../airavata/config/AiravataServerProperties.java | 9 ----
.../helix/core/participant/HelixParticipant.java | 54 ++++++++++++++++++----
.../helix/impl/participant/GlobalParticipant.java | 26 +++++++++--
.../helix/impl/workflow/PreWorkflowManager.java | 2 +
.../airavata/messaging/core/MessagingFactory.java | 5 ++
.../orchestrator/impl/SimpleOrchestratorImpl.java | 2 +
.../apache/airavata/profile/utils/JPAUtils.java | 3 ++
.../apache/airavata/service/AiravataService.java | 6 ++-
.../airavata/service/CredentialStoreService.java | 1 +
.../airavata/service/OrchestratorService.java | 4 ++
.../apache/airavata/sharing/utils/JPAUtils.java | 3 ++
.../repositories/WorkspaceRepositoryTest.java | 38 ++++++++++++++-
.../ApplicationDeploymentRepositoryTest.java | 42 ++++++++++++++++-
.../ApplicationInterfaceRepositoryTest.java | 42 ++++++++++++++++-
.../appcatalog/ComputeResourceRepositoryTest.java | 44 +++++++++++++++++-
.../appcatalog/GatewayGroupsRepositoryTest.java | 42 ++++++++++++++++-
.../appcatalog/GatewayProfileRepositoryTest.java | 42 ++++++++++++++++-
.../GroupResourceProfileRepositoryTest.java | 45 ++++++++++++++++--
.../JobSubmissionInterfaceRepositoryTest.java | 40 +++++++++++++++-
.../appcatalog/StorageResourceRepositoryTest.java | 44 +++++++++++++++++-
.../UserResourceProfileRepositoryTest.java | 44 +++++++++++++++++-
.../expcatalog/ExperimentErrorRepositoryTest.java | 40 +++++++++++++++-
.../expcatalog/ExperimentInputRepositoryTest.java | 42 ++++++++++++++++-
.../expcatalog/ExperimentOutputRepositoryTest.java | 42 ++++++++++++++++-
.../expcatalog/ExperimentRepositoryTest.java | 2 +
.../expcatalog/ExperimentStatusRepositoryTest.java | 40 +++++++++++++++-
.../ExperimentSummaryRepositoryTest.java | 42 ++++++++++++++++-
.../expcatalog/GatewayRepositoryTest.java | 2 +
.../repositories/expcatalog/JobRepositoryTest.java | 2 +
.../expcatalog/JobStatusRepositoryTest.java | 2 +
.../expcatalog/NotificationRepositoryTest.java | 40 +++++++++++++++-
.../expcatalog/ProcessErrorRepositoryTest.java | 42 ++++++++++++++++-
.../expcatalog/ProcessInputRepositoryTest.java | 42 ++++++++++++++++-
.../expcatalog/ProcessOutputRepositoryTest.java | 42 ++++++++++++++++-
.../expcatalog/ProcessRepositoryTest.java | 2 +
.../expcatalog/ProcessStatusRepositoryTest.java | 2 +
.../expcatalog/ProjectRepositoryTest.java | 9 +++-
.../expcatalog/QueueStatusRepositoryTest.java | 2 +
.../expcatalog/TaskErrorRepositoryTest.java | 42 ++++++++++++++++-
.../expcatalog/TaskRepositoryTest.java | 2 +
.../expcatalog/TaskStatusRepositoryTest.java | 2 +
.../expcatalog/UserRepositoryTest.java | 2 +
.../replicacatalog/DataProductRepositoryTest.java | 42 ++++++++++++++++-
.../DataReplicaLocationRepositoryTest.java | 42 ++++++++++++++++-
.../workflowcatalog/WorkflowRepositoryTest.java | 40 +++++++++++++++-
45 files changed, 1040 insertions(+), 65 deletions(-)
diff --git a/airavata-api/src/main/java/org/apache/airavata/config/AiravataServerProperties.java b/airavata-api/src/main/java/org/apache/airavata/config/AiravataServerProperties.java
index 94bcc3cc10..bbf28f14fb 100644
--- a/airavata-api/src/main/java/org/apache/airavata/config/AiravataServerProperties.java
+++ b/airavata-api/src/main/java/org/apache/airavata/config/AiravataServerProperties.java
@@ -39,12 +39,9 @@ public class AiravataServerProperties {
public AiravataServerProperties() {
// No-arg constructor required for @ConfigurationProperties
- logger.info("[BEAN-INIT] AiravataServerProperties constructor called");
}
public void setEnvironment(Environment environment) {
- logger.info("[BEAN-INIT] setEnvironment() called on AiravataServerProperties - environment is {}",
- environment != null ? "SET" : "NULL");
this.environment = environment;
}
@@ -53,8 +50,6 @@ public class AiravataServerProperties {
@PostConstruct
public void bindProperties() {
- logger.info("[BEAN-INIT] bindProperties() called on AiravataServerProperties - environment is {}",
- environment != null ? "SET" : "NULL");
logger.info("Binding properties to AiravataServerProperties");
// Manually bind database properties from environment
@@ -148,10 +143,6 @@ public class AiravataServerProperties {
}
private String getProperty(String key, String defaultValue) {
- if (environment == null) {
- logger.warn("[BEAN-INIT] Environment is null when calling getProperty({}), returning default", key);
- return defaultValue;
- }
String value = environment.getProperty(key);
return value != null ? value : defaultValue;
}
diff --git a/airavata-api/src/main/java/org/apache/airavata/helix/core/participant/HelixParticipant.java b/airavata-api/src/main/java/org/apache/airavata/helix/core/participant/HelixParticipant.java
index e8fbf79b51..a202ae00a1 100644
--- a/airavata-api/src/main/java/org/apache/airavata/helix/core/participant/HelixParticipant.java
+++ b/airavata-api/src/main/java/org/apache/airavata/helix/core/participant/HelixParticipant.java
@@ -67,17 +67,29 @@ public class HelixParticipant<T extends AbstractTask> implements Runnable {
logger.info("Initializing Participant Node");
this.properties = properties;
- this.zkAddress = properties.zookeeper.serverConnection;
- this.clusterName = properties.helix.clusterName;
- this.participantName = getParticipantName();
-
this.taskTypeName = taskTypeName;
- this.taskClasses = taskClasses;
+ this.taskClasses = taskClasses; // Can be null for deferred initialization
+
+ // Property-dependent initialization moved to initialize() method
+ // This allows subclasses to set taskClasses before initializing properties
+ }
- logger.info("Zookeeper connection URL " + zkAddress);
- logger.info("Cluster name " + clusterName);
- logger.info("Participant name " + participantName);
- logger.info("Task type " + taskTypeName);
+ /**
+ * Initialize property-dependent fields. This method should be called after
+ * taskClasses are set (if deferred initialization is used).
+ * Can be called from @PostConstruct in subclasses.
+ */
+ protected void initialize() {
+ if (properties != null) {
+ this.zkAddress = properties.zookeeper.serverConnection;
+ this.clusterName = properties.helix.clusterName;
+ this.participantName = getParticipantName();
+
+ logger.info("Zookeeper connection URL " + zkAddress);
+ logger.info("Cluster name " + clusterName);
+ logger.info("Participant name " + participantName);
+ logger.info("Task type " + taskTypeName);
+ }
if (taskClasses != null) {
for (Class<? extends T> taskClass : taskClasses) {
@@ -86,6 +98,26 @@ public class HelixParticipant<T extends AbstractTask> implements Runnable {
}
}
+ /**
+ * Set task classes after construction. Used for deferred initialization.
+ *
+ * @param taskClasses the task classes to set
+ * @throws IllegalStateException if task classes are already set and not empty
+ */
+ public void setTaskClasses(List<Class<? extends T>> taskClasses) {
+ if (this.taskClasses != null && !this.taskClasses.isEmpty()) {
+ throw new IllegalStateException("Task classes already set");
+ }
+ this.taskClasses = taskClasses;
+
+ // Log task classes if they were set
+ if (taskClasses != null && !taskClasses.isEmpty()) {
+ for (Class<? extends T> taskClass : taskClasses) {
+ logger.info("Task classes include: " + taskClass.getCanonicalName());
+ }
+ }
+ }
+
public HelixParticipant(Class<T> taskClass, String taskTypeName, AiravataServerProperties properties) {
this(taskClass != null ? Collections.singletonList(taskClass) : null, taskTypeName, properties);
}
@@ -110,6 +142,10 @@ public class HelixParticipant<T extends AbstractTask> implements Runnable {
@SuppressWarnings("WeakerAccess")
public Map<String, TaskFactory> getTaskFactory() {
+ if (taskClasses == null || taskClasses.isEmpty()) {
+ throw new IllegalStateException("Task classes must be set before creating task factory");
+ }
+
Map<String, TaskFactory> taskRegistry = new HashMap<>();
for (Class<? extends T> taskClass : taskClasses) {
diff --git a/airavata-api/src/main/java/org/apache/airavata/helix/impl/participant/GlobalParticipant.java b/airavata-api/src/main/java/org/apache/airavata/helix/impl/participant/GlobalParticipant.java
index 06aeb24cc2..71d9c3d35f 100644
--- a/airavata-api/src/main/java/org/apache/airavata/helix/impl/participant/GlobalParticipant.java
+++ b/airavata-api/src/main/java/org/apache/airavata/helix/impl/participant/GlobalParticipant.java
@@ -21,15 +21,17 @@ package org.apache.airavata.helix.impl.participant;
import java.util.ArrayList;
import java.util.List;
-import org.apache.airavata.common.exception.ApplicationSettingsException;
+import jakarta.annotation.PostConstruct;
import org.apache.airavata.config.AiravataServerProperties;
import org.apache.airavata.helix.core.AbstractTask;
import org.apache.airavata.helix.core.participant.HelixParticipant;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.context.annotation.DependsOn;
import org.springframework.stereotype.Component;
@Component
+@DependsOn("airavataServerProperties")
public class GlobalParticipant extends HelixParticipant<AbstractTask> {
private static final Logger logger = LoggerFactory.getLogger(GlobalParticipant.class);
@@ -58,14 +60,28 @@ public class GlobalParticipant extends HelixParticipant<AbstractTask> {
@SuppressWarnings("WeakerAccess")
public GlobalParticipant(
- List<Class<? extends AbstractTask>> taskClasses, String taskTypeName, AiravataServerProperties properties)
- throws ApplicationSettingsException {
+ List<Class<? extends AbstractTask>> taskClasses, String taskTypeName, AiravataServerProperties properties) {
super(taskClasses, taskTypeName, properties);
+ // Initialize property-dependent fields immediately for programmatic creation
+ initialize();
}
// Constructor for Spring - uses constructor injection for properties
- public GlobalParticipant(AiravataServerProperties properties) throws ApplicationSettingsException {
- super(createTaskClasses(), null, properties);
+ // No checked exceptions - initialization happens in @PostConstruct
+ public GlobalParticipant(AiravataServerProperties properties) {
+ // Pass empty list for taskClasses - will be set in @PostConstruct
+ // Using Collections.emptyList() to avoid ambiguity with Class<T> constructor
+ super(new ArrayList<>(), null, properties);
+ }
+
+ @PostConstruct
+ public void init() {
+ // All initialization logic here - no exceptions in constructor
+ List<Class<? extends AbstractTask>> taskClasses = createTaskClasses();
+ setTaskClasses(taskClasses);
+
+ // Initialize parent's property-dependent fields
+ initialize();
}
private static List<Class<? extends AbstractTask>> createTaskClasses() {
diff --git a/airavata-api/src/main/java/org/apache/airavata/helix/impl/workflow/PreWorkflowManager.java b/airavata-api/src/main/java/org/apache/airavata/helix/impl/workflow/PreWorkflowManager.java
index b9e702af98..3087fd64ee 100644
--- a/airavata-api/src/main/java/org/apache/airavata/helix/impl/workflow/PreWorkflowManager.java
+++ b/airavata-api/src/main/java/org/apache/airavata/helix/impl/workflow/PreWorkflowManager.java
@@ -58,9 +58,11 @@ import org.apache.airavata.registry.api.exception.RegistryServiceException;
import org.apache.airavata.service.RegistryService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.context.annotation.DependsOn;
import org.springframework.stereotype.Component;
@Component
+@DependsOn("messagingFactory")
public class PreWorkflowManager extends WorkflowManager {
private static final Logger logger = LoggerFactory.getLogger(PreWorkflowManager.class);
diff --git a/airavata-api/src/main/java/org/apache/airavata/messaging/core/MessagingFactory.java b/airavata-api/src/main/java/org/apache/airavata/messaging/core/MessagingFactory.java
index 7b5ad14d77..926a595ac9 100644
--- a/airavata-api/src/main/java/org/apache/airavata/messaging/core/MessagingFactory.java
+++ b/airavata-api/src/main/java/org/apache/airavata/messaging/core/MessagingFactory.java
@@ -33,11 +33,14 @@ import org.apache.airavata.model.messaging.event.ProcessIdentifier;
import org.apache.airavata.model.messaging.event.ProcessStatusChangeEvent;
import org.apache.airavata.model.messaging.event.TaskOutputChangeEvent;
import org.apache.airavata.model.messaging.event.TaskStatusChangeEvent;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@Component
public class MessagingFactory {
+ private static final Logger logger = LoggerFactory.getLogger(MessagingFactory.class);
private static MessagingFactory instance;
private final AiravataServerProperties properties;
@@ -48,7 +51,9 @@ public class MessagingFactory {
@jakarta.annotation.PostConstruct
public void init() {
+ logger.info("[BEAN-INIT] MessagingFactory.init() called - setting static instance");
instance = this;
+ logger.info("[BEAN-INIT] MessagingFactory static instance set successfully");
}
public static Subscriber getSubscriber(final MessageHandler messageHandler, List<String> routingKeys, Type type)
diff --git a/airavata-api/src/main/java/org/apache/airavata/orchestrator/impl/SimpleOrchestratorImpl.java b/airavata-api/src/main/java/org/apache/airavata/orchestrator/impl/SimpleOrchestratorImpl.java
index 95c4d249be..ae35f576a2 100644
--- a/airavata-api/src/main/java/org/apache/airavata/orchestrator/impl/SimpleOrchestratorImpl.java
+++ b/airavata-api/src/main/java/org/apache/airavata/orchestrator/impl/SimpleOrchestratorImpl.java
@@ -118,7 +118,9 @@ public class SimpleOrchestratorImpl extends AbstractOrchestrator {
@jakarta.annotation.PostConstruct
public void init() throws OrchestratorException {
+ logger.info("[BEAN-INIT] SimpleOrchestratorImpl.init() called");
initialize(properties);
+ logger.info("[BEAN-INIT] SimpleOrchestratorImpl initialized successfully");
}
public boolean launchProcess(ProcessModel processModel, String tokenId) throws OrchestratorException {
diff --git a/airavata-api/src/main/java/org/apache/airavata/profile/utils/JPAUtils.java b/airavata-api/src/main/java/org/apache/airavata/profile/utils/JPAUtils.java
index b1ea093cff..d629575f51 100644
--- a/airavata-api/src/main/java/org/apache/airavata/profile/utils/JPAUtils.java
+++ b/airavata-api/src/main/java/org/apache/airavata/profile/utils/JPAUtils.java
@@ -40,10 +40,13 @@ public class JPAUtils {
@PostConstruct
public void init() {
+ org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(JPAUtils.class);
+ logger.info("[BEAN-INIT] ProfileService JPAUtils.init() called - setting static instance");
instance = this;
var db = properties.database.profile;
factory = org.apache.airavata.common.utils.JPAUtils.getEntityManagerFactory(
PERSISTENCE_UNIT_NAME, db.driver, db.url, db.user, db.password, db.validationQuery);
+ logger.info("[BEAN-INIT] ProfileService JPAUtils static instance set successfully");
}
public static EntityManager getEntityManager() {
diff --git a/airavata-api/src/main/java/org/apache/airavata/service/AiravataService.java b/airavata-api/src/main/java/org/apache/airavata/service/AiravataService.java
index bde814372c..ff3d8bb3da 100644
--- a/airavata-api/src/main/java/org/apache/airavata/service/AiravataService.java
+++ b/airavata-api/src/main/java/org/apache/airavata/service/AiravataService.java
@@ -228,9 +228,10 @@ public class AiravataService {
@jakarta.annotation.PostConstruct
public void initializePublishers() throws AiravataException {
+ logger.info("[BEAN-INIT] AiravataService.initializePublishers() called");
try {
statusPublisher = MessagingFactory.getPublisher(Type.STATUS);
- logger.info("Initialized StatusPublisher");
+ logger.info("[BEAN-INIT] Initialized StatusPublisher");
} catch (AiravataException e) {
String msg = String.format(
"Error while getting StatusPublisher: %s. Publisher will be unavailable.", e.getMessage());
@@ -240,7 +241,7 @@ public class AiravataService {
try {
experimentPublisher = MessagingFactory.getPublisher(Type.EXPERIMENT_LAUNCH);
- logger.info("Initialized ExperimentPublisher");
+ logger.info("[BEAN-INIT] Initialized ExperimentPublisher");
} catch (AiravataException e) {
String msg = String.format(
"Error while getting ExperimentPublisher: %s. Publisher will be unavailable.", e.getMessage());
@@ -251,6 +252,7 @@ public class AiravataService {
@jakarta.annotation.PostConstruct
public void init() throws AiravataException {
+ logger.info("[BEAN-INIT] AiravataService.init() called");
try {
initSharingRegistry();
} catch (SharingRegistryException | DuplicateEntryException e) {
diff --git a/airavata-api/src/main/java/org/apache/airavata/service/CredentialStoreService.java b/airavata-api/src/main/java/org/apache/airavata/service/CredentialStoreService.java
index 37331405d2..0974cdc5fe 100644
--- a/airavata-api/src/main/java/org/apache/airavata/service/CredentialStoreService.java
+++ b/airavata-api/src/main/java/org/apache/airavata/service/CredentialStoreService.java
@@ -76,6 +76,7 @@ public class CredentialStoreService {
@jakarta.annotation.PostConstruct
public void init() {
+ logger.info("[BEAN-INIT] CredentialStoreService.init() called");
var db = properties.database.vault;
String jdbcUrl = db.url;
if (jdbcUrl == null || jdbcUrl.isEmpty()) {
diff --git a/airavata-api/src/main/java/org/apache/airavata/service/OrchestratorService.java b/airavata-api/src/main/java/org/apache/airavata/service/OrchestratorService.java
index a2bb38a57f..065406815d 100644
--- a/airavata-api/src/main/java/org/apache/airavata/service/OrchestratorService.java
+++ b/airavata-api/src/main/java/org/apache/airavata/service/OrchestratorService.java
@@ -82,9 +82,11 @@ import org.apache.zookeeper.data.Stat;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
+import org.springframework.context.annotation.DependsOn;
import org.springframework.stereotype.Service;
@Service
+@DependsOn("messagingFactory")
public class OrchestratorService {
private static final Logger logger = LoggerFactory.getLogger(OrchestratorService.class);
@@ -113,8 +115,10 @@ public class OrchestratorService {
@PostConstruct
public void postConstruct() {
+ logger.info("[BEAN-INIT] OrchestratorService.postConstruct() called");
try {
initializeInternal();
+ logger.info("[BEAN-INIT] OrchestratorService initialized successfully");
} catch (OrchestratorException e) {
logger.error("Failed to initialize OrchestratorService", e);
throw new RuntimeException("Failed to initialize OrchestratorService", e);
diff --git a/airavata-api/src/main/java/org/apache/airavata/sharing/utils/JPAUtils.java b/airavata-api/src/main/java/org/apache/airavata/sharing/utils/JPAUtils.java
index 6a2d2e10bb..569d31af4d 100644
--- a/airavata-api/src/main/java/org/apache/airavata/sharing/utils/JPAUtils.java
+++ b/airavata-api/src/main/java/org/apache/airavata/sharing/utils/JPAUtils.java
@@ -40,7 +40,10 @@ public class JPAUtils {
@PostConstruct
public void init() {
+ org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(JPAUtils.class);
+ logger.info("[BEAN-INIT] SharingRegistry JPAUtils.init() called - setting static instance");
instance = this;
+ logger.info("[BEAN-INIT] SharingRegistry JPAUtils static instance set successfully");
}
public static EntityManager getEntityManager() {
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/WorkspaceRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/WorkspaceRepositoryTest.java
index a49ed8b772..a0aa72b22c 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/WorkspaceRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/WorkspaceRepositoryTest.java
@@ -20,15 +20,51 @@
package org.apache.airavata.registry.repositories;
import org.apache.airavata.registry.repositories.common.TestBase;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
import org.springframework.transaction.annotation.Transactional;
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, WorkspaceRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
@Transactional
public class WorkspaceRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
// private final static Logger logger = LoggerFactory.getLogger(WorkspaceRepositoryTest.class);
//
// private GatewayRepository gatewayRepository;
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/ApplicationDeploymentRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/ApplicationDeploymentRepositoryTest.java
index 678d80ec4b..30543a3801 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/ApplicationDeploymentRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/ApplicationDeploymentRepositoryTest.java
@@ -38,13 +38,51 @@ import org.apache.airavata.registry.utils.DBConstants;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
-
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+import org.springframework.test.context.TestConstructor;
+
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, ApplicationDeploymentRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class ApplicationDeploymentRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private final ComputeResourceService computeResourceService;
private final ApplicationInterfaceService applicationInterfaceService;
private final ApplicationDeploymentService applicationDeploymentService;
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/ApplicationInterfaceRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/ApplicationInterfaceRepositoryTest.java
index 5d07ef8975..434816fe22 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/ApplicationInterfaceRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/ApplicationInterfaceRepositoryTest.java
@@ -40,13 +40,51 @@ import org.apache.airavata.registry.utils.DBConstants;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
-
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+import org.springframework.test.context.TestConstructor;
+
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, ApplicationInterfaceRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class ApplicationInterfaceRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private final ApplicationInterfaceService applicationInterfaceService;
private final ComputeResourceService computeResourceService;
private final ApplicationDeploymentService applicationDeploymentService;
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/ComputeResourceRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/ComputeResourceRepositoryTest.java
index cdaec1febf..4137d960ab 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/ComputeResourceRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/ComputeResourceRepositoryTest.java
@@ -32,11 +32,53 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.TestConstructor;
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
+import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.TestConstructor;
+
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, ComputeResourceRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class ComputeResourceRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private final ComputeResourceService computeResourceService;
public ComputeResourceRepositoryTest(ComputeResourceService computeResourceService) {
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/GatewayGroupsRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/GatewayGroupsRepositoryTest.java
index 1c0176b97f..8f8f679b07 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/GatewayGroupsRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/GatewayGroupsRepositoryTest.java
@@ -24,13 +24,51 @@ import org.apache.airavata.registry.repositories.common.TestBase;
import org.apache.airavata.registry.services.GatewayGroupsService;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
-
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+import org.springframework.test.context.TestConstructor;
+
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, GatewayGroupsRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class GatewayGroupsRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private static final String GATEWAY_ID = "gateway-id";
private static final String ADMIN_GROUPS_ID = "admin-groups-id";
private static final String READ_ONLY_ADMINS_GROUP_ID = "read-only-admins-group-id";
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/GatewayProfileRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/GatewayProfileRepositoryTest.java
index 4d65efdb03..e65e19a1ca 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/GatewayProfileRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/GatewayProfileRepositoryTest.java
@@ -41,13 +41,51 @@ import org.apache.airavata.registry.services.GwyResourceProfileService;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
-
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+import org.springframework.test.context.TestConstructor;
+
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, GatewayProfileRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class GatewayProfileRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private static final Logger logger = LoggerFactory.getLogger(GatewayProfileRepositoryTest.class);
private final GwyResourceProfileService gwyResourceProfileService;
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/GroupResourceProfileRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/GroupResourceProfileRepositoryTest.java
index d2762d9d0d..0146ef1446 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/GroupResourceProfileRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/GroupResourceProfileRepositoryTest.java
@@ -36,15 +36,54 @@ import org.apache.airavata.registry.services.ComputeResourceService;
import org.apache.airavata.registry.services.GroupResourceProfileService;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.TestPropertySource;
// FIXME - update the codes changed by GroupComputeResourcePreference -> abstract GroupComputeResourcePreference +
// SlurmGroupComputeResourcePreference
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
+import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.TestConstructor;
+
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, GroupResourceProfileRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class GroupResourceProfileRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private final ComputeResourceService computeResourceService;
private final GroupResourceProfileService groupResourceProfileService;
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/JobSubmissionInterfaceRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/JobSubmissionInterfaceRepositoryTest.java
index 07e6bc9e38..de4c5e64af 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/JobSubmissionInterfaceRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/JobSubmissionInterfaceRepositoryTest.java
@@ -33,13 +33,51 @@ import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.TestConstructor;
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, JobSubmissionInterfaceRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class JobSubmissionInterfaceRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private final ComputeResourceService computeResourceService;
private final JobSubmissionInterfaceRepository jobSubmissionInterfaceRepository;
private final Mapper mapper;
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/StorageResourceRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/StorageResourceRepositoryTest.java
index e23f2f2642..fb9a0167e2 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/StorageResourceRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/StorageResourceRepositoryTest.java
@@ -39,14 +39,56 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.TestConstructor;
/**
* Created by skariyat on 3/13/18.
*/
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
+import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.TestConstructor;
+
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, StorageResourceRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class StorageResourceRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private static final Logger logger = LoggerFactory.getLogger(StorageResourceRepository.class);
private final StorageResourceService storageResourceService;
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/UserResourceProfileRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/UserResourceProfileRepositoryTest.java
index 1ae8a90b71..aa502a70d8 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/UserResourceProfileRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/appcatalog/UserResourceProfileRepositoryTest.java
@@ -32,11 +32,53 @@ import org.apache.airavata.registry.services.UserResourceProfileService;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.TestConstructor;
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
+import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.TestConstructor;
+
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, UserResourceProfileRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class UserResourceProfileRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private final UserResourceProfileService userResourceProfileService;
private String userId = "testUser";
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentErrorRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentErrorRepositoryTest.java
index 6fad3bdb74..c2db51ba23 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentErrorRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentErrorRepositoryTest.java
@@ -35,13 +35,51 @@ import org.apache.airavata.registry.services.ExperimentService;
import org.apache.airavata.registry.services.GatewayService;
import org.apache.airavata.registry.services.ProjectService;
import org.junit.jupiter.api.Test;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.TestConstructor;
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, ExperimentErrorRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class ExperimentErrorRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private final GatewayService gatewayService;
private final ProjectService projectService;
private final ExperimentService experimentService;
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentInputRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentInputRepositoryTest.java
index 8b97745d01..feb64a8624 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentInputRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentInputRepositoryTest.java
@@ -37,13 +37,51 @@ import org.apache.airavata.registry.services.ExperimentService;
import org.apache.airavata.registry.services.GatewayService;
import org.apache.airavata.registry.services.ProjectService;
import org.junit.jupiter.api.Test;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
-
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+import org.springframework.test.context.TestConstructor;
+
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, ExperimentInputRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class ExperimentInputRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private final GatewayService gatewayService;
private final ProjectService projectService;
private final ExperimentService experimentService;
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentOutputRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentOutputRepositoryTest.java
index 9c31751d78..2c4158e7a2 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentOutputRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentOutputRepositoryTest.java
@@ -37,13 +37,51 @@ import org.apache.airavata.registry.services.ExperimentService;
import org.apache.airavata.registry.services.GatewayService;
import org.apache.airavata.registry.services.ProjectService;
import org.junit.jupiter.api.Test;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
-
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+import org.springframework.test.context.TestConstructor;
+
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, ExperimentOutputRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class ExperimentOutputRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private final GatewayService gatewayService;
private final ProjectService projectService;
private final ExperimentService experimentService;
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentRepositoryTest.java
index 88729687f0..c052e7dbce 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentRepositoryTest.java
@@ -42,6 +42,7 @@ import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.context.annotation.Import;
+import org.springframework.test.context.TestConstructor;
import org.springframework.test.context.TestPropertySource;
@SpringBootTest(
@@ -51,6 +52,7 @@ import org.springframework.test.context.TestPropertySource;
"spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
})
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class ExperimentRepositoryTest extends TestBase {
@Configuration
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentStatusRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentStatusRepositoryTest.java
index 3d38dbfc2b..ff7e266d22 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentStatusRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentStatusRepositoryTest.java
@@ -35,13 +35,51 @@ import org.apache.airavata.registry.services.ExperimentStatusService;
import org.apache.airavata.registry.services.GatewayService;
import org.apache.airavata.registry.services.ProjectService;
import org.junit.jupiter.api.Test;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.TestConstructor;
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, ExperimentStatusRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class ExperimentStatusRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private final GatewayService gatewayService;
private final ProjectService projectService;
private final ExperimentService experimentService;
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentSummaryRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentSummaryRepositoryTest.java
index f27e432300..2db3e96642 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentSummaryRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ExperimentSummaryRepositoryTest.java
@@ -42,13 +42,51 @@ import org.apache.airavata.registry.services.GatewayService;
import org.apache.airavata.registry.services.ProjectService;
import org.apache.airavata.registry.utils.DBConstants;
import org.junit.jupiter.api.Test;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
-
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+import org.springframework.test.context.TestConstructor;
+
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, ExperimentSummaryRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class ExperimentSummaryRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private final GatewayService gatewayService;
private final ProjectService projectService;
private final ExperimentService experimentService;
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/GatewayRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/GatewayRepositoryTest.java
index a309b5c500..ad5e15f5e1 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/GatewayRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/GatewayRepositoryTest.java
@@ -36,6 +36,7 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
+import org.springframework.test.context.TestConstructor;
import org.springframework.test.context.TestPropertySource;
@SpringBootTest(
@@ -45,6 +46,7 @@ import org.springframework.test.context.TestPropertySource;
"spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
})
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class GatewayRepositoryTest extends TestBase {
@Configuration
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/JobRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/JobRepositoryTest.java
index e58657339b..9e410e7c11 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/JobRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/JobRepositoryTest.java
@@ -52,6 +52,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.TestConstructor;
@SpringBootTest(
classes = {org.apache.airavata.config.JpaConfig.class, JobRepositoryTest.TestConfiguration.class},
@@ -60,6 +61,7 @@ import org.springframework.test.context.TestPropertySource;
"spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
})
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class JobRepositoryTest extends TestBase {
@Configuration
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/JobStatusRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/JobStatusRepositoryTest.java
index bd4aacadba..c5dfa0d9f9 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/JobStatusRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/JobStatusRepositoryTest.java
@@ -45,6 +45,7 @@ import org.apache.airavata.registry.services.TaskService;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.TestConstructor;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.ComponentScan;
@@ -59,6 +60,7 @@ import org.springframework.context.annotation.Import;
"spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
})
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class JobStatusRepositoryTest extends TestBase {
@Configuration
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/NotificationRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/NotificationRepositoryTest.java
index 92462c96af..42f95566fa 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/NotificationRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/NotificationRepositoryTest.java
@@ -28,13 +28,51 @@ import org.apache.airavata.registry.exceptions.RegistryException;
import org.apache.airavata.registry.repositories.common.TestBase;
import org.apache.airavata.registry.services.NotificationService;
import org.junit.jupiter.api.Test;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.TestConstructor;
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, NotificationRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class NotificationRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private String testGateway = "testGateway";
private final NotificationService notificationService;
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProcessErrorRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProcessErrorRepositoryTest.java
index 759a0ea0f0..d1c3902546 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProcessErrorRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProcessErrorRepositoryTest.java
@@ -37,13 +37,51 @@ import org.apache.airavata.registry.services.ProcessErrorService;
import org.apache.airavata.registry.services.ProcessService;
import org.apache.airavata.registry.services.ProjectService;
import org.junit.jupiter.api.Test;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
-
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+import org.springframework.test.context.TestConstructor;
+
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, ProcessErrorRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class ProcessErrorRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private final GatewayService gatewayService;
private final ProjectService projectService;
private final ExperimentService experimentService;
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProcessInputRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProcessInputRepositoryTest.java
index 485998cc4a..a44bc0bbce 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProcessInputRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProcessInputRepositoryTest.java
@@ -39,13 +39,51 @@ import org.apache.airavata.registry.services.ProcessInputService;
import org.apache.airavata.registry.services.ProcessService;
import org.apache.airavata.registry.services.ProjectService;
import org.junit.jupiter.api.Test;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
-
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+import org.springframework.test.context.TestConstructor;
+
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, ProcessInputRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class ProcessInputRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private final GatewayService gatewayService;
private final ProjectService projectService;
private final ExperimentService experimentService;
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProcessOutputRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProcessOutputRepositoryTest.java
index 9ce273ddf5..91caf77d85 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProcessOutputRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProcessOutputRepositoryTest.java
@@ -39,13 +39,51 @@ import org.apache.airavata.registry.services.ProcessOutputService;
import org.apache.airavata.registry.services.ProcessService;
import org.apache.airavata.registry.services.ProjectService;
import org.junit.jupiter.api.Test;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
-
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+import org.springframework.test.context.TestConstructor;
+
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, ProcessOutputRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class ProcessOutputRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private final GatewayService gatewayService;
private final ProjectService projectService;
private final ExperimentService experimentService;
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProcessRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProcessRepositoryTest.java
index aeb23e7b57..94ecf32d37 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProcessRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProcessRepositoryTest.java
@@ -47,6 +47,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.TestConstructor;
@SpringBootTest(
classes = {org.apache.airavata.config.JpaConfig.class, ProcessRepositoryTest.TestConfiguration.class},
@@ -55,6 +56,7 @@ import org.springframework.test.context.TestPropertySource;
"spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
})
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class ProcessRepositoryTest extends TestBase {
@Configuration
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProcessStatusRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProcessStatusRepositoryTest.java
index b05ff139c3..125daaf29a 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProcessStatusRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProcessStatusRepositoryTest.java
@@ -40,6 +40,7 @@ import org.apache.airavata.registry.services.ProjectService;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.TestConstructor;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.ComponentScan;
@@ -54,6 +55,7 @@ import org.springframework.context.annotation.Import;
"spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
})
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class ProcessStatusRepositoryTest extends TestBase {
@Configuration
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProjectRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProjectRepositoryTest.java
index af981a02d6..d2e3e5b792 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProjectRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/ProjectRepositoryTest.java
@@ -39,6 +39,7 @@ import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.context.annotation.Import;
+import org.springframework.test.context.TestConstructor;
import org.springframework.test.context.TestPropertySource;
@SpringBootTest(
@@ -48,12 +49,12 @@ import org.springframework.test.context.TestPropertySource;
"spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
})
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class ProjectRepositoryTest extends TestBase {
@Configuration
@ComponentScan(
- basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"
- },
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
excludeFilters = {
@ComponentScan.Filter(
type = FilterType.ASSIGNABLE_TYPE,
@@ -75,6 +76,10 @@ public class ProjectRepositoryTest extends TestBase {
})
@EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
@Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ @org.springframework.boot.autoconfigure.SpringBootApplication(exclude = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class
+ })
static class TestConfiguration {}
private final GatewayService gatewayService;
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/QueueStatusRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/QueueStatusRepositoryTest.java
index 9c02c8d8ba..a427e06faf 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/QueueStatusRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/QueueStatusRepositoryTest.java
@@ -36,6 +36,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.TestConstructor;
@SpringBootTest(
classes = {org.apache.airavata.config.JpaConfig.class, QueueStatusRepositoryTest.TestConfiguration.class},
@@ -44,6 +45,7 @@ import org.springframework.test.context.TestPropertySource;
"spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
})
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class QueueStatusRepositoryTest extends TestBase {
@Configuration
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/TaskErrorRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/TaskErrorRepositoryTest.java
index 278a1340ba..47d45ffaa3 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/TaskErrorRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/TaskErrorRepositoryTest.java
@@ -40,13 +40,51 @@ import org.apache.airavata.registry.services.ProjectService;
import org.apache.airavata.registry.services.TaskErrorService;
import org.apache.airavata.registry.services.TaskService;
import org.junit.jupiter.api.Test;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
-
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+import org.springframework.test.context.TestConstructor;
+
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, TaskErrorRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class TaskErrorRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private final GatewayService gatewayService;
private final ProjectService projectService;
private final ExperimentService experimentService;
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/TaskRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/TaskRepositoryTest.java
index 547a918ee2..f994894e5c 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/TaskRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/TaskRepositoryTest.java
@@ -49,6 +49,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.TestConstructor;
@SpringBootTest(
classes = {org.apache.airavata.config.JpaConfig.class, TaskRepositoryTest.TestConfiguration.class},
@@ -57,6 +58,7 @@ import org.springframework.test.context.TestPropertySource;
"spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
})
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class TaskRepositoryTest extends TestBase {
@Configuration
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/TaskStatusRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/TaskStatusRepositoryTest.java
index 07d404a0fc..8a59778b91 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/TaskStatusRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/TaskStatusRepositoryTest.java
@@ -47,6 +47,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.TestConstructor;
@SpringBootTest(
classes = {org.apache.airavata.config.JpaConfig.class, TaskStatusRepositoryTest.TestConfiguration.class},
@@ -55,6 +56,7 @@ import org.springframework.test.context.TestPropertySource;
"spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
})
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class TaskStatusRepositoryTest extends TestBase {
@Configuration
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/UserRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/UserRepositoryTest.java
index 2edc4d07fb..6fbcb55fc6 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/UserRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/expcatalog/UserRepositoryTest.java
@@ -42,6 +42,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.TestConstructor;
@SpringBootTest(
classes = {org.apache.airavata.config.JpaConfig.class, UserRepositoryTest.TestConfiguration.class},
@@ -50,6 +51,7 @@ import org.springframework.test.context.TestPropertySource;
"spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
})
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class UserRepositoryTest extends TestBase {
@Configuration
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/replicacatalog/DataProductRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/replicacatalog/DataProductRepositoryTest.java
index 5f0f8bcbc1..411cd7695c 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/replicacatalog/DataProductRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/replicacatalog/DataProductRepositoryTest.java
@@ -36,13 +36,51 @@ import org.apache.airavata.registry.exceptions.ReplicaCatalogException;
import org.apache.airavata.registry.repositories.common.TestBase;
import org.apache.airavata.registry.services.DataProductService;
import org.junit.jupiter.api.Test;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
-
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+import org.springframework.test.context.TestConstructor;
+
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, DataProductRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class DataProductRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private final DataProductService dataProductService;
private String gatewayId = "testGateway";
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/replicacatalog/DataReplicaLocationRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/replicacatalog/DataReplicaLocationRepositoryTest.java
index 652ea01a74..dc6c8028b3 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/replicacatalog/DataReplicaLocationRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/replicacatalog/DataReplicaLocationRepositoryTest.java
@@ -36,13 +36,51 @@ import org.apache.airavata.registry.repositories.common.TestBase;
import org.apache.airavata.registry.services.DataProductService;
import org.apache.airavata.registry.services.DataReplicaLocationService;
import org.junit.jupiter.api.Test;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
-
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+import org.springframework.test.context.TestConstructor;
+
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, DataReplicaLocationRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class DataReplicaLocationRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private final DataProductService dataProductService;
private final DataReplicaLocationService dataReplicaLocationService;
diff --git a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/workflowcatalog/WorkflowRepositoryTest.java b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/workflowcatalog/WorkflowRepositoryTest.java
index 3f78485e3d..15751688c2 100644
--- a/airavata-api/src/test/java/org/apache/airavata/registry/repositories/workflowcatalog/WorkflowRepositoryTest.java
+++ b/airavata-api/src/test/java/org/apache/airavata/registry/repositories/workflowcatalog/WorkflowRepositoryTest.java
@@ -27,15 +27,53 @@ import org.apache.airavata.registry.repositories.common.TestBase;
import org.apache.airavata.registry.services.WorkflowService;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.TestConstructor;
// TODO: fix derby initialization script so that this test can be re-enabled
@Disabled
-@SpringBootTest(classes = {org.apache.airavata.config.JpaConfig.class})
+@SpringBootTest(
+ classes = {org.apache.airavata.config.JpaConfig.class, WorkflowRepositoryTest.TestConfiguration.class},
+ properties = {
+ "spring.main.allow-bean-definition-overriding=true",
+ "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration"
+ })
@TestPropertySource(locations = "classpath:airavata.properties")
+@TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL)
public class WorkflowRepositoryTest extends TestBase {
+ @Configuration
+ @ComponentScan(
+ basePackages = {"org.apache.airavata.service", "org.apache.airavata.registry", "org.apache.airavata.config"},
+ excludeFilters = {
+ @ComponentScan.Filter(
+ type = FilterType.ASSIGNABLE_TYPE,
+ classes = {
+ org.apache.airavata.config.BackgroundServicesLauncher.class,
+ org.apache.airavata.config.ThriftServerLauncher.class,
+ org.apache.airavata.monitor.realtime.RealtimeMonitor.class,
+ org.apache.airavata.monitor.email.EmailBasedMonitor.class,
+ org.apache.airavata.monitor.cluster.ClusterStatusMonitorJob.class,
+ org.apache.airavata.monitor.AbstractMonitor.class,
+ org.apache.airavata.helix.impl.controller.HelixController.class,
+ org.apache.airavata.helix.impl.participant.GlobalParticipant.class,
+ org.apache.airavata.helix.impl.workflow.PreWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.PostWorkflowManager.class,
+ org.apache.airavata.helix.impl.workflow.ParserWorkflowManager.class
+ }),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.monitor\\..*"),
+ @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.apache\\.airavata\\.helix\\..*")
+ })
+ @EnableConfigurationProperties(org.apache.airavata.config.AiravataServerProperties.class)
+ @Import(org.apache.airavata.config.AiravataPropertiesConfiguration.class)
+ static class TestConfiguration {}
+
private final WorkflowService workflowService;
public WorkflowRepositoryTest(WorkflowService workflowService) {