From 0734f6ff10b3a6fb53c5903aa966ff18fffd23ed Mon Sep 17 00:00:00 2001 From: atusa17 Date: Sun, 24 Feb 2019 20:31:24 -0700 Subject: [PATCH] PAN-48 Added dependency on utilities to the persistence project --- pandamonium-theorem-prover/build.gradle | 7 ++ .../persistence/AccountsIntegrationTest.java | 24 +++---- .../controller/AccountController.java | 32 ++++----- .../dto/{AccountsDto.java => AccountDto.java} | 2 +- .../repository/AccountsRepository.java | 4 +- .../controller/AccountControllerTest.java | 70 +++++++++---------- 6 files changed, 73 insertions(+), 66 deletions(-) rename pandamonium-theorem-prover/persistence/src/main/java/edu/msudenver/tsp/persistence/dto/{AccountsDto.java => AccountDto.java} (94%) diff --git a/pandamonium-theorem-prover/build.gradle b/pandamonium-theorem-prover/build.gradle index a89060e..6d49c57 100644 --- a/pandamonium-theorem-prover/build.gradle +++ b/pandamonium-theorem-prover/build.gradle @@ -45,6 +45,7 @@ allprojects { } subprojects { + apply plugin: 'java' repositories { mavenCentral() } @@ -108,6 +109,12 @@ dependencies { apt 'org.projectlombok:lombok:1.18.4' } +project(':persistence') { + dependencies { + compile project(':utilities') + } +} + test { if (System.properties['test.profile'] != 'integrationTest') { exclude '**/*integrationTest*' diff --git a/pandamonium-theorem-prover/persistence/src/integrationTest/java/edu/msudenver/tsp/persistence/AccountsIntegrationTest.java b/pandamonium-theorem-prover/persistence/src/integrationTest/java/edu/msudenver/tsp/persistence/AccountsIntegrationTest.java index fd88915..b30a252 100644 --- a/pandamonium-theorem-prover/persistence/src/integrationTest/java/edu/msudenver/tsp/persistence/AccountsIntegrationTest.java +++ b/pandamonium-theorem-prover/persistence/src/integrationTest/java/edu/msudenver/tsp/persistence/AccountsIntegrationTest.java @@ -1,6 +1,6 @@ package edu.msudenver.tsp.persistence; -import edu.msudenver.tsp.persistence.dto.AccountsDto; +import edu.msudenver.tsp.persistence.dto.AccountDto; import edu.msudenver.tsp.persistence.repository.AccountsRepository; import org.junit.Test; import org.junit.runner.RunWith; @@ -19,8 +19,8 @@ public class AccountsIntegrationTest { @Test public void testCRUDFunctionality() { - final AccountsDto accountsDto = createAccount(); - final AccountsDto savedAccount = accountsRepository.save(accountsDto); + final AccountDto accountDto = createAccount(); + final AccountDto savedAccount = accountsRepository.save(accountDto); assertNotNull(savedAccount); assertEquals(Integer.valueOf(0), savedAccount.getVersion()); @@ -33,25 +33,25 @@ public class AccountsIntegrationTest { savedAccount.setPassword("Test Update"); - final AccountsDto updatedAccount = accountsRepository.save(savedAccount); + final AccountDto updatedAccount = accountsRepository.save(savedAccount); assertEquals("Test username", savedAccount.getUsername()); assertEquals("Test Update", savedAccount.getPassword()); assertTrue(savedAccount.isAdministratorStatus()); assertEquals(updatedAccount.getId(), id); - accountsRepository.delete(accountsDto); - final Optional deletedAccount = accountsRepository.findById(id); + accountsRepository.delete(accountDto); + final Optional deletedAccount = accountsRepository.findById(id); assertFalse(deletedAccount.isPresent()); } - private AccountsDto createAccount() { - final AccountsDto accountsDto = new AccountsDto(); - accountsDto.setUsername("Test username"); - accountsDto.setPassword("test password"); - accountsDto.setAdministratorStatus(true); + private AccountDto createAccount() { + final AccountDto accountDto = new AccountDto(); + accountDto.setUsername("Test username"); + accountDto.setPassword("test password"); + accountDto.setAdministratorStatus(true); - return accountsDto; + return accountDto; } } diff --git a/pandamonium-theorem-prover/persistence/src/main/java/edu/msudenver/tsp/persistence/controller/AccountController.java b/pandamonium-theorem-prover/persistence/src/main/java/edu/msudenver/tsp/persistence/controller/AccountController.java index 25b1fe7..25f5368 100644 --- a/pandamonium-theorem-prover/persistence/src/main/java/edu/msudenver/tsp/persistence/controller/AccountController.java +++ b/pandamonium-theorem-prover/persistence/src/main/java/edu/msudenver/tsp/persistence/controller/AccountController.java @@ -1,6 +1,6 @@ package edu.msudenver.tsp.persistence.controller; -import edu.msudenver.tsp.persistence.dto.AccountsDto; +import edu.msudenver.tsp.persistence.dto.AccountDto; import edu.msudenver.tsp.persistence.repository.AccountsRepository; import edu.msudenver.tsp.utilities.PersistenceUtilities; import lombok.AllArgsConstructor; @@ -26,7 +26,7 @@ public class AccountController { @GetMapping("/") public @ResponseBody - ResponseEntity> getListOfAccounts() { + ResponseEntity> getListOfAccounts() { LOG.info("Received request to list all accounts"); LOG.debug("Querying for list of accounts"); @@ -34,7 +34,7 @@ public class AccountController { final StopWatch stopWatch = new StopWatch(); stopWatch.start(); - final List listOfAccounts = (List) accountsRepository.findAll(); + final List listOfAccounts = (List) accountsRepository.findAll(); stopWatch.stop(); @@ -46,7 +46,7 @@ public class AccountController { @GetMapping("/{id}") public @ResponseBody - ResponseEntity getAccountById(@PathVariable("id") final Integer id) { + ResponseEntity getAccountById(@PathVariable("id") final Integer id) { LOG.info("Received request to query for account with id " + id); if (id == null) { LOG.error("ERROR: ID was null"); @@ -57,7 +57,7 @@ public class AccountController { final StopWatch stopWatch = new StopWatch(); stopWatch.start(); - final Optional account = accountsRepository.findById(id); + final Optional account = accountsRepository.findById(id); stopWatch.stop(); @@ -74,9 +74,9 @@ public class AccountController { } @PostMapping("/") - @Validated({AccountsDto.Insert.class, Default.class}) - public @ResponseBody ResponseEntity insertAccount( - @Valid @RequestBody final AccountsDto accountsDto, final BindingResult bindingResult) { + @Validated({AccountDto.Insert.class, Default.class}) + public @ResponseBody ResponseEntity insertAccount( + @Valid @RequestBody final AccountDto accountDto, final BindingResult bindingResult) { LOG.info("Received request to insert a new account"); if (bindingResult.hasErrors()) { @@ -84,7 +84,7 @@ public class AccountController { return new ResponseEntity<>(HttpStatus.UNPROCESSABLE_ENTITY); } - if (accountsDto == null) { + if (accountDto == null) { LOG.error("Passed account is unprocessable"); return new ResponseEntity<>(HttpStatus.BAD_REQUEST); } @@ -94,7 +94,7 @@ public class AccountController { final StopWatch stopWatch = new StopWatch(); stopWatch.start(); - final AccountsDto savedAccount = accountsRepository.save(accountsDto); + final AccountDto savedAccount = accountsRepository.save(accountDto); stopWatch.stop(); @@ -104,9 +104,9 @@ public class AccountController { } @PatchMapping("/{id}") - public @ResponseBody ResponseEntity updateAccount( + public @ResponseBody ResponseEntity updateAccount( @PathVariable("id") final Integer id, - @RequestBody final AccountsDto accountsDto, final BindingResult bindingResult) { + @RequestBody final AccountDto accountDto, final BindingResult bindingResult) { LOG.info("Received request to update an account"); if (bindingResult.hasErrors()) { @@ -114,7 +114,7 @@ public class AccountController { return new ResponseEntity<>(HttpStatus.UNPROCESSABLE_ENTITY); } - if (accountsDto == null) { + if (accountDto == null) { LOG.error("Passed entity is null"); return new ResponseEntity<>(HttpStatus.BAD_REQUEST); } @@ -129,7 +129,7 @@ public class AccountController { final StopWatch stopWatch = new StopWatch(); stopWatch.start(); - final Optional existingAccount = accountsRepository.findById(id); + final Optional existingAccount = accountsRepository.findById(id); stopWatch.stop(); @@ -140,7 +140,7 @@ public class AccountController { return new ResponseEntity<>(HttpStatus.BAD_REQUEST); } - PersistenceUtilities.copyNonNullProperties(accountsDto, existingAccount.get()); + PersistenceUtilities.copyNonNullProperties(accountDto, existingAccount.get()); existingAccount.get().setVersion(existingAccount.get().getVersion()+ 1); LOG.info("Updating account with id " + id); @@ -148,7 +148,7 @@ public class AccountController { stopWatch.start(); - final AccountsDto updatedAccount = accountsRepository.save(existingAccount.get()); + final AccountDto updatedAccount = accountsRepository.save(existingAccount.get()); stopWatch.stop(); diff --git a/pandamonium-theorem-prover/persistence/src/main/java/edu/msudenver/tsp/persistence/dto/AccountsDto.java b/pandamonium-theorem-prover/persistence/src/main/java/edu/msudenver/tsp/persistence/dto/AccountDto.java similarity index 94% rename from pandamonium-theorem-prover/persistence/src/main/java/edu/msudenver/tsp/persistence/dto/AccountsDto.java rename to pandamonium-theorem-prover/persistence/src/main/java/edu/msudenver/tsp/persistence/dto/AccountDto.java index cd71505..717bc64 100644 --- a/pandamonium-theorem-prover/persistence/src/main/java/edu/msudenver/tsp/persistence/dto/AccountsDto.java +++ b/pandamonium-theorem-prover/persistence/src/main/java/edu/msudenver/tsp/persistence/dto/AccountDto.java @@ -19,7 +19,7 @@ import java.util.Date; @EntityListeners(AuditingEntityListener.class) @Data @EqualsAndHashCode(callSuper = true) -public class AccountsDto extends BaseDto implements Serializable { +public class AccountDto extends BaseDto implements Serializable { @NotBlank(groups = Insert.class, message = "A username must be specified") @Size(max = 50) private String username; @NotBlank(groups = Insert.class, message = "A password must be specified") @Size(max = 256) private String password; @NotNull @JsonProperty("administrator_status") private boolean administratorStatus; diff --git a/pandamonium-theorem-prover/persistence/src/main/java/edu/msudenver/tsp/persistence/repository/AccountsRepository.java b/pandamonium-theorem-prover/persistence/src/main/java/edu/msudenver/tsp/persistence/repository/AccountsRepository.java index b1658be..454cd77 100644 --- a/pandamonium-theorem-prover/persistence/src/main/java/edu/msudenver/tsp/persistence/repository/AccountsRepository.java +++ b/pandamonium-theorem-prover/persistence/src/main/java/edu/msudenver/tsp/persistence/repository/AccountsRepository.java @@ -1,9 +1,9 @@ package edu.msudenver.tsp.persistence.repository; -import edu.msudenver.tsp.persistence.dto.AccountsDto; +import edu.msudenver.tsp.persistence.dto.AccountDto; import org.springframework.data.repository.CrudRepository; import org.springframework.stereotype.Repository; @Repository -public interface AccountsRepository extends CrudRepository { +public interface AccountsRepository extends CrudRepository { } diff --git a/pandamonium-theorem-prover/persistence/src/test/java/edu/msudenver/tsp/persistence/controller/AccountControllerTest.java b/pandamonium-theorem-prover/persistence/src/test/java/edu/msudenver/tsp/persistence/controller/AccountControllerTest.java index 960a14c..0b88630 100644 --- a/pandamonium-theorem-prover/persistence/src/test/java/edu/msudenver/tsp/persistence/controller/AccountControllerTest.java +++ b/pandamonium-theorem-prover/persistence/src/test/java/edu/msudenver/tsp/persistence/controller/AccountControllerTest.java @@ -1,6 +1,6 @@ package edu.msudenver.tsp.persistence.controller; -import edu.msudenver.tsp.persistence.dto.AccountsDto; +import edu.msudenver.tsp.persistence.dto.AccountDto; import edu.msudenver.tsp.persistence.repository.AccountsRepository; import org.junit.Test; import org.junit.runner.RunWith; @@ -33,35 +33,35 @@ public class AccountControllerTest { @Test public void testGetAllAccounts() { - final AccountsDto accountsDto = createAccount(); - final List accountsDtoList = new ArrayList<>(); - accountsDtoList.add(accountsDto); - accountsDtoList.add(accountsDto); + final AccountDto accountDto = createAccount(); + final List accountDtoList = new ArrayList<>(); + accountDtoList.add(accountDto); + accountDtoList.add(accountDto); - when(accountsRepository.findAll()).thenReturn(accountsDtoList); + when(accountsRepository.findAll()).thenReturn(accountDtoList); - final ResponseEntity> responseEntity = accountController.getListOfAccounts(); + final ResponseEntity> responseEntity = accountController.getListOfAccounts(); assertNotNull(responseEntity); assertEquals(HttpStatus.OK, responseEntity.getStatusCode()); assertTrue(responseEntity.hasBody()); assertNotNull(responseEntity.getBody()); - responseEntity.getBody().forEach(account -> assertEquals(account, accountsDto)); + responseEntity.getBody().forEach(account -> assertEquals(account, accountDto)); } @Test public void testGetAccountById() { - final AccountsDto accountsDto = createAccount(); - when(accountsRepository.findById(anyInt())).thenReturn(Optional.ofNullable(accountsDto)); + final AccountDto accountDto = createAccount(); + when(accountsRepository.findById(anyInt())).thenReturn(Optional.ofNullable(accountDto)); - final ResponseEntity responseEntity = accountController.getAccountById(1); + final ResponseEntity responseEntity = accountController.getAccountById(1); assertNotNull(responseEntity); assertTrue(responseEntity.hasBody()); assertNotNull(responseEntity.getBody()); assertEquals(HttpStatus.OK, responseEntity.getStatusCode()); - assertEquals(accountsDto, responseEntity.getBody()); + assertEquals(accountDto, responseEntity.getBody()); verify(accountsRepository).findById(anyInt()); } @@ -89,17 +89,17 @@ public class AccountControllerTest { @Test public void testInsertAccount() { - final AccountsDto accountsDto = createAccount(); - when(accountsRepository.save(any(AccountsDto.class))).thenReturn(accountsDto); + final AccountDto accountDto = createAccount(); + when(accountsRepository.save(any(AccountDto.class))).thenReturn(accountDto); - final ResponseEntity responseEntity = accountController.insertAccount(accountsDto, bindingResult); + final ResponseEntity responseEntity = accountController.insertAccount(accountDto, bindingResult); assertNotNull(responseEntity); assertTrue(responseEntity.hasBody()); assertNotNull(responseEntity.getBody()); assertEquals(HttpStatus.CREATED, responseEntity.getStatusCode()); - assertEquals(accountsDto, responseEntity.getBody()); - verify(accountsRepository).save(any(AccountsDto.class)); + assertEquals(accountDto, responseEntity.getBody()); + verify(accountsRepository).save(any(AccountDto.class)); } @Test @@ -114,7 +114,7 @@ public class AccountControllerTest { @Test public void testInsertAccount_bindingResultHasErrors() { - final AccountsDto definitionDto = createAccount(); + final AccountDto definitionDto = createAccount(); when(bindingResult.hasErrors()).thenReturn(true); final ResponseEntity responseEntity = accountController.insertAccount(definitionDto, bindingResult); @@ -127,31 +127,31 @@ public class AccountControllerTest { @Test public void testUpdateAccount() { - final AccountsDto existingAccount = createAccount(); + final AccountDto existingAccount = createAccount(); existingAccount.setId(1); existingAccount.setVersion(1); - final AccountsDto accountUpdate = new AccountsDto(); + final AccountDto accountUpdate = new AccountDto(); accountUpdate.setUsername("Test Update"); - final AccountsDto updatedAccount = existingAccount; + final AccountDto updatedAccount = existingAccount; updatedAccount.setUsername("Test Update"); when(accountsRepository.findById(anyInt())).thenReturn(Optional.of(existingAccount)); - when(accountsRepository.save(any(AccountsDto.class))).thenReturn(updatedAccount); + when(accountsRepository.save(any(AccountDto.class))).thenReturn(updatedAccount); - final ResponseEntity responseEntity = accountController.updateAccount(1, accountUpdate, bindingResult); + final ResponseEntity responseEntity = accountController.updateAccount(1, accountUpdate, bindingResult); assertNotNull(responseEntity); assertTrue(responseEntity.hasBody()); assertEquals(HttpStatus.OK, responseEntity.getStatusCode()); assertEquals(updatedAccount, responseEntity.getBody()); verify(accountsRepository).findById(anyInt()); - verify(accountsRepository).save(any(AccountsDto.class)); + verify(accountsRepository).save(any(AccountDto.class)); } @Test public void testUpdateAccount_bindingResultHasErrors() { when(bindingResult.hasErrors()).thenReturn(true); - final ResponseEntity responseEntity = accountController.updateAccount(1, createAccount(), bindingResult); + final ResponseEntity responseEntity = accountController.updateAccount(1, createAccount(), bindingResult); assertNotNull(responseEntity); assertFalse(responseEntity.hasBody()); @@ -161,7 +161,7 @@ public class AccountControllerTest { @Test public void testUpdateAccount_accountsDtoIsNull() { - final ResponseEntity responseEntity = accountController.updateAccount(1, null, bindingResult); + final ResponseEntity responseEntity = accountController.updateAccount(1, null, bindingResult); assertNotNull(responseEntity); assertFalse(responseEntity.hasBody()); @@ -171,7 +171,7 @@ public class AccountControllerTest { @Test public void testUpdateAccount_idIsNull() { - final ResponseEntity responseEntity = accountController.updateAccount(null, createAccount(), bindingResult); + final ResponseEntity responseEntity = accountController.updateAccount(null, createAccount(), bindingResult); assertNotNull(responseEntity); assertFalse(responseEntity.hasBody()); @@ -183,12 +183,12 @@ public class AccountControllerTest { public void testUpdateAccount_accountDoesNotExist() { when(accountsRepository.findById(anyInt())).thenReturn(Optional.empty()); - final ResponseEntity responseEntity = accountController.updateAccount(1, createAccount(), bindingResult); + final ResponseEntity responseEntity = accountController.updateAccount(1, createAccount(), bindingResult); assertNotNull(responseEntity); assertFalse(responseEntity.hasBody()); assertEquals(HttpStatus.BAD_REQUEST, responseEntity.getStatusCode()); - verify(accountsRepository, times(0)).save(any(AccountsDto.class)); + verify(accountsRepository, times(0)).save(any(AccountDto.class)); } @Test @@ -213,12 +213,12 @@ public class AccountControllerTest { verifyZeroInteractions(accountsRepository); } - private AccountsDto createAccount() { - final AccountsDto accountsDto = new AccountsDto(); - accountsDto.setUsername("Test username"); - accountsDto.setPassword("test password"); - accountsDto.setAdministratorStatus(true); + private AccountDto createAccount() { + final AccountDto accountDto = new AccountDto(); + accountDto.setUsername("Test username"); + accountDto.setPassword("test password"); + accountDto.setAdministratorStatus(true); - return accountsDto; + return accountDto; } } \ No newline at end of file