From 54cceee1792c427d1f1be53adb768c8cd8ebfdd6 Mon Sep 17 00:00:00 2001 From: Tom Hombergs Date: Mon, 19 Aug 2019 06:33:45 +0200 Subject: [PATCH] cashpal -> buckpal --- .../adapter/persistence/AccountJpaEntity.java | 2 +- .../adapter/persistence/AccountMapper.java | 14 +-- .../AccountPersistenceAdapter.java | 14 +-- .../persistence/AccountRepository.java | 2 +- .../persistence/ActivityJpaEntity.java | 2 +- .../persistence/ActivityRepository.java | 2 +- .../AccountPersistenceAdapterTest.java | 14 +-- .../adapter/persistence/TestApplication.java | 2 +- .../AccountPersistenceAdapterTest.sql | 0 .../{cashpal-web => buckpal-web}/build.gradle | 2 +- .../build/tmp/jar/MANIFEST.MF | 0 .../buckpal/adapter/web/AccountResource.java | 4 + .../adapter/web/SendMoneyController.java | 10 +- .../adapter/web/SendMoneyControllerTest.java | 6 +- .../buckpal}/adapter/web/TestApplication.java | 2 +- .../cashpal/adapter/web/AccountResource.java | 4 - .../build.gradle | 2 +- .../port/in/GetAccountBalanceQuery.java | 10 ++ .../application/port/in/SendMoneyUseCase.java | 8 +- .../application/port/out/AccountLock.java | 4 +- .../application/port/out/LoadAccountPort.java | 11 ++ .../port/out/UpdateAccountStatePort.java | 9 ++ .../service/GetAccountBalanceService.java | 10 +- .../application/service/NoOpAccountLock.java | 6 +- .../application/service/SendMoneyService.java | 14 +-- .../reflectoring/buckpal}/domain/Account.java | 2 +- .../buckpal}/domain/Activity.java | 2 +- .../buckpal}/domain/ActivityWindow.java | 4 +- .../reflectoring/buckpal}/domain/Money.java | 2 +- .../service/SendMoneyServiceTest.java | 16 +-- .../buckpal}/domain/AccountTest.java | 8 +- .../buckpal}/domain/ActivityWindowTest.java | 6 +- .../build.gradle | 6 +- .../buckpal}/CashpalApplication.java | 2 +- .../buckpal}/CashpalApplicationTests.java | 2 +- .../buckpal}/DependencyRuleTests.java | 8 +- .../buckpal/SendMoneySystemTest.java | 104 ++++++++++++++++++ .../buckpal}/archunit/Adapters.java | 2 +- .../buckpal}/archunit/ApplicationLayer.java | 2 +- .../archunit/ArchitectureElement.java | 2 +- .../archunit/HexagonalArchitecture.java | 2 +- .../buckpal}/SendMoneySystemTest.sql | 0 .../buckpal}/testdata/AccountTestData.java | 10 +- .../buckpal}/testdata/ActivityTestData.java | 10 +- .../port/in/GetAccountBalanceQuery.java | 10 -- .../application/port/out/LoadAccountPort.java | 11 -- .../port/out/UpdateAccountStatePort.java | 9 -- .../testdata/OutputAdapter.java | 2 +- .../testdata/PersistenceAdapter.java | 2 +- .../testdata/SelfValidating.java | 2 +- .../testdata/UseCase.java | 2 +- .../testdata/WebAdapter.java | 2 +- settings.gradle | 10 +- 53 files changed, 249 insertions(+), 145 deletions(-) rename adapters/{cashpal-persistence/src/main/java/io/reflectoring/cashpal => buckpal-persistence/src/main/java/io/reflectoring/buckpal}/adapter/persistence/AccountJpaEntity.java (87%) rename adapters/{cashpal-persistence/src/main/java/io/reflectoring/cashpal => buckpal-persistence/src/main/java/io/reflectoring/buckpal}/adapter/persistence/AccountMapper.java (79%) rename adapters/{cashpal-persistence/src/main/java/io/reflectoring/cashpal => buckpal-persistence/src/main/java/io/reflectoring/buckpal}/adapter/persistence/AccountPersistenceAdapter.java (79%) rename adapters/{cashpal-persistence/src/main/java/io/reflectoring/cashpal => buckpal-persistence/src/main/java/io/reflectoring/buckpal}/adapter/persistence/AccountRepository.java (72%) rename adapters/{cashpal-persistence/src/main/java/io/reflectoring/cashpal => buckpal-persistence/src/main/java/io/reflectoring/buckpal}/adapter/persistence/ActivityJpaEntity.java (92%) rename adapters/{cashpal-persistence/src/main/java/io/reflectoring/cashpal => buckpal-persistence/src/main/java/io/reflectoring/buckpal}/adapter/persistence/ActivityRepository.java (95%) rename adapters/{cashpal-persistence/src/test/java/io/reflectoring/cashpal => buckpal-persistence/src/test/java/io/reflectoring/buckpal}/adapter/persistence/AccountPersistenceAdapterTest.java (78%) rename adapters/{cashpal-persistence/src/test/java/io/reflectoring/cashpal => buckpal-persistence/src/test/java/io/reflectoring/buckpal}/adapter/persistence/TestApplication.java (83%) rename adapters/{cashpal-persistence/src/test/resources/io/reflectoring/cashpal => buckpal-persistence/src/test/resources/io/reflectoring/buckpal}/adapter/persistence/AccountPersistenceAdapterTest.sql (100%) rename adapters/{cashpal-web => buckpal-web}/build.gradle (93%) rename adapters/{cashpal-web => buckpal-web}/build/tmp/jar/MANIFEST.MF (100%) create mode 100644 adapters/buckpal-web/src/main/java/io/reflectoring/buckpal/adapter/web/AccountResource.java rename adapters/{cashpal-web/src/main/java/io/reflectoring/cashpal => buckpal-web/src/main/java/io/reflectoring/buckpal}/adapter/web/SendMoneyController.java (75%) rename adapters/{cashpal-web/src/test/java/io/reflectoring/cashpal => buckpal-web/src/test/java/io/reflectoring/buckpal}/adapter/web/SendMoneyControllerTest.java (85%) rename adapters/{cashpal-web/src/test/java/io/reflectoring/cashpal => buckpal-web/src/test/java/io/reflectoring/buckpal}/adapter/web/TestApplication.java (73%) delete mode 100644 adapters/cashpal-web/src/main/java/io/reflectoring/cashpal/adapter/web/AccountResource.java rename {cashpal-application => buckpal-application}/build.gradle (94%) create mode 100644 buckpal-application/src/main/java/io/reflectoring/buckpal/application/port/in/GetAccountBalanceQuery.java rename {cashpal-application/src/main/java/io/reflectoring/cashpal => buckpal-application/src/main/java/io/reflectoring/buckpal}/application/port/in/SendMoneyUseCase.java (78%) rename {cashpal-application/src/main/java/io/reflectoring/cashpal => buckpal-application/src/main/java/io/reflectoring/buckpal}/application/port/out/AccountLock.java (57%) create mode 100644 buckpal-application/src/main/java/io/reflectoring/buckpal/application/port/out/LoadAccountPort.java create mode 100644 buckpal-application/src/main/java/io/reflectoring/buckpal/application/port/out/UpdateAccountStatePort.java rename {cashpal-application/src/main/java/io/reflectoring/cashpal => buckpal-application/src/main/java/io/reflectoring/buckpal}/application/service/GetAccountBalanceService.java (58%) rename {cashpal-application/src/main/java/io/reflectoring/cashpal => buckpal-application/src/main/java/io/reflectoring/buckpal}/application/service/NoOpAccountLock.java (61%) rename {cashpal-application/src/main/java/io/reflectoring/cashpal => buckpal-application/src/main/java/io/reflectoring/buckpal}/application/service/SendMoneyService.java (78%) rename {cashpal-application/src/main/java/io/reflectoring/cashpal => buckpal-application/src/main/java/io/reflectoring/buckpal}/domain/Account.java (98%) rename {cashpal-application/src/main/java/io/reflectoring/cashpal => buckpal-application/src/main/java/io/reflectoring/buckpal}/domain/Activity.java (97%) rename {cashpal-application/src/main/java/io/reflectoring/cashpal => buckpal-application/src/main/java/io/reflectoring/buckpal}/domain/ActivityWindow.java (95%) rename {cashpal-application/src/main/java/io/reflectoring/cashpal => buckpal-application/src/main/java/io/reflectoring/buckpal}/domain/Money.java (96%) rename {cashpal-application/src/test/java/io/reflectoring/cashpal => buckpal-application/src/test/java/io/reflectoring/buckpal}/application/service/SendMoneyServiceTest.java (89%) rename {cashpal-application/src/test/java/io/reflectoring/cashpal => buckpal-application/src/test/java/io/reflectoring/buckpal}/domain/AccountTest.java (92%) rename {cashpal-application/src/test/java/io/reflectoring/cashpal => buckpal-application/src/test/java/io/reflectoring/buckpal}/domain/ActivityWindowTest.java (91%) rename {cashpal-configuration => buckpal-configuration}/build.gradle (82%) rename {cashpal-configuration/src/main/java/io/reflectoring/cashpal => buckpal-configuration/src/main/java/io/reflectoring/buckpal}/CashpalApplication.java (89%) rename {cashpal-configuration/src/test/java/io/reflectoring/cashpal => buckpal-configuration/src/test/java/io/reflectoring/buckpal}/CashpalApplicationTests.java (91%) rename {cashpal-configuration/src/test/java/io/reflectoring/cashpal => buckpal-configuration/src/test/java/io/reflectoring/buckpal}/DependencyRuleTests.java (81%) create mode 100644 buckpal-configuration/src/test/java/io/reflectoring/buckpal/SendMoneySystemTest.java rename {cashpal-configuration/src/test/java/io/reflectoring/cashpal => buckpal-configuration/src/test/java/io/reflectoring/buckpal}/archunit/Adapters.java (97%) rename {cashpal-configuration/src/test/java/io/reflectoring/cashpal => buckpal-configuration/src/test/java/io/reflectoring/buckpal}/archunit/ApplicationLayer.java (97%) rename {cashpal-configuration/src/test/java/io/reflectoring/cashpal => buckpal-configuration/src/test/java/io/reflectoring/buckpal}/archunit/ArchitectureElement.java (98%) rename {cashpal-configuration/src/test/java/io/reflectoring/cashpal => buckpal-configuration/src/test/java/io/reflectoring/buckpal}/archunit/HexagonalArchitecture.java (98%) rename {cashpal-configuration/src/test/resources/io/reflectoring/cashpal => buckpal-configuration/src/test/resources/io/reflectoring/buckpal}/SendMoneySystemTest.sql (100%) rename {cashpal-testdata/src/main/java/io/reflectoring/cashpal => buckpal-testdata/src/main/java/io/reflectoring/buckpal}/testdata/AccountTestData.java (80%) rename {cashpal-testdata/src/main/java/io/reflectoring/cashpal => buckpal-testdata/src/main/java/io/reflectoring/buckpal}/testdata/ActivityTestData.java (85%) delete mode 100644 cashpal-application/src/main/java/io/reflectoring/cashpal/application/port/in/GetAccountBalanceQuery.java delete mode 100644 cashpal-application/src/main/java/io/reflectoring/cashpal/application/port/out/LoadAccountPort.java delete mode 100644 cashpal-application/src/main/java/io/reflectoring/cashpal/application/port/out/UpdateAccountStatePort.java rename common/src/main/java/io/reflectoring/{cashpal => buckpal}/testdata/OutputAdapter.java (94%) rename common/src/main/java/io/reflectoring/{cashpal => buckpal}/testdata/PersistenceAdapter.java (94%) rename common/src/main/java/io/reflectoring/{cashpal => buckpal}/testdata/SelfValidating.java (94%) rename common/src/main/java/io/reflectoring/{cashpal => buckpal}/testdata/UseCase.java (94%) rename common/src/main/java/io/reflectoring/{cashpal => buckpal}/testdata/WebAdapter.java (94%) diff --git a/adapters/cashpal-persistence/src/main/java/io/reflectoring/cashpal/adapter/persistence/AccountJpaEntity.java b/adapters/buckpal-persistence/src/main/java/io/reflectoring/buckpal/adapter/persistence/AccountJpaEntity.java similarity index 87% rename from adapters/cashpal-persistence/src/main/java/io/reflectoring/cashpal/adapter/persistence/AccountJpaEntity.java rename to adapters/buckpal-persistence/src/main/java/io/reflectoring/buckpal/adapter/persistence/AccountJpaEntity.java index bd91ee1..b3a5bc3 100644 --- a/adapters/cashpal-persistence/src/main/java/io/reflectoring/cashpal/adapter/persistence/AccountJpaEntity.java +++ b/adapters/buckpal-persistence/src/main/java/io/reflectoring/buckpal/adapter/persistence/AccountJpaEntity.java @@ -1,4 +1,4 @@ -package io.reflectoring.cashpal.adapter.persistence; +package io.reflectoring.buckpal.adapter.persistence; import javax.persistence.Entity; import javax.persistence.GeneratedValue; diff --git a/adapters/cashpal-persistence/src/main/java/io/reflectoring/cashpal/adapter/persistence/AccountMapper.java b/adapters/buckpal-persistence/src/main/java/io/reflectoring/buckpal/adapter/persistence/AccountMapper.java similarity index 79% rename from adapters/cashpal-persistence/src/main/java/io/reflectoring/cashpal/adapter/persistence/AccountMapper.java rename to adapters/buckpal-persistence/src/main/java/io/reflectoring/buckpal/adapter/persistence/AccountMapper.java index d8f4ba0..ffd7009 100644 --- a/adapters/cashpal-persistence/src/main/java/io/reflectoring/cashpal/adapter/persistence/AccountMapper.java +++ b/adapters/buckpal-persistence/src/main/java/io/reflectoring/buckpal/adapter/persistence/AccountMapper.java @@ -1,14 +1,14 @@ -package io.reflectoring.cashpal.adapter.persistence; +package io.reflectoring.buckpal.adapter.persistence; import java.util.ArrayList; import java.util.List; -import io.reflectoring.cashpal.domain.Account; -import io.reflectoring.cashpal.domain.Account.AccountId; -import io.reflectoring.cashpal.domain.Activity; -import io.reflectoring.cashpal.domain.Activity.ActivityId; -import io.reflectoring.cashpal.domain.ActivityWindow; -import io.reflectoring.cashpal.domain.Money; +import io.reflectoring.buckpal.domain.Account; +import io.reflectoring.buckpal.domain.Account.AccountId; +import io.reflectoring.buckpal.domain.Activity; +import io.reflectoring.buckpal.domain.Activity.ActivityId; +import io.reflectoring.buckpal.domain.ActivityWindow; +import io.reflectoring.buckpal.domain.Money; import org.springframework.stereotype.Component; @Component diff --git a/adapters/cashpal-persistence/src/main/java/io/reflectoring/cashpal/adapter/persistence/AccountPersistenceAdapter.java b/adapters/buckpal-persistence/src/main/java/io/reflectoring/buckpal/adapter/persistence/AccountPersistenceAdapter.java similarity index 79% rename from adapters/cashpal-persistence/src/main/java/io/reflectoring/cashpal/adapter/persistence/AccountPersistenceAdapter.java rename to adapters/buckpal-persistence/src/main/java/io/reflectoring/buckpal/adapter/persistence/AccountPersistenceAdapter.java index 03ec342..ab671e1 100644 --- a/adapters/cashpal-persistence/src/main/java/io/reflectoring/cashpal/adapter/persistence/AccountPersistenceAdapter.java +++ b/adapters/buckpal-persistence/src/main/java/io/reflectoring/buckpal/adapter/persistence/AccountPersistenceAdapter.java @@ -1,16 +1,16 @@ -package io.reflectoring.cashpal.adapter.persistence; +package io.reflectoring.buckpal.adapter.persistence; import javax.persistence.EntityNotFoundException; import java.time.LocalDateTime; import java.util.List; -import io.reflectoring.cashpal.application.port.out.LoadAccountPort; -import io.reflectoring.cashpal.application.port.out.UpdateAccountStatePort; -import io.reflectoring.cashpal.testdata.PersistenceAdapter; -import io.reflectoring.cashpal.domain.Account; -import io.reflectoring.cashpal.domain.Account.AccountId; -import io.reflectoring.cashpal.domain.Activity; +import io.reflectoring.buckpal.application.port.out.LoadAccountPort; +import io.reflectoring.buckpal.application.port.out.UpdateAccountStatePort; +import io.reflectoring.buckpal.testdata.PersistenceAdapter; +import io.reflectoring.buckpal.domain.Account; +import io.reflectoring.buckpal.domain.Account.AccountId; +import io.reflectoring.buckpal.domain.Activity; import lombok.RequiredArgsConstructor; @RequiredArgsConstructor diff --git a/adapters/cashpal-persistence/src/main/java/io/reflectoring/cashpal/adapter/persistence/AccountRepository.java b/adapters/buckpal-persistence/src/main/java/io/reflectoring/buckpal/adapter/persistence/AccountRepository.java similarity index 72% rename from adapters/cashpal-persistence/src/main/java/io/reflectoring/cashpal/adapter/persistence/AccountRepository.java rename to adapters/buckpal-persistence/src/main/java/io/reflectoring/buckpal/adapter/persistence/AccountRepository.java index 824815e..9631d3f 100644 --- a/adapters/cashpal-persistence/src/main/java/io/reflectoring/cashpal/adapter/persistence/AccountRepository.java +++ b/adapters/buckpal-persistence/src/main/java/io/reflectoring/buckpal/adapter/persistence/AccountRepository.java @@ -1,4 +1,4 @@ -package io.reflectoring.cashpal.adapter.persistence; +package io.reflectoring.buckpal.adapter.persistence; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/adapters/cashpal-persistence/src/main/java/io/reflectoring/cashpal/adapter/persistence/ActivityJpaEntity.java b/adapters/buckpal-persistence/src/main/java/io/reflectoring/buckpal/adapter/persistence/ActivityJpaEntity.java similarity index 92% rename from adapters/cashpal-persistence/src/main/java/io/reflectoring/cashpal/adapter/persistence/ActivityJpaEntity.java rename to adapters/buckpal-persistence/src/main/java/io/reflectoring/buckpal/adapter/persistence/ActivityJpaEntity.java index 7201295..440e346 100644 --- a/adapters/cashpal-persistence/src/main/java/io/reflectoring/cashpal/adapter/persistence/ActivityJpaEntity.java +++ b/adapters/buckpal-persistence/src/main/java/io/reflectoring/buckpal/adapter/persistence/ActivityJpaEntity.java @@ -1,4 +1,4 @@ -package io.reflectoring.cashpal.adapter.persistence; +package io.reflectoring.buckpal.adapter.persistence; import javax.persistence.Column; import javax.persistence.Entity; diff --git a/adapters/cashpal-persistence/src/main/java/io/reflectoring/cashpal/adapter/persistence/ActivityRepository.java b/adapters/buckpal-persistence/src/main/java/io/reflectoring/buckpal/adapter/persistence/ActivityRepository.java similarity index 95% rename from adapters/cashpal-persistence/src/main/java/io/reflectoring/cashpal/adapter/persistence/ActivityRepository.java rename to adapters/buckpal-persistence/src/main/java/io/reflectoring/buckpal/adapter/persistence/ActivityRepository.java index 136d640..bd0972f 100644 --- a/adapters/cashpal-persistence/src/main/java/io/reflectoring/cashpal/adapter/persistence/ActivityRepository.java +++ b/adapters/buckpal-persistence/src/main/java/io/reflectoring/buckpal/adapter/persistence/ActivityRepository.java @@ -1,4 +1,4 @@ -package io.reflectoring.cashpal.adapter.persistence; +package io.reflectoring.buckpal.adapter.persistence; import java.time.LocalDateTime; import java.util.List; diff --git a/adapters/cashpal-persistence/src/test/java/io/reflectoring/cashpal/adapter/persistence/AccountPersistenceAdapterTest.java b/adapters/buckpal-persistence/src/test/java/io/reflectoring/buckpal/adapter/persistence/AccountPersistenceAdapterTest.java similarity index 78% rename from adapters/cashpal-persistence/src/test/java/io/reflectoring/cashpal/adapter/persistence/AccountPersistenceAdapterTest.java rename to adapters/buckpal-persistence/src/test/java/io/reflectoring/buckpal/adapter/persistence/AccountPersistenceAdapterTest.java index 0eaf7f6..34c026a 100644 --- a/adapters/cashpal-persistence/src/test/java/io/reflectoring/cashpal/adapter/persistence/AccountPersistenceAdapterTest.java +++ b/adapters/buckpal-persistence/src/test/java/io/reflectoring/buckpal/adapter/persistence/AccountPersistenceAdapterTest.java @@ -1,18 +1,18 @@ -package io.reflectoring.cashpal.adapter.persistence; +package io.reflectoring.buckpal.adapter.persistence; import java.time.LocalDateTime; -import io.reflectoring.cashpal.domain.Account; -import io.reflectoring.cashpal.domain.Account.AccountId; -import io.reflectoring.cashpal.domain.ActivityWindow; -import io.reflectoring.cashpal.domain.Money; +import io.reflectoring.buckpal.domain.Account; +import io.reflectoring.buckpal.domain.Account.AccountId; +import io.reflectoring.buckpal.domain.ActivityWindow; +import io.reflectoring.buckpal.domain.Money; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; import org.springframework.context.annotation.Import; import org.springframework.test.context.jdbc.Sql; -import static io.reflectoring.cashpal.testdata.AccountTestData.*; -import static io.reflectoring.cashpal.testdata.ActivityTestData.*; +import static io.reflectoring.buckpal.testdata.AccountTestData.*; +import static io.reflectoring.buckpal.testdata.ActivityTestData.*; import static org.assertj.core.api.Assertions.*; @DataJpaTest diff --git a/adapters/cashpal-persistence/src/test/java/io/reflectoring/cashpal/adapter/persistence/TestApplication.java b/adapters/buckpal-persistence/src/test/java/io/reflectoring/buckpal/adapter/persistence/TestApplication.java similarity index 83% rename from adapters/cashpal-persistence/src/test/java/io/reflectoring/cashpal/adapter/persistence/TestApplication.java rename to adapters/buckpal-persistence/src/test/java/io/reflectoring/buckpal/adapter/persistence/TestApplication.java index 624bdbb..f7fcdb2 100644 --- a/adapters/cashpal-persistence/src/test/java/io/reflectoring/cashpal/adapter/persistence/TestApplication.java +++ b/adapters/buckpal-persistence/src/test/java/io/reflectoring/buckpal/adapter/persistence/TestApplication.java @@ -1,4 +1,4 @@ -package io.reflectoring.cashpal.adapter.persistence; +package io.reflectoring.buckpal.adapter.persistence; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/adapters/cashpal-persistence/src/test/resources/io/reflectoring/cashpal/adapter/persistence/AccountPersistenceAdapterTest.sql b/adapters/buckpal-persistence/src/test/resources/io/reflectoring/buckpal/adapter/persistence/AccountPersistenceAdapterTest.sql similarity index 100% rename from adapters/cashpal-persistence/src/test/resources/io/reflectoring/cashpal/adapter/persistence/AccountPersistenceAdapterTest.sql rename to adapters/buckpal-persistence/src/test/resources/io/reflectoring/buckpal/adapter/persistence/AccountPersistenceAdapterTest.sql diff --git a/adapters/cashpal-web/build.gradle b/adapters/buckpal-web/build.gradle similarity index 93% rename from adapters/cashpal-web/build.gradle rename to adapters/buckpal-web/build.gradle index de06bc0..9dc8c51 100644 --- a/adapters/cashpal-web/build.gradle +++ b/adapters/buckpal-web/build.gradle @@ -1,6 +1,6 @@ dependencies { implementation project(':common') - implementation project(':cashpal-application') + implementation project(':buckpal-application') implementation 'org.springframework.boot:spring-boot-starter-web' diff --git a/adapters/cashpal-web/build/tmp/jar/MANIFEST.MF b/adapters/buckpal-web/build/tmp/jar/MANIFEST.MF similarity index 100% rename from adapters/cashpal-web/build/tmp/jar/MANIFEST.MF rename to adapters/buckpal-web/build/tmp/jar/MANIFEST.MF diff --git a/adapters/buckpal-web/src/main/java/io/reflectoring/buckpal/adapter/web/AccountResource.java b/adapters/buckpal-web/src/main/java/io/reflectoring/buckpal/adapter/web/AccountResource.java new file mode 100644 index 0000000..ea2eaf7 --- /dev/null +++ b/adapters/buckpal-web/src/main/java/io/reflectoring/buckpal/adapter/web/AccountResource.java @@ -0,0 +1,4 @@ +package io.reflectoring.buckpal.adapter.web; + +class AccountResource { +} diff --git a/adapters/cashpal-web/src/main/java/io/reflectoring/cashpal/adapter/web/SendMoneyController.java b/adapters/buckpal-web/src/main/java/io/reflectoring/buckpal/adapter/web/SendMoneyController.java similarity index 75% rename from adapters/cashpal-web/src/main/java/io/reflectoring/cashpal/adapter/web/SendMoneyController.java rename to adapters/buckpal-web/src/main/java/io/reflectoring/buckpal/adapter/web/SendMoneyController.java index bebb826..955a19f 100644 --- a/adapters/cashpal-web/src/main/java/io/reflectoring/cashpal/adapter/web/SendMoneyController.java +++ b/adapters/buckpal-web/src/main/java/io/reflectoring/buckpal/adapter/web/SendMoneyController.java @@ -1,9 +1,9 @@ -package io.reflectoring.cashpal.adapter.web; +package io.reflectoring.buckpal.adapter.web; -import io.reflectoring.cashpal.application.port.in.SendMoneyUseCase; -import io.reflectoring.cashpal.application.port.in.SendMoneyUseCase.SendMoneyCommand; -import io.reflectoring.cashpal.domain.Account.AccountId; -import io.reflectoring.cashpal.domain.Money; +import io.reflectoring.buckpal.application.port.in.SendMoneyUseCase; +import io.reflectoring.buckpal.application.port.in.SendMoneyUseCase.SendMoneyCommand; +import io.reflectoring.buckpal.domain.Account.AccountId; +import io.reflectoring.buckpal.domain.Money; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; diff --git a/adapters/cashpal-web/src/test/java/io/reflectoring/cashpal/adapter/web/SendMoneyControllerTest.java b/adapters/buckpal-web/src/test/java/io/reflectoring/buckpal/adapter/web/SendMoneyControllerTest.java similarity index 85% rename from adapters/cashpal-web/src/test/java/io/reflectoring/cashpal/adapter/web/SendMoneyControllerTest.java rename to adapters/buckpal-web/src/test/java/io/reflectoring/buckpal/adapter/web/SendMoneyControllerTest.java index 6b38a75..d5d7f24 100644 --- a/adapters/cashpal-web/src/test/java/io/reflectoring/cashpal/adapter/web/SendMoneyControllerTest.java +++ b/adapters/buckpal-web/src/test/java/io/reflectoring/buckpal/adapter/web/SendMoneyControllerTest.java @@ -1,7 +1,7 @@ -package io.reflectoring.cashpal.adapter.web; +package io.reflectoring.buckpal.adapter.web; -import io.reflectoring.cashpal.application.port.in.SendMoneyUseCase; -import io.reflectoring.cashpal.application.port.in.SendMoneyUseCase.SendMoneyCommand; +import io.reflectoring.buckpal.application.port.in.SendMoneyUseCase; +import io.reflectoring.buckpal.application.port.in.SendMoneyUseCase.SendMoneyCommand; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; diff --git a/adapters/cashpal-web/src/test/java/io/reflectoring/cashpal/adapter/web/TestApplication.java b/adapters/buckpal-web/src/test/java/io/reflectoring/buckpal/adapter/web/TestApplication.java similarity index 73% rename from adapters/cashpal-web/src/test/java/io/reflectoring/cashpal/adapter/web/TestApplication.java rename to adapters/buckpal-web/src/test/java/io/reflectoring/buckpal/adapter/web/TestApplication.java index 5f37986..0dab763 100644 --- a/adapters/cashpal-web/src/test/java/io/reflectoring/cashpal/adapter/web/TestApplication.java +++ b/adapters/buckpal-web/src/test/java/io/reflectoring/buckpal/adapter/web/TestApplication.java @@ -1,4 +1,4 @@ -package io.reflectoring.cashpal.adapter.web; +package io.reflectoring.buckpal.adapter.web; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/adapters/cashpal-web/src/main/java/io/reflectoring/cashpal/adapter/web/AccountResource.java b/adapters/cashpal-web/src/main/java/io/reflectoring/cashpal/adapter/web/AccountResource.java deleted file mode 100644 index 741a24f..0000000 --- a/adapters/cashpal-web/src/main/java/io/reflectoring/cashpal/adapter/web/AccountResource.java +++ /dev/null @@ -1,4 +0,0 @@ -package io.reflectoring.cashpal.adapter.web; - -class AccountResource { -} diff --git a/cashpal-application/build.gradle b/buckpal-application/build.gradle similarity index 94% rename from cashpal-application/build.gradle rename to buckpal-application/build.gradle index eeb86c0..bcf6ad7 100644 --- a/cashpal-application/build.gradle +++ b/buckpal-application/build.gradle @@ -17,7 +17,7 @@ dependencies { testImplementation 'com.tngtech.archunit:archunit:0.9.3' testImplementation 'de.adesso:junit-insights:1.1.0' testImplementation 'org.junit.platform:junit-platform-launcher:1.4.2' - testImplementation project(':cashpal-testdata') + testImplementation project(':buckpal-testdata') } test { diff --git a/buckpal-application/src/main/java/io/reflectoring/buckpal/application/port/in/GetAccountBalanceQuery.java b/buckpal-application/src/main/java/io/reflectoring/buckpal/application/port/in/GetAccountBalanceQuery.java new file mode 100644 index 0000000..921ca1c --- /dev/null +++ b/buckpal-application/src/main/java/io/reflectoring/buckpal/application/port/in/GetAccountBalanceQuery.java @@ -0,0 +1,10 @@ +package io.reflectoring.buckpal.application.port.in; + +import io.reflectoring.buckpal.domain.Account.AccountId; +import io.reflectoring.buckpal.domain.Money; + +public interface GetAccountBalanceQuery { + + Money getAccountBalance(AccountId accountId); + +} diff --git a/cashpal-application/src/main/java/io/reflectoring/cashpal/application/port/in/SendMoneyUseCase.java b/buckpal-application/src/main/java/io/reflectoring/buckpal/application/port/in/SendMoneyUseCase.java similarity index 78% rename from cashpal-application/src/main/java/io/reflectoring/cashpal/application/port/in/SendMoneyUseCase.java rename to buckpal-application/src/main/java/io/reflectoring/buckpal/application/port/in/SendMoneyUseCase.java index d651666..62fc703 100644 --- a/cashpal-application/src/main/java/io/reflectoring/cashpal/application/port/in/SendMoneyUseCase.java +++ b/buckpal-application/src/main/java/io/reflectoring/buckpal/application/port/in/SendMoneyUseCase.java @@ -1,10 +1,10 @@ -package io.reflectoring.cashpal.application.port.in; +package io.reflectoring.buckpal.application.port.in; import javax.validation.constraints.NotNull; -import io.reflectoring.cashpal.testdata.SelfValidating; -import io.reflectoring.cashpal.domain.Account; -import io.reflectoring.cashpal.domain.Money; +import io.reflectoring.buckpal.testdata.SelfValidating; +import io.reflectoring.buckpal.domain.Account; +import io.reflectoring.buckpal.domain.Money; import lombok.EqualsAndHashCode; import lombok.Value; diff --git a/cashpal-application/src/main/java/io/reflectoring/cashpal/application/port/out/AccountLock.java b/buckpal-application/src/main/java/io/reflectoring/buckpal/application/port/out/AccountLock.java similarity index 57% rename from cashpal-application/src/main/java/io/reflectoring/cashpal/application/port/out/AccountLock.java rename to buckpal-application/src/main/java/io/reflectoring/buckpal/application/port/out/AccountLock.java index bf12102..7b2026b 100644 --- a/cashpal-application/src/main/java/io/reflectoring/cashpal/application/port/out/AccountLock.java +++ b/buckpal-application/src/main/java/io/reflectoring/buckpal/application/port/out/AccountLock.java @@ -1,6 +1,6 @@ -package io.reflectoring.cashpal.application.port.out; +package io.reflectoring.buckpal.application.port.out; -import io.reflectoring.cashpal.domain.Account; +import io.reflectoring.buckpal.domain.Account; public interface AccountLock { diff --git a/buckpal-application/src/main/java/io/reflectoring/buckpal/application/port/out/LoadAccountPort.java b/buckpal-application/src/main/java/io/reflectoring/buckpal/application/port/out/LoadAccountPort.java new file mode 100644 index 0000000..e6579c6 --- /dev/null +++ b/buckpal-application/src/main/java/io/reflectoring/buckpal/application/port/out/LoadAccountPort.java @@ -0,0 +1,11 @@ +package io.reflectoring.buckpal.application.port.out; + +import java.time.LocalDateTime; + +import io.reflectoring.buckpal.domain.Account; +import io.reflectoring.buckpal.domain.Account.AccountId; + +public interface LoadAccountPort { + + Account loadAccount(AccountId accountId, LocalDateTime baselineDate); +} diff --git a/buckpal-application/src/main/java/io/reflectoring/buckpal/application/port/out/UpdateAccountStatePort.java b/buckpal-application/src/main/java/io/reflectoring/buckpal/application/port/out/UpdateAccountStatePort.java new file mode 100644 index 0000000..b97bbba --- /dev/null +++ b/buckpal-application/src/main/java/io/reflectoring/buckpal/application/port/out/UpdateAccountStatePort.java @@ -0,0 +1,9 @@ +package io.reflectoring.buckpal.application.port.out; + +import io.reflectoring.buckpal.domain.Account; + +public interface UpdateAccountStatePort { + + void updateActivities(Account account); + +} diff --git a/cashpal-application/src/main/java/io/reflectoring/cashpal/application/service/GetAccountBalanceService.java b/buckpal-application/src/main/java/io/reflectoring/buckpal/application/service/GetAccountBalanceService.java similarity index 58% rename from cashpal-application/src/main/java/io/reflectoring/cashpal/application/service/GetAccountBalanceService.java rename to buckpal-application/src/main/java/io/reflectoring/buckpal/application/service/GetAccountBalanceService.java index 573d63c..d38d20b 100644 --- a/cashpal-application/src/main/java/io/reflectoring/cashpal/application/service/GetAccountBalanceService.java +++ b/buckpal-application/src/main/java/io/reflectoring/buckpal/application/service/GetAccountBalanceService.java @@ -1,11 +1,11 @@ -package io.reflectoring.cashpal.application.service; +package io.reflectoring.buckpal.application.service; import java.time.LocalDateTime; -import io.reflectoring.cashpal.application.port.in.GetAccountBalanceQuery; -import io.reflectoring.cashpal.application.port.out.LoadAccountPort; -import io.reflectoring.cashpal.domain.Account.AccountId; -import io.reflectoring.cashpal.domain.Money; +import io.reflectoring.buckpal.application.port.in.GetAccountBalanceQuery; +import io.reflectoring.buckpal.application.port.out.LoadAccountPort; +import io.reflectoring.buckpal.domain.Account.AccountId; +import io.reflectoring.buckpal.domain.Money; import lombok.RequiredArgsConstructor; @RequiredArgsConstructor diff --git a/cashpal-application/src/main/java/io/reflectoring/cashpal/application/service/NoOpAccountLock.java b/buckpal-application/src/main/java/io/reflectoring/buckpal/application/service/NoOpAccountLock.java similarity index 61% rename from cashpal-application/src/main/java/io/reflectoring/cashpal/application/service/NoOpAccountLock.java rename to buckpal-application/src/main/java/io/reflectoring/buckpal/application/service/NoOpAccountLock.java index 1f9d2c0..d271c33 100644 --- a/cashpal-application/src/main/java/io/reflectoring/cashpal/application/service/NoOpAccountLock.java +++ b/buckpal-application/src/main/java/io/reflectoring/buckpal/application/service/NoOpAccountLock.java @@ -1,7 +1,7 @@ -package io.reflectoring.cashpal.application.service; +package io.reflectoring.buckpal.application.service; -import io.reflectoring.cashpal.application.port.out.AccountLock; -import io.reflectoring.cashpal.domain.Account.AccountId; +import io.reflectoring.buckpal.application.port.out.AccountLock; +import io.reflectoring.buckpal.domain.Account.AccountId; import org.springframework.stereotype.Component; @Component diff --git a/cashpal-application/src/main/java/io/reflectoring/cashpal/application/service/SendMoneyService.java b/buckpal-application/src/main/java/io/reflectoring/buckpal/application/service/SendMoneyService.java similarity index 78% rename from cashpal-application/src/main/java/io/reflectoring/cashpal/application/service/SendMoneyService.java rename to buckpal-application/src/main/java/io/reflectoring/buckpal/application/service/SendMoneyService.java index e300ff1..e55787c 100644 --- a/cashpal-application/src/main/java/io/reflectoring/cashpal/application/service/SendMoneyService.java +++ b/buckpal-application/src/main/java/io/reflectoring/buckpal/application/service/SendMoneyService.java @@ -1,15 +1,15 @@ -package io.reflectoring.cashpal.application.service; +package io.reflectoring.buckpal.application.service; import javax.transaction.Transactional; import java.time.LocalDateTime; -import io.reflectoring.cashpal.application.port.in.SendMoneyUseCase; -import io.reflectoring.cashpal.application.port.out.AccountLock; -import io.reflectoring.cashpal.application.port.out.LoadAccountPort; -import io.reflectoring.cashpal.application.port.out.UpdateAccountStatePort; -import io.reflectoring.cashpal.domain.Account; -import io.reflectoring.cashpal.testdata.UseCase; +import io.reflectoring.buckpal.application.port.in.SendMoneyUseCase; +import io.reflectoring.buckpal.application.port.out.AccountLock; +import io.reflectoring.buckpal.application.port.out.LoadAccountPort; +import io.reflectoring.buckpal.application.port.out.UpdateAccountStatePort; +import io.reflectoring.buckpal.domain.Account; +import io.reflectoring.buckpal.testdata.UseCase; import lombok.RequiredArgsConstructor; @RequiredArgsConstructor diff --git a/cashpal-application/src/main/java/io/reflectoring/cashpal/domain/Account.java b/buckpal-application/src/main/java/io/reflectoring/buckpal/domain/Account.java similarity index 98% rename from cashpal-application/src/main/java/io/reflectoring/cashpal/domain/Account.java rename to buckpal-application/src/main/java/io/reflectoring/buckpal/domain/Account.java index fa28443..4736c19 100644 --- a/cashpal-application/src/main/java/io/reflectoring/cashpal/domain/Account.java +++ b/buckpal-application/src/main/java/io/reflectoring/buckpal/domain/Account.java @@ -1,4 +1,4 @@ -package io.reflectoring.cashpal.domain; +package io.reflectoring.buckpal.domain; import java.time.LocalDateTime; diff --git a/cashpal-application/src/main/java/io/reflectoring/cashpal/domain/Activity.java b/buckpal-application/src/main/java/io/reflectoring/buckpal/domain/Activity.java similarity index 97% rename from cashpal-application/src/main/java/io/reflectoring/cashpal/domain/Activity.java rename to buckpal-application/src/main/java/io/reflectoring/buckpal/domain/Activity.java index c333ec9..d012753 100644 --- a/cashpal-application/src/main/java/io/reflectoring/cashpal/domain/Activity.java +++ b/buckpal-application/src/main/java/io/reflectoring/buckpal/domain/Activity.java @@ -1,4 +1,4 @@ -package io.reflectoring.cashpal.domain; +package io.reflectoring.buckpal.domain; import java.time.LocalDateTime; diff --git a/cashpal-application/src/main/java/io/reflectoring/cashpal/domain/ActivityWindow.java b/buckpal-application/src/main/java/io/reflectoring/buckpal/domain/ActivityWindow.java similarity index 95% rename from cashpal-application/src/main/java/io/reflectoring/cashpal/domain/ActivityWindow.java rename to buckpal-application/src/main/java/io/reflectoring/buckpal/domain/ActivityWindow.java index c55e3c9..14e40ae 100644 --- a/cashpal-application/src/main/java/io/reflectoring/cashpal/domain/ActivityWindow.java +++ b/buckpal-application/src/main/java/io/reflectoring/buckpal/domain/ActivityWindow.java @@ -1,4 +1,4 @@ -package io.reflectoring.cashpal.domain; +package io.reflectoring.buckpal.domain; import java.time.LocalDateTime; import java.util.ArrayList; @@ -6,7 +6,7 @@ import java.util.Arrays; import java.util.Comparator; import java.util.List; -import io.reflectoring.cashpal.domain.Account.AccountId; +import io.reflectoring.buckpal.domain.Account.AccountId; import lombok.NonNull; /** diff --git a/cashpal-application/src/main/java/io/reflectoring/cashpal/domain/Money.java b/buckpal-application/src/main/java/io/reflectoring/buckpal/domain/Money.java similarity index 96% rename from cashpal-application/src/main/java/io/reflectoring/cashpal/domain/Money.java rename to buckpal-application/src/main/java/io/reflectoring/buckpal/domain/Money.java index cee9708..10a2a76 100644 --- a/cashpal-application/src/main/java/io/reflectoring/cashpal/domain/Money.java +++ b/buckpal-application/src/main/java/io/reflectoring/buckpal/domain/Money.java @@ -1,4 +1,4 @@ -package io.reflectoring.cashpal.domain; +package io.reflectoring.buckpal.domain; import java.math.BigInteger; diff --git a/cashpal-application/src/test/java/io/reflectoring/cashpal/application/service/SendMoneyServiceTest.java b/buckpal-application/src/test/java/io/reflectoring/buckpal/application/service/SendMoneyServiceTest.java similarity index 89% rename from cashpal-application/src/test/java/io/reflectoring/cashpal/application/service/SendMoneyServiceTest.java rename to buckpal-application/src/test/java/io/reflectoring/buckpal/application/service/SendMoneyServiceTest.java index b973974..c094cae 100644 --- a/cashpal-application/src/test/java/io/reflectoring/cashpal/application/service/SendMoneyServiceTest.java +++ b/buckpal-application/src/test/java/io/reflectoring/buckpal/application/service/SendMoneyServiceTest.java @@ -1,16 +1,16 @@ -package io.reflectoring.cashpal.application.service; +package io.reflectoring.buckpal.application.service; import java.time.LocalDateTime; import java.util.List; import java.util.stream.Collectors; -import io.reflectoring.cashpal.application.port.in.SendMoneyUseCase.SendMoneyCommand; -import io.reflectoring.cashpal.application.port.out.AccountLock; -import io.reflectoring.cashpal.application.port.out.LoadAccountPort; -import io.reflectoring.cashpal.application.port.out.UpdateAccountStatePort; -import io.reflectoring.cashpal.domain.Account; -import io.reflectoring.cashpal.domain.Account.AccountId; -import io.reflectoring.cashpal.domain.Money; +import io.reflectoring.buckpal.application.port.in.SendMoneyUseCase.SendMoneyCommand; +import io.reflectoring.buckpal.application.port.out.AccountLock; +import io.reflectoring.buckpal.application.port.out.LoadAccountPort; +import io.reflectoring.buckpal.application.port.out.UpdateAccountStatePort; +import io.reflectoring.buckpal.domain.Account; +import io.reflectoring.buckpal.domain.Account.AccountId; +import io.reflectoring.buckpal.domain.Money; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.Mockito; diff --git a/cashpal-application/src/test/java/io/reflectoring/cashpal/domain/AccountTest.java b/buckpal-application/src/test/java/io/reflectoring/buckpal/domain/AccountTest.java similarity index 92% rename from cashpal-application/src/test/java/io/reflectoring/cashpal/domain/AccountTest.java rename to buckpal-application/src/test/java/io/reflectoring/buckpal/domain/AccountTest.java index 1a27ab7..d5b4866 100644 --- a/cashpal-application/src/test/java/io/reflectoring/cashpal/domain/AccountTest.java +++ b/buckpal-application/src/test/java/io/reflectoring/buckpal/domain/AccountTest.java @@ -1,9 +1,9 @@ -package io.reflectoring.cashpal.domain; +package io.reflectoring.buckpal.domain; -import io.reflectoring.cashpal.domain.Account.AccountId; +import io.reflectoring.buckpal.domain.Account.AccountId; import org.junit.jupiter.api.Test; -import static io.reflectoring.cashpal.testdata.AccountTestData.*; -import static io.reflectoring.cashpal.testdata.ActivityTestData.*; +import static io.reflectoring.buckpal.testdata.AccountTestData.*; +import static io.reflectoring.buckpal.testdata.ActivityTestData.*; import static org.assertj.core.api.Assertions.*; class AccountTest { diff --git a/cashpal-application/src/test/java/io/reflectoring/cashpal/domain/ActivityWindowTest.java b/buckpal-application/src/test/java/io/reflectoring/buckpal/domain/ActivityWindowTest.java similarity index 91% rename from cashpal-application/src/test/java/io/reflectoring/cashpal/domain/ActivityWindowTest.java rename to buckpal-application/src/test/java/io/reflectoring/buckpal/domain/ActivityWindowTest.java index 8e0049a..3a4085d 100644 --- a/cashpal-application/src/test/java/io/reflectoring/cashpal/domain/ActivityWindowTest.java +++ b/buckpal-application/src/test/java/io/reflectoring/buckpal/domain/ActivityWindowTest.java @@ -1,11 +1,11 @@ -package io.reflectoring.cashpal.domain; +package io.reflectoring.buckpal.domain; import java.time.LocalDateTime; -import io.reflectoring.cashpal.domain.Account.AccountId; +import io.reflectoring.buckpal.domain.Account.AccountId; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; -import static io.reflectoring.cashpal.testdata.ActivityTestData.*; +import static io.reflectoring.buckpal.testdata.ActivityTestData.*; class ActivityWindowTest { diff --git a/cashpal-configuration/build.gradle b/buckpal-configuration/build.gradle similarity index 82% rename from cashpal-configuration/build.gradle rename to buckpal-configuration/build.gradle index 797940a..d8be432 100644 --- a/cashpal-configuration/build.gradle +++ b/buckpal-configuration/build.gradle @@ -5,9 +5,9 @@ plugins { dependencies { implementation project(':common') - implementation project(':cashpal-application') - implementation project(':adapters:cashpal-persistence') - implementation project(':adapters:cashpal-web') + implementation project(':buckpal-application') + implementation project(':adapters:buckpal-persistence') + implementation project(':adapters:buckpal-web') implementation ('org.springframework.boot:spring-boot-starter-web') testImplementation('org.springframework.boot:spring-boot-starter-test') { diff --git a/cashpal-configuration/src/main/java/io/reflectoring/cashpal/CashpalApplication.java b/buckpal-configuration/src/main/java/io/reflectoring/buckpal/CashpalApplication.java similarity index 89% rename from cashpal-configuration/src/main/java/io/reflectoring/cashpal/CashpalApplication.java rename to buckpal-configuration/src/main/java/io/reflectoring/buckpal/CashpalApplication.java index cdcdf3b..16a6ef4 100644 --- a/cashpal-configuration/src/main/java/io/reflectoring/cashpal/CashpalApplication.java +++ b/buckpal-configuration/src/main/java/io/reflectoring/buckpal/CashpalApplication.java @@ -1,4 +1,4 @@ -package io.reflectoring.cashpal; +package io.reflectoring.buckpal; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/cashpal-configuration/src/test/java/io/reflectoring/cashpal/CashpalApplicationTests.java b/buckpal-configuration/src/test/java/io/reflectoring/buckpal/CashpalApplicationTests.java similarity index 91% rename from cashpal-configuration/src/test/java/io/reflectoring/cashpal/CashpalApplicationTests.java rename to buckpal-configuration/src/test/java/io/reflectoring/buckpal/CashpalApplicationTests.java index d874cb5..9ba5733 100644 --- a/cashpal-configuration/src/test/java/io/reflectoring/cashpal/CashpalApplicationTests.java +++ b/buckpal-configuration/src/test/java/io/reflectoring/buckpal/CashpalApplicationTests.java @@ -1,4 +1,4 @@ -package io.reflectoring.cashpal; +package io.reflectoring.buckpal; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; diff --git a/cashpal-configuration/src/test/java/io/reflectoring/cashpal/DependencyRuleTests.java b/buckpal-configuration/src/test/java/io/reflectoring/buckpal/DependencyRuleTests.java similarity index 81% rename from cashpal-configuration/src/test/java/io/reflectoring/cashpal/DependencyRuleTests.java rename to buckpal-configuration/src/test/java/io/reflectoring/buckpal/DependencyRuleTests.java index 6049876..9009f1c 100644 --- a/cashpal-configuration/src/test/java/io/reflectoring/cashpal/DependencyRuleTests.java +++ b/buckpal-configuration/src/test/java/io/reflectoring/buckpal/DependencyRuleTests.java @@ -1,7 +1,7 @@ -package io.reflectoring.cashpal; +package io.reflectoring.buckpal; import com.tngtech.archunit.core.importer.ClassFileImporter; -import io.reflectoring.cashpal.archunit.HexagonalArchitecture; +import io.reflectoring.buckpal.archunit.HexagonalArchitecture; import org.junit.jupiter.api.Test; import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.*; @@ -9,7 +9,7 @@ class DependencyRuleTests { @Test void validateRegistrationContextArchitecture() { - HexagonalArchitecture.boundedContext("io.reflectoring.cashpal") + HexagonalArchitecture.boundedContext("io.reflectoring.buckpal") .withDomainLayer("domain") @@ -26,7 +26,7 @@ class DependencyRuleTests { .withConfiguration("configuration") .check(new ClassFileImporter() - .importPackages("io.reflectoring.cashpal..")); + .importPackages("io.reflectoring.buckpal..")); } @Test diff --git a/buckpal-configuration/src/test/java/io/reflectoring/buckpal/SendMoneySystemTest.java b/buckpal-configuration/src/test/java/io/reflectoring/buckpal/SendMoneySystemTest.java new file mode 100644 index 0000000..033fe48 --- /dev/null +++ b/buckpal-configuration/src/test/java/io/reflectoring/buckpal/SendMoneySystemTest.java @@ -0,0 +1,104 @@ +package io.reflectoring.buckpal; + +import java.time.LocalDateTime; + +import io.reflectoring.buckpal.application.port.out.LoadAccountPort; +import io.reflectoring.buckpal.domain.Account; +import io.reflectoring.buckpal.domain.Account.AccountId; +import io.reflectoring.buckpal.domain.Money; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.test.context.jdbc.Sql; +import static org.assertj.core.api.BDDAssertions.*; + +@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) +class SendMoneySystemTest { + + @Autowired + private TestRestTemplate restTemplate; + + @Autowired + private LoadAccountPort loadAccountPort; + + @Test + @Sql("SendMoneySystemTest.sql") + void sendMoney() { + + Money initialSourceBalance = sourceAccount().calculateBalance(); + Money initialTargetBalance = targetAccount().calculateBalance(); + + ResponseEntity response = whenSendMoney( + sourceAccountId(), + targetAccountId(), + transferredAmount()); + + then(response.getStatusCode()) + .isEqualTo(HttpStatus.OK); + + then(sourceAccount().calculateBalance()) + .isEqualTo(initialSourceBalance.minus(transferredAmount())); + + then(targetAccount().calculateBalance()) + .isEqualTo(initialTargetBalance.plus(transferredAmount())); + + } + + private Account sourceAccount() { + return loadAccount(sourceAccountId()); + } + + private Account targetAccount() { + return loadAccount(targetAccountId()); + } + + private Account loadAccount(AccountId accountId) { + return loadAccountPort.loadAccount( + accountId, + LocalDateTime.now()); + } + + + private ResponseEntity whenSendMoney( + AccountId sourceAccountId, + AccountId targetAccountId, + Money amount) { + HttpHeaders headers = new HttpHeaders(); + headers.add("Content-Type", "application/json"); + HttpEntity request = new HttpEntity<>(null, headers); + + return restTemplate.exchange( + "/accounts/sendMoney/{sourceAccountId}/{targetAccountId}/{amount}", + HttpMethod.POST, + request, + Object.class, + sourceAccountId.getValue(), + targetAccountId.getValue(), + amount.getAmount()); + } + + private Money transferredAmount() { + return Money.of(500L); + } + + private Money balanceOf(AccountId accountId) { + Account account = loadAccountPort.loadAccount(accountId, LocalDateTime.now()); + return account.calculateBalance(); + } + + private AccountId sourceAccountId() { + return new AccountId(1L); + } + + private AccountId targetAccountId() { + return new AccountId(2L); + } + +} diff --git a/cashpal-configuration/src/test/java/io/reflectoring/cashpal/archunit/Adapters.java b/buckpal-configuration/src/test/java/io/reflectoring/buckpal/archunit/Adapters.java similarity index 97% rename from cashpal-configuration/src/test/java/io/reflectoring/cashpal/archunit/Adapters.java rename to buckpal-configuration/src/test/java/io/reflectoring/buckpal/archunit/Adapters.java index 80a186e..4bff0e7 100644 --- a/cashpal-configuration/src/test/java/io/reflectoring/cashpal/archunit/Adapters.java +++ b/buckpal-configuration/src/test/java/io/reflectoring/buckpal/archunit/Adapters.java @@ -1,4 +1,4 @@ -package io.reflectoring.cashpal.archunit; +package io.reflectoring.buckpal.archunit; import java.util.ArrayList; import java.util.List; diff --git a/cashpal-configuration/src/test/java/io/reflectoring/cashpal/archunit/ApplicationLayer.java b/buckpal-configuration/src/test/java/io/reflectoring/buckpal/archunit/ApplicationLayer.java similarity index 97% rename from cashpal-configuration/src/test/java/io/reflectoring/cashpal/archunit/ApplicationLayer.java rename to buckpal-configuration/src/test/java/io/reflectoring/buckpal/archunit/ApplicationLayer.java index 5655a63..7c4613a 100644 --- a/cashpal-configuration/src/test/java/io/reflectoring/cashpal/archunit/ApplicationLayer.java +++ b/buckpal-configuration/src/test/java/io/reflectoring/buckpal/archunit/ApplicationLayer.java @@ -1,4 +1,4 @@ -package io.reflectoring.cashpal.archunit; +package io.reflectoring.buckpal.archunit; import java.util.ArrayList; import java.util.List; diff --git a/cashpal-configuration/src/test/java/io/reflectoring/cashpal/archunit/ArchitectureElement.java b/buckpal-configuration/src/test/java/io/reflectoring/buckpal/archunit/ArchitectureElement.java similarity index 98% rename from cashpal-configuration/src/test/java/io/reflectoring/cashpal/archunit/ArchitectureElement.java rename to buckpal-configuration/src/test/java/io/reflectoring/buckpal/archunit/ArchitectureElement.java index fecbedd..103c870 100644 --- a/cashpal-configuration/src/test/java/io/reflectoring/cashpal/archunit/ArchitectureElement.java +++ b/buckpal-configuration/src/test/java/io/reflectoring/buckpal/archunit/ArchitectureElement.java @@ -1,4 +1,4 @@ -package io.reflectoring.cashpal.archunit; +package io.reflectoring.buckpal.archunit; import java.util.List; diff --git a/cashpal-configuration/src/test/java/io/reflectoring/cashpal/archunit/HexagonalArchitecture.java b/buckpal-configuration/src/test/java/io/reflectoring/buckpal/archunit/HexagonalArchitecture.java similarity index 98% rename from cashpal-configuration/src/test/java/io/reflectoring/cashpal/archunit/HexagonalArchitecture.java rename to buckpal-configuration/src/test/java/io/reflectoring/buckpal/archunit/HexagonalArchitecture.java index 53e7c8d..ae4402c 100644 --- a/cashpal-configuration/src/test/java/io/reflectoring/cashpal/archunit/HexagonalArchitecture.java +++ b/buckpal-configuration/src/test/java/io/reflectoring/buckpal/archunit/HexagonalArchitecture.java @@ -1,4 +1,4 @@ -package io.reflectoring.cashpal.archunit; +package io.reflectoring.buckpal.archunit; import java.util.ArrayList; import java.util.Collections; diff --git a/cashpal-configuration/src/test/resources/io/reflectoring/cashpal/SendMoneySystemTest.sql b/buckpal-configuration/src/test/resources/io/reflectoring/buckpal/SendMoneySystemTest.sql similarity index 100% rename from cashpal-configuration/src/test/resources/io/reflectoring/cashpal/SendMoneySystemTest.sql rename to buckpal-configuration/src/test/resources/io/reflectoring/buckpal/SendMoneySystemTest.sql diff --git a/cashpal-testdata/src/main/java/io/reflectoring/cashpal/testdata/AccountTestData.java b/buckpal-testdata/src/main/java/io/reflectoring/buckpal/testdata/AccountTestData.java similarity index 80% rename from cashpal-testdata/src/main/java/io/reflectoring/cashpal/testdata/AccountTestData.java rename to buckpal-testdata/src/main/java/io/reflectoring/buckpal/testdata/AccountTestData.java index 76eca0d..327476c 100644 --- a/cashpal-testdata/src/main/java/io/reflectoring/cashpal/testdata/AccountTestData.java +++ b/buckpal-testdata/src/main/java/io/reflectoring/buckpal/testdata/AccountTestData.java @@ -1,9 +1,9 @@ -package io.reflectoring.cashpal.testdata; +package io.reflectoring.buckpal.testdata; -import io.reflectoring.cashpal.domain.Account; -import io.reflectoring.cashpal.domain.Account.AccountId; -import io.reflectoring.cashpal.domain.ActivityWindow; -import io.reflectoring.cashpal.domain.Money; +import io.reflectoring.buckpal.domain.Account; +import io.reflectoring.buckpal.domain.Account.AccountId; +import io.reflectoring.buckpal.domain.ActivityWindow; +import io.reflectoring.buckpal.domain.Money; public class AccountTestData { diff --git a/cashpal-testdata/src/main/java/io/reflectoring/cashpal/testdata/ActivityTestData.java b/buckpal-testdata/src/main/java/io/reflectoring/buckpal/testdata/ActivityTestData.java similarity index 85% rename from cashpal-testdata/src/main/java/io/reflectoring/cashpal/testdata/ActivityTestData.java rename to buckpal-testdata/src/main/java/io/reflectoring/buckpal/testdata/ActivityTestData.java index 1e14d49..f6bd814 100644 --- a/cashpal-testdata/src/main/java/io/reflectoring/cashpal/testdata/ActivityTestData.java +++ b/buckpal-testdata/src/main/java/io/reflectoring/buckpal/testdata/ActivityTestData.java @@ -1,11 +1,11 @@ -package io.reflectoring.cashpal.testdata; +package io.reflectoring.buckpal.testdata; import java.time.LocalDateTime; -import io.reflectoring.cashpal.domain.Account.AccountId; -import io.reflectoring.cashpal.domain.Activity; -import io.reflectoring.cashpal.domain.Activity.ActivityId; -import io.reflectoring.cashpal.domain.Money; +import io.reflectoring.buckpal.domain.Account.AccountId; +import io.reflectoring.buckpal.domain.Activity; +import io.reflectoring.buckpal.domain.Activity.ActivityId; +import io.reflectoring.buckpal.domain.Money; public class ActivityTestData { diff --git a/cashpal-application/src/main/java/io/reflectoring/cashpal/application/port/in/GetAccountBalanceQuery.java b/cashpal-application/src/main/java/io/reflectoring/cashpal/application/port/in/GetAccountBalanceQuery.java deleted file mode 100644 index be882f1..0000000 --- a/cashpal-application/src/main/java/io/reflectoring/cashpal/application/port/in/GetAccountBalanceQuery.java +++ /dev/null @@ -1,10 +0,0 @@ -package io.reflectoring.cashpal.application.port.in; - -import io.reflectoring.cashpal.domain.Account.AccountId; -import io.reflectoring.cashpal.domain.Money; - -public interface GetAccountBalanceQuery { - - Money getAccountBalance(AccountId accountId); - -} diff --git a/cashpal-application/src/main/java/io/reflectoring/cashpal/application/port/out/LoadAccountPort.java b/cashpal-application/src/main/java/io/reflectoring/cashpal/application/port/out/LoadAccountPort.java deleted file mode 100644 index 5a80c12..0000000 --- a/cashpal-application/src/main/java/io/reflectoring/cashpal/application/port/out/LoadAccountPort.java +++ /dev/null @@ -1,11 +0,0 @@ -package io.reflectoring.cashpal.application.port.out; - -import java.time.LocalDateTime; - -import io.reflectoring.cashpal.domain.Account; -import io.reflectoring.cashpal.domain.Account.AccountId; - -public interface LoadAccountPort { - - Account loadAccount(AccountId accountId, LocalDateTime baselineDate); -} diff --git a/cashpal-application/src/main/java/io/reflectoring/cashpal/application/port/out/UpdateAccountStatePort.java b/cashpal-application/src/main/java/io/reflectoring/cashpal/application/port/out/UpdateAccountStatePort.java deleted file mode 100644 index 3d6a2cd..0000000 --- a/cashpal-application/src/main/java/io/reflectoring/cashpal/application/port/out/UpdateAccountStatePort.java +++ /dev/null @@ -1,9 +0,0 @@ -package io.reflectoring.cashpal.application.port.out; - -import io.reflectoring.cashpal.domain.Account; - -public interface UpdateAccountStatePort { - - void updateActivities(Account account); - -} diff --git a/common/src/main/java/io/reflectoring/cashpal/testdata/OutputAdapter.java b/common/src/main/java/io/reflectoring/buckpal/testdata/OutputAdapter.java similarity index 94% rename from common/src/main/java/io/reflectoring/cashpal/testdata/OutputAdapter.java rename to common/src/main/java/io/reflectoring/buckpal/testdata/OutputAdapter.java index e9600ea..3da084e 100644 --- a/common/src/main/java/io/reflectoring/cashpal/testdata/OutputAdapter.java +++ b/common/src/main/java/io/reflectoring/buckpal/testdata/OutputAdapter.java @@ -1,4 +1,4 @@ -package io.reflectoring.cashpal.testdata; +package io.reflectoring.buckpal.testdata; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; diff --git a/common/src/main/java/io/reflectoring/cashpal/testdata/PersistenceAdapter.java b/common/src/main/java/io/reflectoring/buckpal/testdata/PersistenceAdapter.java similarity index 94% rename from common/src/main/java/io/reflectoring/cashpal/testdata/PersistenceAdapter.java rename to common/src/main/java/io/reflectoring/buckpal/testdata/PersistenceAdapter.java index fc046f7..b4a465a 100644 --- a/common/src/main/java/io/reflectoring/cashpal/testdata/PersistenceAdapter.java +++ b/common/src/main/java/io/reflectoring/buckpal/testdata/PersistenceAdapter.java @@ -1,4 +1,4 @@ -package io.reflectoring.cashpal.testdata; +package io.reflectoring.buckpal.testdata; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; diff --git a/common/src/main/java/io/reflectoring/cashpal/testdata/SelfValidating.java b/common/src/main/java/io/reflectoring/buckpal/testdata/SelfValidating.java similarity index 94% rename from common/src/main/java/io/reflectoring/cashpal/testdata/SelfValidating.java rename to common/src/main/java/io/reflectoring/buckpal/testdata/SelfValidating.java index 4cfc62c..a9bd569 100644 --- a/common/src/main/java/io/reflectoring/cashpal/testdata/SelfValidating.java +++ b/common/src/main/java/io/reflectoring/buckpal/testdata/SelfValidating.java @@ -1,4 +1,4 @@ -package io.reflectoring.cashpal.testdata; +package io.reflectoring.buckpal.testdata; import javax.validation.ConstraintViolation; import javax.validation.ConstraintViolationException; diff --git a/common/src/main/java/io/reflectoring/cashpal/testdata/UseCase.java b/common/src/main/java/io/reflectoring/buckpal/testdata/UseCase.java similarity index 94% rename from common/src/main/java/io/reflectoring/cashpal/testdata/UseCase.java rename to common/src/main/java/io/reflectoring/buckpal/testdata/UseCase.java index 14dc188..c51f746 100644 --- a/common/src/main/java/io/reflectoring/cashpal/testdata/UseCase.java +++ b/common/src/main/java/io/reflectoring/buckpal/testdata/UseCase.java @@ -1,4 +1,4 @@ -package io.reflectoring.cashpal.testdata; +package io.reflectoring.buckpal.testdata; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; diff --git a/common/src/main/java/io/reflectoring/cashpal/testdata/WebAdapter.java b/common/src/main/java/io/reflectoring/buckpal/testdata/WebAdapter.java similarity index 94% rename from common/src/main/java/io/reflectoring/cashpal/testdata/WebAdapter.java rename to common/src/main/java/io/reflectoring/buckpal/testdata/WebAdapter.java index 97efee1..247946f 100644 --- a/common/src/main/java/io/reflectoring/cashpal/testdata/WebAdapter.java +++ b/common/src/main/java/io/reflectoring/buckpal/testdata/WebAdapter.java @@ -1,4 +1,4 @@ -package io.reflectoring.cashpal.testdata; +package io.reflectoring.buckpal.testdata; import org.springframework.core.annotation.AliasFor; import org.springframework.stereotype.Component; diff --git a/settings.gradle b/settings.gradle index d682820..65c95a1 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,7 +1,7 @@ include 'common' -include 'cashpal-configuration' +include 'buckpal-configuration' -include 'adapters:cashpal-web' -include 'adapters:cashpal-persistence' -include 'cashpal-application' -include 'cashpal-testdata' \ No newline at end of file +include 'adapters:buckpal-web' +include 'adapters:buckpal-persistence' +include 'buckpal-application' +include 'buckpal-testdata' \ No newline at end of file