diff --git a/application/src/main/java/pl/luczak/michal/joboffersapp/offer/scheduler/OfferSchedulerConfig.java b/application/src/main/java/pl/luczak/michal/joboffersapp/offer/scheduler/OfferSchedulerConfig.java index ad9d41c..d02ecaf 100644 --- a/application/src/main/java/pl/luczak/michal/joboffersapp/offer/scheduler/OfferSchedulerConfig.java +++ b/application/src/main/java/pl/luczak/michal/joboffersapp/offer/scheduler/OfferSchedulerConfig.java @@ -3,7 +3,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.scheduling.annotation.EnableScheduling; import pl.luczak.michal.joboffersapp.ports.input.offer.OfferSchedulerPort; import pl.luczak.michal.joboffersapp.ports.output.OfferService; diff --git a/application/src/test/java/pl/luczak/michal/joboffersapp/offer/scheduler/OfferSchedulerTest.java b/application/src/test/java/pl/luczak/michal/joboffersapp/offer/scheduler/OfferSchedulerTest.java index cde39eb..4063e5b 100644 --- a/application/src/test/java/pl/luczak/michal/joboffersapp/offer/scheduler/OfferSchedulerTest.java +++ b/application/src/test/java/pl/luczak/michal/joboffersapp/offer/scheduler/OfferSchedulerTest.java @@ -4,6 +4,7 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.SpyBean; import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.bean.override.mockito.MockitoSpyBean; import pl.luczak.michal.joboffersapp.ports.input.offer.OfferSchedulerPort; import java.time.Duration; @@ -20,7 +21,7 @@ @SpringBootTest(properties = "job-offers.offer.scheduler.fixed-rate=PT1S") class OfferSchedulerTest { - @SpyBean + @MockitoSpyBean private OfferSchedulerPort offerScheduler; @Test diff --git a/domain/src/main/java/pl/luczak/michal/joboffersapp/ports/input/offer/OfferControllerPort.java b/domain/src/main/java/pl/luczak/michal/joboffersapp/ports/input/offer/OfferControllerPort.java index 60e0fd6..23ac042 100644 --- a/domain/src/main/java/pl/luczak/michal/joboffersapp/ports/input/offer/OfferControllerPort.java +++ b/domain/src/main/java/pl/luczak/michal/joboffersapp/ports/input/offer/OfferControllerPort.java @@ -3,15 +3,15 @@ import java.util.UUID; /** - * @param Response - * @param Request + * @param Response + * @param Request **/ -public interface OfferControllerPort { +public interface OfferControllerPort { - RP saveOffer(RQ rq); + Response saveOffer(Request rq); - RP findAllOffers(); + Response findAllOffers(); - RP findOfferById(UUID uniqueID); + Response findOfferById(UUID uniqueID); } diff --git a/domain/src/main/java/pl/luczak/michal/joboffersapp/ports/input/user/UserControllerPort.java b/domain/src/main/java/pl/luczak/michal/joboffersapp/ports/input/user/UserControllerPort.java index 509306f..6bb230d 100644 --- a/domain/src/main/java/pl/luczak/michal/joboffersapp/ports/input/user/UserControllerPort.java +++ b/domain/src/main/java/pl/luczak/michal/joboffersapp/ports/input/user/UserControllerPort.java @@ -1,10 +1,10 @@ package pl.luczak.michal.joboffersapp.ports.input.user; /** - * @param request - * @param response + * @param request + * @param response **/ -public interface UserControllerPort { +public interface UserControllerPort { - RP register(RQ rq); + Response register(Request request); } diff --git a/domain/src/test/java/pl/luczak/michal/joboffersapp/offer/OfferFacadeTest.java b/domain/src/test/java/pl/luczak/michal/joboffersapp/offer/OfferFacadeTest.java index 9d1468f..1fa5acd 100644 --- a/domain/src/test/java/pl/luczak/michal/joboffersapp/offer/OfferFacadeTest.java +++ b/domain/src/test/java/pl/luczak/michal/joboffersapp/offer/OfferFacadeTest.java @@ -71,10 +71,10 @@ void should_successfully_find_offer_by_id() { @Test void should_unsuccessfully_find_offer_by_id_and_throw_OfferNotFoundException() { - //then + var uuid = UUID.randomUUID(); assertThrows( OfferNotFoundException.class, - () -> offerFacade.findOfferById(UUID.randomUUID()) + () -> offerFacade.findOfferById(uuid) ); } diff --git a/infrastructure/adapters/offer-rest-controller/src/main/java/pl/luczak/michal/joboffersapp/OfferSaveRequest.java b/infrastructure/adapters/offer-rest-controller/src/main/java/pl/luczak/michal/joboffersapp/OfferSaveRequest.java index a7681dd..6df45b7 100644 --- a/infrastructure/adapters/offer-rest-controller/src/main/java/pl/luczak/michal/joboffersapp/OfferSaveRequest.java +++ b/infrastructure/adapters/offer-rest-controller/src/main/java/pl/luczak/michal/joboffersapp/OfferSaveRequest.java @@ -5,14 +5,13 @@ import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Pattern; import lombok.Builder; -import org.springframework.context.annotation.PropertySource; @Builder public record OfferSaveRequest( @NotNull(message = "{not.null}") @NotBlank(message = "{not.blank}") @Pattern( - regexp = "https:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)", + regexp = "https://(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)", message = "{wrong.link.pattern}" ) @JsonProperty("offerUrl") diff --git a/infrastructure/adapters/offer-rest-controller/src/main/java/pl/luczak/michal/joboffersapp/OfferSaveRequestToOfferDTOMapper.java b/infrastructure/adapters/offer-rest-controller/src/main/java/pl/luczak/michal/joboffersapp/OfferSaveRequestToOfferDTOMapper.java index f04ed34..c7f4ea7 100644 --- a/infrastructure/adapters/offer-rest-controller/src/main/java/pl/luczak/michal/joboffersapp/OfferSaveRequestToOfferDTOMapper.java +++ b/infrastructure/adapters/offer-rest-controller/src/main/java/pl/luczak/michal/joboffersapp/OfferSaveRequestToOfferDTOMapper.java @@ -4,8 +4,6 @@ import pl.luczak.michal.joboffersapp.offer.IOfferDTOMapper; import pl.luczak.michal.joboffersapp.offer.dto.OfferDTO; -import java.util.UUID; - @Service class OfferSaveRequestToOfferDTOMapper implements IOfferDTOMapper { diff --git a/infrastructure/adapters/offer-rest-controller/src/test/java/pl/luczak/michal/joboffersapp/error/TestController.java b/infrastructure/adapters/offer-rest-controller/src/test/java/pl/luczak/michal/joboffersapp/error/TestController.java index 096cfd8..343a57e 100644 --- a/infrastructure/adapters/offer-rest-controller/src/test/java/pl/luczak/michal/joboffersapp/error/TestController.java +++ b/infrastructure/adapters/offer-rest-controller/src/test/java/pl/luczak/michal/joboffersapp/error/TestController.java @@ -2,7 +2,6 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; -import pl.luczak.michal.joboffersapp.OfferSaveRequest; import pl.luczak.michal.joboffersapp.offer.OfferAlreadyExistsException; import pl.luczak.michal.joboffersapp.offer.OfferNotFoundException; diff --git a/infrastructure/adapters/offer-rest-fetcher/src/main/java/pl/luczak/michal/joboffersapp/OfferFetcher.java b/infrastructure/adapters/offer-rest-fetcher/src/main/java/pl/luczak/michal/joboffersapp/OfferFetcher.java index 1e89c0b..c472c78 100644 --- a/infrastructure/adapters/offer-rest-fetcher/src/main/java/pl/luczak/michal/joboffersapp/OfferFetcher.java +++ b/infrastructure/adapters/offer-rest-fetcher/src/main/java/pl/luczak/michal/joboffersapp/OfferFetcher.java @@ -24,7 +24,7 @@ class OfferFetcher implements OfferFetcherPort { @Override public List fetchOffers() { log.warn("Fetching offers from external server..."); - String url = UriComponentsBuilder.fromHttpUrl(getUrlService("/offers")) + String url = UriComponentsBuilder.fromUriString(getUrlService("/offers")) .toUriString(); ResponseEntity> response = restTemplate.exchange( url, diff --git a/infrastructure/adapters/offer-rest-fetcher/src/main/java/pl/luczak/michal/joboffersapp/resttemplate/RestTemplateConfig.java b/infrastructure/adapters/offer-rest-fetcher/src/main/java/pl/luczak/michal/joboffersapp/resttemplate/RestTemplateConfig.java index 2d8e83a..0aefe03 100644 --- a/infrastructure/adapters/offer-rest-fetcher/src/main/java/pl/luczak/michal/joboffersapp/resttemplate/RestTemplateConfig.java +++ b/infrastructure/adapters/offer-rest-fetcher/src/main/java/pl/luczak/michal/joboffersapp/resttemplate/RestTemplateConfig.java @@ -22,10 +22,10 @@ RestTemplate restTemplate( ) { return new RestTemplateBuilder() .errorHandler(restTemplateResponseErrorHandler) - .setConnectTimeout( + .connectTimeout( Duration.ofMillis(restTemplateConfigProperties.connectionTimeOut()) ) - .setReadTimeout( + .readTimeout( Duration.ofMillis(restTemplateConfigProperties.readTimeOut()) ) .build(); diff --git a/infrastructure/adapters/offerDAO-mongodb/src/main/java/pl/luczak/michal/joboffersapp/offer/OfferDAOMongoAdapter.java b/infrastructure/adapters/offerDAO-mongodb/src/main/java/pl/luczak/michal/joboffersapp/offer/OfferDAOMongoAdapter.java index bd53b76..e49254a 100644 --- a/infrastructure/adapters/offerDAO-mongodb/src/main/java/pl/luczak/michal/joboffersapp/offer/OfferDAOMongoAdapter.java +++ b/infrastructure/adapters/offerDAO-mongodb/src/main/java/pl/luczak/michal/joboffersapp/offer/OfferDAOMongoAdapter.java @@ -62,9 +62,7 @@ public List findAllOffers() { @Override public List saveAllOffers(List offerDTOs) { List uniqueIDs = new LinkedList<>(); - offerDTOs.forEach(offerDTO -> { - uniqueIDs.add(saveOffer(offerDTO)); - }); + offerDTOs.forEach(offerDTO -> uniqueIDs.add(saveOffer(offerDTO))); return uniqueIDs; } diff --git a/infrastructure/adapters/offerDAO-mongodb/src/test/java/pl/luczak/michal/joboffersapp/offer/OfferDTOMapperTest.java b/infrastructure/adapters/offerDAO-mongodb/src/test/java/pl/luczak/michal/joboffersapp/offer/OfferDTOMapperTest.java index 8ed4727..c9161bf 100644 --- a/infrastructure/adapters/offerDAO-mongodb/src/test/java/pl/luczak/michal/joboffersapp/offer/OfferDTOMapperTest.java +++ b/infrastructure/adapters/offerDAO-mongodb/src/test/java/pl/luczak/michal/joboffersapp/offer/OfferDTOMapperTest.java @@ -5,10 +5,8 @@ import pl.luczak.michal.joboffersapp.offer.dto.OfferDTO; import pl.luczak.michal.joboffersapp.utils.SamplesOffersResponse; -import java.util.UUID; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.jupiter.api.Assertions.*; class OfferDTOMapperTest implements SamplesOffersResponse { @@ -31,7 +29,6 @@ void setUp() { @Test void should_map_OfferDTO_to_OfferDocument() { - // GIVEN && WHEN && THEN assertThat(offerDTOMapper.fromOfferDTO(offerDTO)) .usingRecursiveComparison() .ignoringFields("uniqueID") @@ -40,7 +37,6 @@ void should_map_OfferDTO_to_OfferDocument() { @Test void should_map_OfferDocument_to_OfferDTO() { - // GIVEN && WHEN && THEN assertThat(offerDTOMapper.apply(offerDocument)) .usingRecursiveComparison() .ignoringFields("uniqueID") diff --git a/infrastructure/adapters/user-rest-controller/src/test/java/pl/luczak/michal/joboffersapp/error/UserRestControllerErrorHandlerTest.java b/infrastructure/adapters/user-rest-controller/src/test/java/pl/luczak/michal/joboffersapp/error/UserRestControllerErrorHandlerTest.java index 1ddf52c..553953a 100644 --- a/infrastructure/adapters/user-rest-controller/src/test/java/pl/luczak/michal/joboffersapp/error/UserRestControllerErrorHandlerTest.java +++ b/infrastructure/adapters/user-rest-controller/src/test/java/pl/luczak/michal/joboffersapp/error/UserRestControllerErrorHandlerTest.java @@ -12,7 +12,6 @@ import org.springframework.test.web.servlet.setup.MockMvcBuilders; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.jupiter.api.Assertions.assertAll; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; @WebMvcTest diff --git a/infrastructure/adapters/userDAO-jpa/src/test/java/pl/luczak/michal/joboffersapp/user/UserDAOAdapterTest.java b/infrastructure/adapters/userDAO-jpa/src/test/java/pl/luczak/michal/joboffersapp/user/UserDAOAdapterTest.java index 859c490..c900aa4 100644 --- a/infrastructure/adapters/userDAO-jpa/src/test/java/pl/luczak/michal/joboffersapp/user/UserDAOAdapterTest.java +++ b/infrastructure/adapters/userDAO-jpa/src/test/java/pl/luczak/michal/joboffersapp/user/UserDAOAdapterTest.java @@ -29,7 +29,7 @@ class UserDAOAdapterTest { private UserDAOAdapter userDAOAdapter; @BeforeEach - public void setUp() { + void setUp() { MockitoAnnotations.openMocks(this); } @@ -56,7 +56,7 @@ void should_successfully_save_user_and_returns_user_id() { } @Test - public void should_throw_UserIdDuplicationException() { + void should_throw_UserIdDuplicationException() { // GIVEN UserDTO userDTO = new UserDTO(1L, "username", "password"); UserEntity userEntity = new UserEntity(); @@ -77,7 +77,7 @@ public void should_throw_UserIdDuplicationException() { } @Test - public void delete_SuccessfullyDeleted_ReturnsUserId() { + void delete_SuccessfullyDeleted_ReturnsUserId() { // GIVEN UserDTO userDTO = new UserDTO(1L, "username", "password"); UserEntity userEntity = new UserEntity(); @@ -97,7 +97,7 @@ public void delete_SuccessfullyDeleted_ReturnsUserId() { } @Test - public void delete_UserNotFound_ThrowsException() { + void delete_UserNotFound_ThrowsException() { // GIVEN UserDTO userDTO = new UserDTO(1L, "username", "password"); UserEntity userEntity = new UserEntity(); @@ -112,7 +112,7 @@ public void delete_UserNotFound_ThrowsException() { } @Test - public void findByUsername_UserExists_ReturnsOptionalUserDTO() { + void findByUsername_UserExists_ReturnsOptionalUserDTO() { // GIVEN String username = "testuser"; UserEntity userEntity = new UserEntity(); @@ -135,7 +135,7 @@ public void findByUsername_UserExists_ReturnsOptionalUserDTO() { } @Test - public void findByUsername_UserNotExists_ReturnsEmptyOptional() { + void findByUsername_UserNotExists_ReturnsEmptyOptional() { // GIVEN String username = "nonexistentuser"; when(userRepository.findByUsername(username)) diff --git a/infrastructure/adapters/userDAO-jpa/src/test/java/pl/luczak/michal/joboffersapp/user/UserEntityMapperTest.java b/infrastructure/adapters/userDAO-jpa/src/test/java/pl/luczak/michal/joboffersapp/user/UserEntityMapperTest.java index 0da3614..4781e5b 100644 --- a/infrastructure/adapters/userDAO-jpa/src/test/java/pl/luczak/michal/joboffersapp/user/UserEntityMapperTest.java +++ b/infrastructure/adapters/userDAO-jpa/src/test/java/pl/luczak/michal/joboffersapp/user/UserEntityMapperTest.java @@ -5,7 +5,6 @@ import pl.luczak.michal.joboffersapp.loginandsignup.dto.UserDTO; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.jupiter.api.Assertions.*; class UserEntityMapperTest { diff --git a/infrastructure/security/authentication/src/main/java/pl/luczak/michal/joboffersapp/SecurityConfig.java b/infrastructure/security/authentication/src/main/java/pl/luczak/michal/joboffersapp/SecurityConfig.java index bb049d2..3640bba 100644 --- a/infrastructure/security/authentication/src/main/java/pl/luczak/michal/joboffersapp/SecurityConfig.java +++ b/infrastructure/security/authentication/src/main/java/pl/luczak/michal/joboffersapp/SecurityConfig.java @@ -5,15 +5,14 @@ import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.config.Customizer; import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; +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.UserDetails; 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; import org.springframework.security.web.authentication.HttpStatusEntryPoint; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; @@ -22,6 +21,8 @@ import org.springframework.web.filter.CorsFilter; import pl.luczak.michal.joboffersapp.ports.output.UserService; +import static org.springframework.security.config.Customizer.withDefaults; + @Configuration class SecurityConfig { @@ -46,40 +47,36 @@ UserDetailsService userDetailsService( } @Bean - SecurityFilterChain securityFilterChain( - HttpSecurity httpSecurity, - JWTAuthTokenFilter jwtAuthTokenFilter - ) throws Exception { - httpSecurity.csrf() - .disable() - .cors() - .and() - .authorizeHttpRequests() - .requestMatchers(HttpMethod.GET, "/offers/**").permitAll() - .requestMatchers(HttpMethod.POST, "/token").permitAll() - .requestMatchers(HttpMethod.POST, "/register").permitAll() - .requestMatchers("/v2/api-docs").permitAll() - .requestMatchers("/v3/api-docs/**").permitAll() - .requestMatchers("/swagger-resources/**").permitAll() - .requestMatchers("/configuration/ui").permitAll() - .requestMatchers("/configuration/security").permitAll() - .requestMatchers("/swagger-ui/**").permitAll() - .requestMatchers("/webjars/**").permitAll() - .requestMatchers("/swagger-ui.html").permitAll() - .anyRequest() - .authenticated() - .and() - .headers().frameOptions().disable() - .and() - .httpBasic().disable() - .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS) - .and() - .exceptionHandling().authenticationEntryPoint(new HttpStatusEntryPoint(HttpStatus.UNAUTHORIZED)) - .and() + public SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity, JWTAuthTokenFilter jwtAuthTokenFilter) throws Exception { + httpSecurity + .csrf(AbstractHttpConfigurer::disable) + .cors(withDefaults()) + .authorizeHttpRequests(authz -> authz + .requestMatchers(HttpMethod.GET, "/offers/**").permitAll() + .requestMatchers(HttpMethod.POST, "/token").permitAll() + .requestMatchers(HttpMethod.POST, "/register").permitAll() + .requestMatchers("/v2/api-docs").permitAll() + .requestMatchers("/v3/api-docs/**").permitAll() + .requestMatchers("/swagger-resources/**").permitAll() + .requestMatchers("/configuration/ui").permitAll() + .requestMatchers("/configuration/security").permitAll() + .requestMatchers("/swagger-ui/**").permitAll() + .requestMatchers("/webjars/**").permitAll() + .requestMatchers("/swagger-ui.html").permitAll() + .anyRequest().authenticated() + ) + .headers(headers -> headers.frameOptions(Customizer.withDefaults()).disable()) + .httpBasic(withDefaults()) + .sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) + .exceptionHandling(exceptionHandling -> + exceptionHandling.authenticationEntryPoint(new HttpStatusEntryPoint(HttpStatus.UNAUTHORIZED)) + ) .addFilterBefore(jwtAuthTokenFilter, UsernamePasswordAuthenticationFilter.class); + return httpSecurity.build(); } + @Bean CorsFilter corsFilter() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); diff --git a/infrastructure/security/authentication/src/test/java/pl/luczak/michal/joboffersapp/TokenRestControllerTest.java b/infrastructure/security/authentication/src/test/java/pl/luczak/michal/joboffersapp/TokenRestControllerTest.java index 6485ab7..b2340ac 100644 --- a/infrastructure/security/authentication/src/test/java/pl/luczak/michal/joboffersapp/TokenRestControllerTest.java +++ b/infrastructure/security/authentication/src/test/java/pl/luczak/michal/joboffersapp/TokenRestControllerTest.java @@ -6,7 +6,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.web.servlet.MockMvc; diff --git a/infrastructure/security/authentication/src/test/java/pl/luczak/michal/joboffersapp/error/TokenControllerErrorHandlerTest.java b/infrastructure/security/authentication/src/test/java/pl/luczak/michal/joboffersapp/error/TokenControllerErrorHandlerTest.java index 2fafd16..407e1ba 100644 --- a/infrastructure/security/authentication/src/test/java/pl/luczak/michal/joboffersapp/error/TokenControllerErrorHandlerTest.java +++ b/infrastructure/security/authentication/src/test/java/pl/luczak/michal/joboffersapp/error/TokenControllerErrorHandlerTest.java @@ -5,7 +5,6 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.web.servlet.MockMvc; diff --git a/integration/src/test/java/pl/luczak/michal/joboffersapp/happypath/TypicalScenarioTest.java b/integration/src/test/java/pl/luczak/michal/joboffersapp/happypath/TypicalScenarioTest.java index 8428a7b..86e0fd1 100644 --- a/integration/src/test/java/pl/luczak/michal/joboffersapp/happypath/TypicalScenarioTest.java +++ b/integration/src/test/java/pl/luczak/michal/joboffersapp/happypath/TypicalScenarioTest.java @@ -214,7 +214,6 @@ void typical_scenario() throws Exception { assertThat(firstFoundOfferDTO).isEqualTo(firstOffer); //step 12: there are 2 new offers in external HTTP server - // GIVEN && WHEN && THEN wireMockServer.stubFor(WireMock.get("/offers") .willReturn(WireMock.aResponse() .withStatus(HttpStatus.OK.value()) @@ -230,7 +229,6 @@ void typical_scenario() throws Exception { // THEN assertThat(offerListWith2NewOffers).hasSize(2); - //step 14: user made GET /offers and system returned OK(200) with 4 offers with ids: ${firstOfferUUID}, ${secondOfferUUID}, ${thirdOfferUUID} and ${fourthOfferUUID} // GIVEN && WHEN ResultActions getWithFourOffers = mockMvc.perform(get("/offers")); String getWithFourOffersResponse = getWithFourOffers.andExpect(status().isOk())