From db27a8dbca7f49f7aef48c2a30dad04d726530ed Mon Sep 17 00:00:00 2001 From: nkumar2 Date: Fri, 26 Jun 2026 10:53:22 +0100 Subject: [PATCH 1/2] Project upgrade to java-21 and spring 3.4.13 --- .github/workflows/run-tests.yml | 32 ++++ pom.xml | 143 ++++++------------ .../CustomBasicAuthenticationEntryPoint.java | 4 +- .../authentication/SecurityConfiguration.java | 59 +++++--- .../swagger/SwaggerInterceptAdapter.java | 11 +- .../dus/PassiveAnonymousFTPClient.java | 2 - .../contigalias/entities/AssemblyEntity.java | 14 +- .../entities/ChromosomeEntity.java | 6 +- .../contigalias/entities/SequenceEntity.java | 14 +- .../contigalias/repo/AssemblyRepository.java | 3 +- .../repo/ChromosomeRepository.java | 3 +- .../contigalias/service/AssemblyService.java | 2 +- .../service/ChromosomeService.java | 2 +- .../ContigAliasControllerIntegrationTest.java | 27 ++-- .../ContigAliasIntegrationTest.java | 2 +- .../ChromosomeServiceIntegrationTest.java | 2 - ...java => ContigAliasTestConfiguration.java} | 18 ++- 17 files changed, 168 insertions(+), 176 deletions(-) create mode 100644 .github/workflows/run-tests.yml rename src/test/java/uk/ac/ebi/eva/contigalias/test/{TestConfiguration.java => ContigAliasTestConfiguration.java} (56%) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml new file mode 100644 index 00000000..8560650d --- /dev/null +++ b/.github/workflows/run-tests.yml @@ -0,0 +1,32 @@ +name: Run tests + +on: + push: + branches: [ master, java21 ] + pull_request: + branches: [ master, java21 ] + +jobs: + build: + runs-on: ubuntu-latest + + permissions: + contents: read + + strategy: + matrix: + java-version: [ 21 ] + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Java 21 + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: ${{ matrix.java-version }} + cache: maven + + - name: Run Maven tests + run: mvn -B clean test diff --git a/pom.xml b/pom.xml index 23e38f9b..5d5b0394 100644 --- a/pom.xml +++ b/pom.xml @@ -1,136 +1,89 @@ - - 4.0.0 - - org.springframework.boot - spring-boot-starter-parent - 2.7.18 - - + uk.ac.ebi.eva contig-alias - 0.1.12-SNAPSHOT + ${revision} contig-alias Service to provide synonyms of chromosome/contig identifiers war + + org.springframework.boot + spring-boot-starter-parent + 3.4.13 + + - 8 - 1.17.6 + 0.1.12-SNAPSHOT + 21 org.springframework.boot - spring-boot-starter - - - - org.springframework.boot - spring-boot-starter-test - test - - - org.junit.vintage - junit-vintage-engine - - - - - - - commons-net - commons-net - 3.10.0 + spring-boot-starter-web org.springframework.boot spring-boot-starter-data-jpa - - - - com.h2database - h2 - runtime - 2.2.220 - org.springframework.boot - spring-boot-starter-web + spring-boot-starter-security - - org.springframework.data - spring-data-jpa + org.springframework.boot + spring-boot-starter-actuator org.springframework.boot - spring-boot-starter-security + spring-boot-starter-hateoas org.springframework.boot - spring-boot-starter-actuator + spring-boot-starter-aop - - - org.springframework.security - spring-security-test - test + org.springframework.retry + spring-retry - org.springdoc - springdoc-openapi-ui - 1.7.0 + springdoc-openapi-starter-webmvc-ui + 2.8.17 - org.postgresql postgresql runtime - - - org.springframework.boot - spring-boot-starter-hateoas + commons-net + commons-net + 3.10.0 - org.springframework.boot - spring-boot-starter-aop + spring-boot-starter-test + test - - - org.springframework.retry - spring-retry - 1.3.1 + org.springframework.security + spring-security-test + test - - org.testcontainers - junit-jupiter + com.h2database + h2 + test + + + org.springframework.boot + spring-boot-testcontainers test @@ -138,23 +91,15 @@ postgresql test - + + org.testcontainers + junit-jupiter + test + - - - - org.testcontainers - testcontainers-bom - ${testcontainers.version} - pom - import - - - - - ${project.artifactId}-${project.version}-${git.commit.id.abbrev} + ${project.artifactId}-${revision}-${git.commit.id.abbrev} org.springframework.boot @@ -168,9 +113,9 @@ - pl.project13.maven - git-commit-id-plugin - 2.2.5 + io.github.git-commit-id + git-commit-id-maven-plugin + 9.0.1 ^git.tags$ diff --git a/src/main/java/uk/ac/ebi/eva/contigalias/controller/authentication/CustomBasicAuthenticationEntryPoint.java b/src/main/java/uk/ac/ebi/eva/contigalias/controller/authentication/CustomBasicAuthenticationEntryPoint.java index 26bd8ea4..5d419b3b 100644 --- a/src/main/java/uk/ac/ebi/eva/contigalias/controller/authentication/CustomBasicAuthenticationEntryPoint.java +++ b/src/main/java/uk/ac/ebi/eva/contigalias/controller/authentication/CustomBasicAuthenticationEntryPoint.java @@ -16,12 +16,12 @@ package uk.ac.ebi.eva.contigalias.controller.authentication; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.security.core.AuthenticationException; import org.springframework.security.web.authentication.www.BasicAuthenticationEntryPoint; import org.springframework.stereotype.Component; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; diff --git a/src/main/java/uk/ac/ebi/eva/contigalias/controller/authentication/SecurityConfiguration.java b/src/main/java/uk/ac/ebi/eva/contigalias/controller/authentication/SecurityConfiguration.java index 119e093d..efc4f05b 100644 --- a/src/main/java/uk/ac/ebi/eva/contigalias/controller/authentication/SecurityConfiguration.java +++ b/src/main/java/uk/ac/ebi/eva/contigalias/controller/authentication/SecurityConfiguration.java @@ -18,17 +18,22 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; 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.WebSecurityConfigurerAdapter; +import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; import org.springframework.security.config.http.SessionCreationPolicy; +import org.springframework.security.core.userdetails.User; +import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.security.provisioning.InMemoryUserDetailsManager; +import org.springframework.security.web.SecurityFilterChain; @Configuration @EnableWebSecurity -public class SecurityConfiguration extends WebSecurityConfigurerAdapter { +public class SecurityConfiguration { public static final String REALM = "EBI-REALM"; @@ -47,26 +52,36 @@ public SecurityConfiguration(CustomBasicAuthenticationEntryPoint customBasicAuth this.customBasicAuthenticationEntryPoint = customBasicAuthenticationEntryPoint; } - @Autowired - public void configureGlobalSecurity(AuthenticationManagerBuilder auth) throws Exception { - String encodedPassword = "{bcrypt}" + new BCryptPasswordEncoder().encode(PASSWORD_ADMIN); - auth.inMemoryAuthentication() - .withUser(USERNAME_ADMIN) - .password(encodedPassword) - .roles(ROLE_ADMIN); + @Bean + public PasswordEncoder passwordEncoder() { + return new BCryptPasswordEncoder(); + } + + @Bean + public UserDetailsService userDetailsService() { + return new InMemoryUserDetailsManager( + User.withUsername(USERNAME_ADMIN) + .password(passwordEncoder().encode(PASSWORD_ADMIN)) + .roles(ROLE_ADMIN) + .build() + ); } - @Override - protected void configure(HttpSecurity http) throws Exception { - http.csrf().disable() - .authorizeRequests() - .antMatchers("/v1/assemblies/**", "/v1/chromosomes/**", "/v1/search/**").permitAll() - .antMatchers("/info", "/health").permitAll() - .antMatchers("/swagger-ui/**", "/v3/api-docs/**", "/swagger-ui.html").permitAll() - .antMatchers("/v1/admin/**").hasRole(ROLE_ADMIN) - .anyRequest().denyAll() - .and().httpBasic().realmName(REALM) - .authenticationEntryPoint(customBasicAuthenticationEntryPoint) - .and().sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS); + @Bean + public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { + http.csrf(AbstractHttpConfigurer::disable) + .authorizeHttpRequests(auth -> auth + .requestMatchers("/v1/assemblies/**", "/v1/chromosomes/**", "/v1/search/**").permitAll() + .requestMatchers("/info", "/health").permitAll() + .requestMatchers("/swagger-ui/**", "/v3/api-docs/**", "/swagger-ui.html").permitAll() + .requestMatchers("/v1/admin/**").hasRole(ROLE_ADMIN) + .anyRequest().denyAll() + ).httpBasic(basic -> basic.realmName(REALM) + .authenticationEntryPoint(customBasicAuthenticationEntryPoint) + ).sessionManagement(session -> session + .sessionCreationPolicy(SessionCreationPolicy.STATELESS) + ); + + return http.build(); } } diff --git a/src/main/java/uk/ac/ebi/eva/contigalias/controller/swagger/SwaggerInterceptAdapter.java b/src/main/java/uk/ac/ebi/eva/contigalias/controller/swagger/SwaggerInterceptAdapter.java index 735a727f..94ceb0fd 100644 --- a/src/main/java/uk/ac/ebi/eva/contigalias/controller/swagger/SwaggerInterceptAdapter.java +++ b/src/main/java/uk/ac/ebi/eva/contigalias/controller/swagger/SwaggerInterceptAdapter.java @@ -16,15 +16,14 @@ package uk.ac.ebi.eva.contigalias.controller.swagger; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; -import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import org.springframework.web.servlet.HandlerInterceptor; @Component -public class SwaggerInterceptAdapter extends HandlerInterceptorAdapter { +public class SwaggerInterceptAdapter implements HandlerInterceptor { @Value("${server.servlet.context-path:/}") private String contextPath; @@ -40,6 +39,6 @@ public boolean preHandle(HttpServletRequest request, HttpServletResponse respons return false; } - return super.preHandle(request, response, handler); + return true; } } diff --git a/src/main/java/uk/ac/ebi/eva/contigalias/dus/PassiveAnonymousFTPClient.java b/src/main/java/uk/ac/ebi/eva/contigalias/dus/PassiveAnonymousFTPClient.java index 4ddaadd4..5713a199 100644 --- a/src/main/java/uk/ac/ebi/eva/contigalias/dus/PassiveAnonymousFTPClient.java +++ b/src/main/java/uk/ac/ebi/eva/contigalias/dus/PassiveAnonymousFTPClient.java @@ -21,8 +21,6 @@ import org.apache.commons.net.ftp.FTPReply; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.retry.annotation.Backoff; -import org.springframework.retry.annotation.Retryable; import uk.ac.ebi.eva.contigalias.exception.DownloadFailedException; import java.io.FileOutputStream; diff --git a/src/main/java/uk/ac/ebi/eva/contigalias/entities/AssemblyEntity.java b/src/main/java/uk/ac/ebi/eva/contigalias/entities/AssemblyEntity.java index 8c8a850b..2c68d01f 100644 --- a/src/main/java/uk/ac/ebi/eva/contigalias/entities/AssemblyEntity.java +++ b/src/main/java/uk/ac/ebi/eva/contigalias/entities/AssemblyEntity.java @@ -18,17 +18,17 @@ import com.fasterxml.jackson.annotation.JsonInclude; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; import org.hibernate.annotations.LazyCollection; import org.hibernate.annotations.LazyCollectionOption; import org.springframework.hateoas.server.core.Relation; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.OneToMany; -import javax.persistence.Table; import java.util.List; @Relation(collectionRelation = "assemblyEntities", itemRelation = "assemblyEntity") diff --git a/src/main/java/uk/ac/ebi/eva/contigalias/entities/ChromosomeEntity.java b/src/main/java/uk/ac/ebi/eva/contigalias/entities/ChromosomeEntity.java index 063c28a7..a96a39a0 100644 --- a/src/main/java/uk/ac/ebi/eva/contigalias/entities/ChromosomeEntity.java +++ b/src/main/java/uk/ac/ebi/eva/contigalias/entities/ChromosomeEntity.java @@ -16,11 +16,11 @@ package uk.ac.ebi.eva.contigalias.entities; +import jakarta.persistence.Entity; +import jakarta.persistence.IdClass; +import jakarta.persistence.Table; import org.springframework.hateoas.server.core.Relation; -import javax.persistence.Entity; -import javax.persistence.IdClass; -import javax.persistence.Table; import java.io.Serializable; diff --git a/src/main/java/uk/ac/ebi/eva/contigalias/entities/SequenceEntity.java b/src/main/java/uk/ac/ebi/eva/contigalias/entities/SequenceEntity.java index e09d995c..01070feb 100644 --- a/src/main/java/uk/ac/ebi/eva/contigalias/entities/SequenceEntity.java +++ b/src/main/java/uk/ac/ebi/eva/contigalias/entities/SequenceEntity.java @@ -19,13 +19,13 @@ import com.fasterxml.jackson.annotation.JsonInclude; import io.swagger.v3.oas.annotations.media.Schema; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.EnumType; -import javax.persistence.Enumerated; -import javax.persistence.Id; -import javax.persistence.ManyToOne; -import javax.persistence.MappedSuperclass; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.EnumType; +import jakarta.persistence.Enumerated; +import jakarta.persistence.Id; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.MappedSuperclass; @MappedSuperclass public class SequenceEntity { diff --git a/src/main/java/uk/ac/ebi/eva/contigalias/repo/AssemblyRepository.java b/src/main/java/uk/ac/ebi/eva/contigalias/repo/AssemblyRepository.java index 62881539..5591c97e 100644 --- a/src/main/java/uk/ac/ebi/eva/contigalias/repo/AssemblyRepository.java +++ b/src/main/java/uk/ac/ebi/eva/contigalias/repo/AssemblyRepository.java @@ -16,6 +16,7 @@ package uk.ac.ebi.eva.contigalias.repo; +import jakarta.transaction.Transactional; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; @@ -24,10 +25,8 @@ import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; - import uk.ac.ebi.eva.contigalias.entities.AssemblyEntity; -import javax.transaction.Transactional; import java.util.Optional; @Repository diff --git a/src/main/java/uk/ac/ebi/eva/contigalias/repo/ChromosomeRepository.java b/src/main/java/uk/ac/ebi/eva/contigalias/repo/ChromosomeRepository.java index 125fcddc..51de2874 100644 --- a/src/main/java/uk/ac/ebi/eva/contigalias/repo/ChromosomeRepository.java +++ b/src/main/java/uk/ac/ebi/eva/contigalias/repo/ChromosomeRepository.java @@ -16,6 +16,7 @@ package uk.ac.ebi.eva.contigalias.repo; +import jakarta.transaction.Transactional; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; @@ -24,11 +25,9 @@ import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; - import uk.ac.ebi.eva.contigalias.entities.AssemblyEntity; import uk.ac.ebi.eva.contigalias.entities.ChromosomeEntity; -import javax.transaction.Transactional; import java.util.List; @Repository diff --git a/src/main/java/uk/ac/ebi/eva/contigalias/service/AssemblyService.java b/src/main/java/uk/ac/ebi/eva/contigalias/service/AssemblyService.java index a49dcb8f..fe8426cc 100644 --- a/src/main/java/uk/ac/ebi/eva/contigalias/service/AssemblyService.java +++ b/src/main/java/uk/ac/ebi/eva/contigalias/service/AssemblyService.java @@ -16,6 +16,7 @@ package uk.ac.ebi.eva.contigalias.service; +import jakarta.transaction.Transactional; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -37,7 +38,6 @@ import uk.ac.ebi.eva.contigalias.scheduler.job.Job; import uk.ac.ebi.eva.contigalias.scheduler.job.JobType; -import javax.transaction.Transactional; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; diff --git a/src/main/java/uk/ac/ebi/eva/contigalias/service/ChromosomeService.java b/src/main/java/uk/ac/ebi/eva/contigalias/service/ChromosomeService.java index f3294f63..8a1653cc 100644 --- a/src/main/java/uk/ac/ebi/eva/contigalias/service/ChromosomeService.java +++ b/src/main/java/uk/ac/ebi/eva/contigalias/service/ChromosomeService.java @@ -16,6 +16,7 @@ package uk.ac.ebi.eva.contigalias.service; +import jakarta.transaction.Transactional; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; @@ -27,7 +28,6 @@ import uk.ac.ebi.eva.contigalias.entities.ChromosomeEntity; import uk.ac.ebi.eva.contigalias.repo.ChromosomeRepository; -import javax.transaction.Transactional; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.LinkedList; diff --git a/src/test/java/uk/ac/ebi/eva/contigalias/controller/contigalias/ContigAliasControllerIntegrationTest.java b/src/test/java/uk/ac/ebi/eva/contigalias/controller/contigalias/ContigAliasControllerIntegrationTest.java index a54e8fa0..2489179e 100644 --- a/src/test/java/uk/ac/ebi/eva/contigalias/controller/contigalias/ContigAliasControllerIntegrationTest.java +++ b/src/test/java/uk/ac/ebi/eva/contigalias/controller/contigalias/ContigAliasControllerIntegrationTest.java @@ -28,13 +28,12 @@ import org.springframework.hateoas.PagedModel; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.ResultActions; - import uk.ac.ebi.eva.contigalias.entities.AssemblyEntity; import uk.ac.ebi.eva.contigalias.entities.ChromosomeEntity; import uk.ac.ebi.eva.contigalias.entities.SequenceEntity; import uk.ac.ebi.eva.contigalias.entitygenerator.AssemblyGenerator; import uk.ac.ebi.eva.contigalias.entitygenerator.ChromosomeGenerator; -import uk.ac.ebi.eva.contigalias.test.TestConfiguration; +import uk.ac.ebi.eva.contigalias.test.ContigAliasTestConfiguration; import java.util.Collections; @@ -60,7 +59,7 @@ * See https://github.com/json-path/JsonPath for the jsonPath syntax. */ @WebMvcTest(ContigAliasController.class) -@Import(TestConfiguration.class) +@Import(ContigAliasTestConfiguration.class) public class ContigAliasControllerIntegrationTest { private final AssemblyEntity assemblyEntity = AssemblyGenerator.generate(); @@ -79,13 +78,13 @@ void setup() { PagedModel> assemblyPagedModel = PagedModel.of( Collections.singletonList(EntityModel.of(assemblyEntity)), (PagedModel.PageMetadata) null); Mockito.when(assemblyAssembler.toModel(any())) - .thenReturn(assemblyPagedModel); + .thenReturn(assemblyPagedModel); PagedResourcesAssembler chromosomeAssembler = mock(PagedResourcesAssembler.class); PagedModel> chromosomePagedModel = PagedModel.of( Collections.singletonList(EntityModel.of(chromosomeEntity)), (PagedModel.PageMetadata) null); Mockito.when(chromosomeAssembler.toModel(any())) - .thenReturn(chromosomePagedModel); + .thenReturn(chromosomePagedModel); when(mockHandler.getAssemblyByAccession(assemblyEntity.getInsdcAccession())) .thenReturn(assemblyPagedModel); @@ -151,15 +150,15 @@ void assertChromosomePagedModelResponseValid(ResultActions actions) throws Excep void assertPagedModelResponseValid(ResultActions actions, String path) throws Exception { actions.andExpect(status().isOk()) - .andExpect(jsonPath(path).exists()) - .andExpect(jsonPath(path + ".id").doesNotExist()); + .andExpect(jsonPath(path).exists()) + .andExpect(jsonPath(path + ".id").doesNotExist()); } @Test void getAssemblyByAccession() throws Exception { ResultActions resultActions = mockMvc.perform( get("/v1/assemblies/{accession}", assemblyEntity.getInsdcAccession(), DEFAULT_PAGE_NUMBER, - DEFAULT_PAGE_SIZE)); + DEFAULT_PAGE_SIZE)); assertAssemblyPagedModelResponseValid(resultActions); } @@ -195,7 +194,7 @@ void getChromosomeByRefseq() throws Exception { void getSequencesByChromosomeNameAndAssemblyTaxid() throws Exception { ResultActions resultActions = mockMvc.perform( get("/v1/chromosomes/name/{name}", - chromosomeEntity.getGenbankSequenceName()).param("taxid", assemblyEntity.getTaxid().toString())); + chromosomeEntity.getGenbankSequenceName()).param("taxid", assemblyEntity.getTaxid().toString())); assertChromosomePagedModelResponseValid(resultActions); } @@ -203,7 +202,7 @@ void getSequencesByChromosomeNameAndAssemblyTaxid() throws Exception { void getSequencesByChromosomeNameAndAssemblyAccession() throws Exception { ResultActions resultActions = mockMvc.perform( get("/v1/chromosomes/name/{name}", - chromosomeEntity.getGenbankSequenceName()).param("accession", assemblyEntity.getInsdcAccession())); + chromosomeEntity.getGenbankSequenceName()).param("accession", assemblyEntity.getInsdcAccession())); assertChromosomePagedModelResponseValid(resultActions); } @@ -211,7 +210,7 @@ void getSequencesByChromosomeNameAndAssemblyAccession() throws Exception { void getSequencesByChromosomeUcscNameAndAssemblyTaxid() throws Exception { ResultActions resultActions = mockMvc.perform( get("/v1/chromosomes/name/{name}", - chromosomeEntity.getUcscName()) + chromosomeEntity.getUcscName()) .param("taxid", assemblyEntity.getTaxid().toString()) .param("name", NAME_UCSC_TYPE)); assertChromosomePagedModelResponseValid(resultActions); @@ -221,7 +220,7 @@ void getSequencesByChromosomeUcscNameAndAssemblyTaxid() throws Exception { void getSequencesByChromosomeUcscNameAndAssemblyAccession() throws Exception { ResultActions resultActions = mockMvc.perform( get("/v1/chromosomes/name/{name}", - chromosomeEntity.getUcscName()) + chromosomeEntity.getUcscName()) .param("accession", assemblyEntity.getInsdcAccession()) .param("name", NAME_UCSC_TYPE)); assertChromosomePagedModelResponseValid(resultActions); @@ -231,7 +230,7 @@ void getSequencesByChromosomeUcscNameAndAssemblyAccession() throws Exception { void getSequencesByChromosomeEnaNameAndAssemblyTaxid() throws Exception { ResultActions resultActions = mockMvc.perform( get("/v1/chromosomes/name/{name}", - chromosomeEntity.getEnaSequenceName()) + chromosomeEntity.getEnaSequenceName()) .param("taxid", assemblyEntity.getTaxid().toString()) .param("name", NAME_ENA_TYPE)); assertChromosomePagedModelResponseValid(resultActions); @@ -241,7 +240,7 @@ void getSequencesByChromosomeEnaNameAndAssemblyTaxid() throws Exception { void getSequencesByChromosomeEnaNameAndAssemblyAccession() throws Exception { ResultActions resultActions = mockMvc.perform( get("/v1/chromosomes/name/{name}", - chromosomeEntity.getEnaSequenceName()) + chromosomeEntity.getEnaSequenceName()) .param("accession", assemblyEntity.getInsdcAccession()) .param("name", NAME_ENA_TYPE)); assertChromosomePagedModelResponseValid(resultActions); diff --git a/src/test/java/uk/ac/ebi/eva/contigalias/integration/ContigAliasIntegrationTest.java b/src/test/java/uk/ac/ebi/eva/contigalias/integration/ContigAliasIntegrationTest.java index 6c484727..ef053fa4 100644 --- a/src/test/java/uk/ac/ebi/eva/contigalias/integration/ContigAliasIntegrationTest.java +++ b/src/test/java/uk/ac/ebi/eva/contigalias/integration/ContigAliasIntegrationTest.java @@ -28,7 +28,7 @@ import java.util.List; import java.util.Random; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; diff --git a/src/test/java/uk/ac/ebi/eva/contigalias/service/ChromosomeServiceIntegrationTest.java b/src/test/java/uk/ac/ebi/eva/contigalias/service/ChromosomeServiceIntegrationTest.java index 30672c18..0ef67fba 100644 --- a/src/test/java/uk/ac/ebi/eva/contigalias/service/ChromosomeServiceIntegrationTest.java +++ b/src/test/java/uk/ac/ebi/eva/contigalias/service/ChromosomeServiceIntegrationTest.java @@ -32,9 +32,7 @@ import uk.ac.ebi.eva.contigalias.repo.ChromosomeRepository; import java.util.Collections; -import java.util.Comparator; import java.util.List; -import java.util.stream.Collectors; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; diff --git a/src/test/java/uk/ac/ebi/eva/contigalias/test/TestConfiguration.java b/src/test/java/uk/ac/ebi/eva/contigalias/test/ContigAliasTestConfiguration.java similarity index 56% rename from src/test/java/uk/ac/ebi/eva/contigalias/test/TestConfiguration.java rename to src/test/java/uk/ac/ebi/eva/contigalias/test/ContigAliasTestConfiguration.java index 8df8a356..149d6780 100644 --- a/src/test/java/uk/ac/ebi/eva/contigalias/test/TestConfiguration.java +++ b/src/test/java/uk/ac/ebi/eva/contigalias/test/ContigAliasTestConfiguration.java @@ -15,13 +15,21 @@ */ package uk.ac.ebi.eva.contigalias.test; -import org.springframework.context.annotation.Configuration; +import org.springframework.boot.test.context.TestConfiguration; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Import; - +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; +import org.springframework.security.web.SecurityFilterChain; import uk.ac.ebi.eva.contigalias.controller.authentication.CustomBasicAuthenticationEntryPoint; -@Configuration +@TestConfiguration @Import({CustomBasicAuthenticationEntryPoint.class}) -public class TestConfiguration { - +public class ContigAliasTestConfiguration { + @Bean + public SecurityFilterChain testSecurityFilterChain(HttpSecurity http) throws Exception { + http.csrf(AbstractHttpConfigurer::disable) + .authorizeHttpRequests(auth -> auth.anyRequest().permitAll()); + return http.build(); + } } From 76d6d92e85d054fd34f5947fc5acfb5cd4b95bd3 Mon Sep 17 00:00:00 2001 From: nkumar2 Date: Fri, 26 Jun 2026 10:57:02 +0100 Subject: [PATCH 2/2] Project upgrade to java-21 and spring 3.4.13 --- .github/workflows/maven.yml | 28 ---------------------------- 1 file changed, 28 deletions(-) delete mode 100644 .github/workflows/maven.yml diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml deleted file mode 100644 index d3fa4c22..00000000 --- a/.github/workflows/maven.yml +++ /dev/null @@ -1,28 +0,0 @@ -# This workflow will build a Java project with Maven -# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven - -name: Java CI with Maven - -on: - push: - branches: [ master, java21 ] - pull_request: - branches: [ master, java21 ] - -jobs: - build: - - runs-on: ubuntu-latest - permissions: - contents: read - - steps: - - uses: actions/checkout@v2 - - - name: Set up JDK 8 - uses: actions/setup-java@v1 - with: - java-version: 8 - - - name: Run tests with Maven - run: mvn -B test