package com.dalab.discovery.common; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration; // ADDED import for EntityScan import org.springframework.boot.autoconfigure.domain.EntityScan; // ADDED imports for AutoConfigurations import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.DirtiesContext; // ADDED import for TestPropertySource import org.springframework.test.context.TestPropertySource; import com.dalab.discovery.application.DADiscoveryAgent; import com.dalab.discovery.crawler.config.CrawlerCacheConfiguration; import com.dalab.discovery.sd.config.AsyncSyncConfiguration; import com.dalab.discovery.sd.config.TestDatabaseConfiguration; import com.dalab.discovery.sd.config.TestDiscoveryConfiguration; import com.dalab.discovery.sd.config.TestSecurityConfiguration; import com.dalab.discovery.sd.web.rest.errors.TestSecurityConfig; /** * Base composite annotation for integration tests. */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @SpringBootTest(classes = { DADiscoveryAgent.class, AsyncSyncConfiguration.class, TestSecurityConfiguration.class, TestDatabaseConfiguration.class, TestSecurityConfig.class, TestDiscoveryConfiguration.class, CrawlerCacheConfiguration.class, // ADDED Explicit AutoConfigurations DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class, JpaRepositoriesAutoConfiguration.class }) // Modified EntityScan to scan base package @EntityScan("com.dalab.discovery.sd") // ADDED property source to disable liquibase @TestPropertySource(properties = { "spring.liquibase.enabled=false", "spring.jpa.hibernate.ddl-auto=create-drop" }) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS) // @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE) // // REMOVED public @interface IntegrationTest { } //