From ebf22327416b6ce058b1f9ebb0d56dd91b2369a2 Mon Sep 17 00:00:00 2001 From: kameshsr Date: Tue, 21 May 2024 11:16:59 +0530 Subject: [PATCH] MOSIP-32842 Fixed test case failure Signed-off-by: kameshsr --- .../pms/test/config/TestSecurityConfig.java | 24 +++++++++++++++++-- .../pms/policy/test/PolicyServiceTest.java | 10 ++++---- .../pms/policy/test/config/TestConfig.java | 2 ++ .../test/config/TestSecurityConfig.java | 2 ++ .../PolicyManagementControllerTest.java | 2 ++ .../test/service/PolicyServiceTest.java | 2 ++ .../src/test/resources/application.properties | 1 + 7 files changed, 37 insertions(+), 6 deletions(-) diff --git a/partner/partner-management-service/src/test/java/io/mosip/pms/test/config/TestSecurityConfig.java b/partner/partner-management-service/src/test/java/io/mosip/pms/test/config/TestSecurityConfig.java index 061c237cec..a4fc2a56f8 100644 --- a/partner/partner-management-service/src/test/java/io/mosip/pms/test/config/TestSecurityConfig.java +++ b/partner/partner-management-service/src/test/java/io/mosip/pms/test/config/TestSecurityConfig.java @@ -5,6 +5,8 @@ import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.annotation.web.configuration.WebSecurityCustomizer; +import org.springframework.security.config.http.SessionCreationPolicy; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; @@ -14,14 +16,16 @@ import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.firewall.DefaultHttpFirewall; import org.springframework.security.web.firewall.HttpFirewall; - +import org.springframework.core.annotation.Order; import jakarta.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; @Configuration @EnableWebSecurity -@EnableMethodSecurity +@EnableMethodSecurity(prePostEnabled = true// , securedEnabled = true, jsr250Enabled = true +) +@Order(2) public class TestSecurityConfig { @Bean @@ -35,6 +39,22 @@ protected SecurityFilterChain configureSecurityFilterChain(final HttpSecurity ht return httpSecurity.build(); } + @Bean + public WebSecurityCustomizer webSecurityCustomizer() { + return (web) -> web.ignoring().requestMatchers(allowedEndPoints()).and().httpFirewall(defaultHttpFirewall()); + } + + @Bean + public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { + http.csrf(csrf -> csrf.disable()) + .exceptionHandling(exception -> exception.authenticationEntryPoint(unauthorizedEntryPoint())) + .sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) + .authorizeHttpRequests((authz) -> authz.anyRequest().authenticated()) + .userDetailsService(userDetailsService()); + + return http.build(); + } + private String[] allowedEndPoints() { return new String[]{"*", "/swagger-ui.html"}; } diff --git a/partner/policy-management-service/src/test/java/io/mosip/pms/policy/test/PolicyServiceTest.java b/partner/policy-management-service/src/test/java/io/mosip/pms/policy/test/PolicyServiceTest.java index 68f84389ba..cf72dbd622 100644 --- a/partner/policy-management-service/src/test/java/io/mosip/pms/policy/test/PolicyServiceTest.java +++ b/partner/policy-management-service/src/test/java/io/mosip/pms/policy/test/PolicyServiceTest.java @@ -6,22 +6,24 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Import; import io.mosip.pms.common.helper.FilterHelper; import io.mosip.pms.common.helper.SearchHelper; import io.mosip.pms.common.helper.WebSubPublisher; import io.mosip.pms.common.util.PageUtils; -import io.mosip.pms.common.util.RestUtil; import io.mosip.pms.common.validator.FilterColumnValidator; /** * @author Nagarjuna * */ -@Import(value = {WebSubPublisher.class,RestUtil.class,SearchHelper.class,FilterHelper.class,PageUtils.class,FilterColumnValidator.class,RestUtil.class}) -@SpringBootApplication(scanBasePackages = { "io.mosip.pms.policy.*","io.mosip.pms.common.*"}, - exclude={DataSourceAutoConfiguration.class}) +@Import(value = { WebSubPublisher.class, SearchHelper.class, FilterHelper.class, PageUtils.class, + FilterColumnValidator.class }) +@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class }) +@ComponentScan(basePackages = { "io.mosip.pms.policy.*", "io.mosip.pms.common.*", + "io.mosip.kernel.websub.api.config", "io.mosip.kernel.templatemanager" }) public class PolicyServiceTest { /** diff --git a/partner/policy-management-service/src/test/java/io/mosip/pms/policy/test/config/TestConfig.java b/partner/policy-management-service/src/test/java/io/mosip/pms/policy/test/config/TestConfig.java index a8f29791b9..2422146dce 100644 --- a/partner/policy-management-service/src/test/java/io/mosip/pms/policy/test/config/TestConfig.java +++ b/partner/policy-management-service/src/test/java/io/mosip/pms/policy/test/config/TestConfig.java @@ -7,6 +7,7 @@ import org.apache.http.ssl.TrustStrategy; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; import org.springframework.web.client.RestTemplate; @@ -20,6 +21,7 @@ public class TestConfig { @Bean + @Primary public RestTemplate restTemplateConfig() throws KeyManagementException, NoSuchAlgorithmException, KeyStoreException { diff --git a/partner/policy-management-service/src/test/java/io/mosip/pms/policy/test/config/TestSecurityConfig.java b/partner/policy-management-service/src/test/java/io/mosip/pms/policy/test/config/TestSecurityConfig.java index 1ac84a3174..821dc7b767 100644 --- a/partner/policy-management-service/src/test/java/io/mosip/pms/policy/test/config/TestSecurityConfig.java +++ b/partner/policy-management-service/src/test/java/io/mosip/pms/policy/test/config/TestSecurityConfig.java @@ -33,6 +33,8 @@ public HttpFirewall defaultHttpFirewall() { @Bean protected SecurityFilterChain configure(final HttpSecurity httpSecurity) throws Exception { + httpSecurity.csrf(csrf -> csrf.disable()); + httpSecurity.authorizeHttpRequests(cfg -> cfg.anyRequest().permitAll()); return httpSecurity.build(); } diff --git a/partner/policy-management-service/src/test/java/io/mosip/pms/policy/test/controller/PolicyManagementControllerTest.java b/partner/policy-management-service/src/test/java/io/mosip/pms/policy/test/controller/PolicyManagementControllerTest.java index 6944ba9c5c..a3bf8367a9 100644 --- a/partner/policy-management-service/src/test/java/io/mosip/pms/policy/test/controller/PolicyManagementControllerTest.java +++ b/partner/policy-management-service/src/test/java/io/mosip/pms/policy/test/controller/PolicyManagementControllerTest.java @@ -34,6 +34,7 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.MediaType; import org.springframework.security.test.context.support.WithMockUser; +import org.springframework.test.context.TestPropertySource; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; @@ -69,6 +70,7 @@ @SpringBootTest(classes = PolicyServiceTest.class) @AutoConfigureMockMvc @EnableWebMvc +@TestPropertySource("classpath:application.properties") public class PolicyManagementControllerTest { @Autowired diff --git a/partner/policy-management-service/src/test/java/io/mosip/pms/policy/test/service/PolicyServiceTest.java b/partner/policy-management-service/src/test/java/io/mosip/pms/policy/test/service/PolicyServiceTest.java index a2456cec2a..3fa5923ae4 100644 --- a/partner/policy-management-service/src/test/java/io/mosip/pms/policy/test/service/PolicyServiceTest.java +++ b/partner/policy-management-service/src/test/java/io/mosip/pms/policy/test/service/PolicyServiceTest.java @@ -25,6 +25,7 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.data.domain.PageImpl; +import org.springframework.test.context.TestPropertySource; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.util.ReflectionTestUtils; @@ -68,6 +69,7 @@ @RunWith(SpringRunner.class) @SpringBootTest +@TestPropertySource("classpath:application.properties") public class PolicyServiceTest { @Autowired diff --git a/partner/policy-management-service/src/test/resources/application.properties b/partner/policy-management-service/src/test/resources/application.properties index 8c853e8601..5aa104ff04 100644 --- a/partner/policy-management-service/src/test/resources/application.properties +++ b/partner/policy-management-service/src/test/resources/application.properties @@ -4,6 +4,7 @@ javax.persistence.jdbc.driver=org.h2.Driver javax.persistence.jdbc.url = jdbc:h2:mem:mosip_pms;DB_CLOSE_DELAY=-1;INIT=RUNSCRIPT FROM 'classpath:pmpTestschema.sql' javax.persistence.jdbc.password = sa javax.persistence.jdbc.user = postgres +hibernate.dialect=org.hibernate.dialect.H2Dialect hibernate.jdbc.lob.non_contextual_creation=true hibernate.hbm2ddl.auto=update