From dd438ef017acec3926b7cf103928da4c03dcc306 Mon Sep 17 00:00:00 2001 From: merik Date: Sun, 16 May 2021 23:21:33 +0300 Subject: [PATCH 1/5] travis test 1 --- .travis.yml | 42 +++++++++++++++++++ .../ecommerce/service/email/MailSender.java | 2 +- src/main/resources/application.properties | 2 +- src/main/resources/graphql/schemas.graphql | 1 + .../controller/AdminControllerTest.java | 12 +++--- .../resources/application-test.properties | 2 +- 6 files changed, 52 insertions(+), 9 deletions(-) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..0894099a --- /dev/null +++ b/.travis.yml @@ -0,0 +1,42 @@ +language: + java + +jdk: + openjdk8 + +dist: + xenial + +services: + postgresql + +addons: + postgresql: '13' + apt: + packages: + - postgresql-13 + - postgresql-client-13 + +before_install: + - sudo apt-get update + - sudo apt-get --yes remove postgresql\* + - sudo apt-get install -y postgresql-13 postgresql-client-13 + - sudo cp /etc/postgresql/{9.6,13}/main/pg_hba.conf + - sudo service postgresql restart 13 + +script: + - mvn clean install + +before_script: + - psql -c 'create database perfumetest;' -U postgres -p 5433 + - psql -c 'create database perfume;' -U postgres -p 5433 + +after_success: + - bash <(curl -s https://codecov.io/bash) + +env: + global: + - PGPORT=5433 + - CODECOV_TOKEN="dfdd0733-79b6-4ba4-8076-4093fda24b15" + jobs: + - DB_PORT=5433 DB_USERNAME=postgres diff --git a/src/main/java/com/gmail/merikbest2015/ecommerce/service/email/MailSender.java b/src/main/java/com/gmail/merikbest2015/ecommerce/service/email/MailSender.java index 3e44e766..c4a54911 100644 --- a/src/main/java/com/gmail/merikbest2015/ecommerce/service/email/MailSender.java +++ b/src/main/java/com/gmail/merikbest2015/ecommerce/service/email/MailSender.java @@ -34,6 +34,6 @@ public void sendMessageHtml(String to, String subject, String template, Map Date: Sun, 16 May 2021 23:27:34 +0300 Subject: [PATCH 2/5] travis test 2 --- mvnw | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 mvnw diff --git a/mvnw b/mvnw old mode 100644 new mode 100755 From aff542f6aeb989e0f72d53cfaeaaa11708bd1fbb Mon Sep 17 00:00:00 2001 From: merik Date: Sun, 16 May 2021 23:50:47 +0300 Subject: [PATCH 3/5] travis test 3 --- .../ecommerce/controller/RegistrationController.java | 11 ++++++----- .../controller/RegistrationControllerTest.java | 11 +++++++++++ .../ecommerce/service/Impl/UserServiceImlTest.java | 2 ++ 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/gmail/merikbest2015/ecommerce/controller/RegistrationController.java b/src/main/java/com/gmail/merikbest2015/ecommerce/controller/RegistrationController.java index ade2b83d..76a97dcb 100644 --- a/src/main/java/com/gmail/merikbest2015/ecommerce/controller/RegistrationController.java +++ b/src/main/java/com/gmail/merikbest2015/ecommerce/controller/RegistrationController.java @@ -1,10 +1,8 @@ package com.gmail.merikbest2015.ecommerce.controller; +import com.gmail.merikbest2015.ecommerce.dto.CaptchaResponseDto; import com.gmail.merikbest2015.ecommerce.dto.RegistrationRequestDto; -import com.gmail.merikbest2015.ecommerce.exception.ApiRequestException; -import com.gmail.merikbest2015.ecommerce.exception.EmailException; -import com.gmail.merikbest2015.ecommerce.exception.InputFieldException; -import com.gmail.merikbest2015.ecommerce.exception.PasswordException; +import com.gmail.merikbest2015.ecommerce.exception.*; import com.gmail.merikbest2015.ecommerce.mapper.UserMapper; import com.gmail.merikbest2015.ecommerce.utils.ControllerUtils; import lombok.RequiredArgsConstructor; @@ -25,7 +23,7 @@ public class RegistrationController { @PostMapping public ResponseEntity registration(@Valid @RequestBody RegistrationRequestDto user, BindingResult bindingResult) { - controllerUtils.captchaValidation(user.getCaptcha()); + CaptchaResponseDto captchaResponseDto = controllerUtils.captchaValidation(user.getCaptcha()); if (controllerUtils.isPasswordDifferent(user.getPassword(), user.getPassword2())) { throw new PasswordException("Passwords do not match."); @@ -36,6 +34,9 @@ public ResponseEntity registration(@Valid @RequestBody RegistrationReque if (!userMapper.registerUser(user)) { throw new EmailException("Email is already used."); } + if (!captchaResponseDto.isSuccess()) { + throw new CaptchaException("Fill captcha."); + } return ResponseEntity.ok("User successfully registered."); } diff --git a/src/test/java/com/gmail/merikbest2015/ecommerce/controller/RegistrationControllerTest.java b/src/test/java/com/gmail/merikbest2015/ecommerce/controller/RegistrationControllerTest.java index 53c1777a..5b56d212 100644 --- a/src/test/java/com/gmail/merikbest2015/ecommerce/controller/RegistrationControllerTest.java +++ b/src/test/java/com/gmail/merikbest2015/ecommerce/controller/RegistrationControllerTest.java @@ -87,6 +87,17 @@ public void registration_ShouldUserEmailIsExist() throws Exception { .andExpect(jsonPath("$.emailError").value("Email is already used.")); } + @Test + public void registration_ShouldCaptchaNotFilled() throws Exception { + registrationRequestDto.setCaptcha(null); + + mockMvc.perform(post(URL_REGISTRATION_BASIC) + .content(mapper.writeValueAsString(registrationRequestDto)) + .contentType(MediaType.APPLICATION_JSON_VALUE)) + .andExpect(status().isBadRequest()) + .andExpect(jsonPath("$.captchaError").value("Fill captcha.")); + } + @Test public void registration_ShouldInputFieldsAreEmpty() throws Exception { mockMvc.perform(post(URL_REGISTRATION_BASIC) diff --git a/src/test/java/com/gmail/merikbest2015/ecommerce/service/Impl/UserServiceImlTest.java b/src/test/java/com/gmail/merikbest2015/ecommerce/service/Impl/UserServiceImlTest.java index 956d6e74..f22f2d62 100644 --- a/src/test/java/com/gmail/merikbest2015/ecommerce/service/Impl/UserServiceImlTest.java +++ b/src/test/java/com/gmail/merikbest2015/ecommerce/service/Impl/UserServiceImlTest.java @@ -147,6 +147,8 @@ public void loadUserByUsername() { assertTrue(user.isActive()); } + + @Test public void registerUser() { User user = new User(); From f0d14d6aeebc21d9b5701cb9e2f821d0e4bbfc25 Mon Sep 17 00:00:00 2001 From: merik Date: Sun, 16 May 2021 23:57:51 +0300 Subject: [PATCH 4/5] travis test 4 --- .../ecommerce/controller/UserControllerTest.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/test/java/com/gmail/merikbest2015/ecommerce/controller/UserControllerTest.java b/src/test/java/com/gmail/merikbest2015/ecommerce/controller/UserControllerTest.java index ffeb454c..3b86fb5c 100644 --- a/src/test/java/com/gmail/merikbest2015/ecommerce/controller/UserControllerTest.java +++ b/src/test/java/com/gmail/merikbest2015/ecommerce/controller/UserControllerTest.java @@ -6,6 +6,7 @@ import com.gmail.merikbest2015.ecommerce.dto.order.OrderRequestDto; import com.gmail.merikbest2015.ecommerce.dto.review.ReviewRequestDto; import com.gmail.merikbest2015.ecommerce.dto.user.UserRequestDto; +import com.gmail.merikbest2015.ecommerce.security.JwtAuthenticationException; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -66,6 +67,12 @@ public void getUserInfoByJwt() throws Exception { .andExpect(jsonPath("$.roles").value(ROLE_ADMIN)); } + @Test(expected = JwtAuthenticationException.class) + public void getUserInfoByJwtExpired() throws Exception { + mockMvc.perform(get(URL_USERS_BASIC + "/info").header("Authorization", "jwt")) + .andExpect(status().isUnauthorized()); + } + @Test @WithUserDetails(USER_EMAIL) public void getUserInfoByQuery() throws Exception { From 37a26d1306cd17515a439c2641ec6b7a2b923ec5 Mon Sep 17 00:00:00 2001 From: merik Date: Mon, 17 May 2021 00:20:34 +0300 Subject: [PATCH 5/5] travis test 5 --- .../ecommerce/service/Impl/PerfumeServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/gmail/merikbest2015/ecommerce/service/Impl/PerfumeServiceImpl.java b/src/main/java/com/gmail/merikbest2015/ecommerce/service/Impl/PerfumeServiceImpl.java index 7f69d39e..d99290e1 100644 --- a/src/main/java/com/gmail/merikbest2015/ecommerce/service/Impl/PerfumeServiceImpl.java +++ b/src/main/java/com/gmail/merikbest2015/ecommerce/service/Impl/PerfumeServiceImpl.java @@ -70,6 +70,8 @@ public List filter(List perfumers, List genders, List perfumeList = new ArrayList<>(); if (!perfumers.isEmpty() || !genders.isEmpty() || !prices.isEmpty()) { + perfumeList = perfumeRepository.findAllByOrderByIdAsc(); + if (!perfumers.isEmpty()) { if (!perfumeList.isEmpty()) { List perfumersList = new ArrayList<>();