├── .gitignore ├── README.md ├── adapter ├── build.gradle.kts └── src │ └── main │ ├── kotlin │ └── com │ │ └── example │ │ └── adapter │ │ ├── ManageTransactionOutPortAdapter.kt │ │ ├── SendMoneyRepositoryImpl.kt │ │ ├── UserRepositoryImpl.kt │ │ ├── WalletRepositoryImpl.kt │ │ ├── http │ │ ├── UserFeignClient.kt │ │ └── config │ │ │ └── HttpConfig.kt │ │ ├── jpa │ │ ├── SendMoneyHistoryJpaEntity.kt │ │ ├── SendMoneyHistoryJpaRepository.kt │ │ ├── SendMoneyJpaEntity.kt │ │ ├── SendMoneyJpaRepository.kt │ │ ├── WalletJpaEntity.kt │ │ ├── WalletJpaRepository.kt │ │ └── config │ │ │ └── JpaConfig.kt │ │ ├── kafka │ │ └── KafkaConfig.kt │ │ ├── mapper │ │ ├── SendMoneyMapper.kt │ │ └── WalletMapper.kt │ │ └── redis │ │ ├── RedisConfig.kt │ │ └── RedisRepository.kt │ └── resources │ ├── application-jpa.yml │ ├── application-kafka.yml │ └── application-redis.yml ├── domain ├── build.gradle.kts └── src │ ├── main │ ├── kotlin │ │ └── com │ │ │ └── example │ │ │ └── domain │ │ │ ├── sendmoney │ │ │ ├── SendMoney.kt │ │ │ ├── SendMoneyRepository.kt │ │ │ └── SendMoneyStatus.kt │ │ │ └── user │ │ │ ├── User.kt │ │ │ └── UserRepository.kt │ └── resources │ │ └── application.properties │ └── test │ └── kotlin │ └── com │ └── example │ └── domain │ └── .keep ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle.kts ├── usecase ├── build.gradle.kts └── src │ ├── main │ ├── kotlin │ │ └── com │ │ │ └── example │ │ │ └── usecase │ │ │ ├── sendmoney │ │ │ ├── SendMoneyUseCase.kt │ │ │ ├── port │ │ │ │ └── in │ │ │ │ │ └── SendMoneyInPort.kt │ │ │ └── service │ │ │ │ └── SendMoneyFeeCalculator.kt │ │ │ ├── support │ │ │ └── port │ │ │ │ └── out │ │ │ │ └── ManageTransactionOutPort.kt │ │ │ └── wallet │ │ │ ├── Wallet.kt │ │ │ └── WalletRepository.kt │ └── resources │ │ └── application.properties │ └── test │ └── kotlin │ └── com │ └── example │ └── usecase │ └── .keep ├── web ├── build.gradle.kts └── src │ ├── integration-test │ ├── kotlin │ │ └── com │ │ │ └── example │ │ │ └── web │ │ │ ├── SendMoneyTest.kt │ │ │ ├── config │ │ │ ├── EmbeddedMockServer.kt │ │ │ ├── EmbeddedRedisConfig.kt │ │ │ └── IntegrationTestConfig.kt │ │ │ └── fixture │ │ │ └── SendMoneyRequestFixture.kt │ └── resources │ │ ├── application.yml │ │ └── mappings │ │ └── approve.json │ ├── main │ ├── kotlin │ │ └── com │ │ │ └── example │ │ │ └── web │ │ │ ├── SendMoneyApplication.kt │ │ │ ├── config │ │ │ └── AdapterConfig.kt │ │ │ ├── controller │ │ │ └── SendMoneyController.kt │ │ │ └── service │ │ │ └── .keep │ └── resources │ │ └── application.yml │ └── test │ ├── kotlin │ └── com │ │ └── example │ │ └── web │ │ └── SendMoneyFeeCalculatorTest.kt │ └── resources │ └── application.yml └── worker ├── build.gradle.kts └── src ├── integration-test ├── kotlin │ └── com │ │ └── example │ │ └── worker │ │ ├── CompleteNotSignedSendMoneyTest.kt │ │ └── config │ │ └── EmbeddedKafkaConfig.kt └── resources │ └── application.yml ├── main ├── kotlin │ └── com │ │ └── example │ │ └── worker │ │ ├── WorkerApplication.kt │ │ ├── config │ │ └── AdapterConfig.kt │ │ ├── consumer │ │ └── UserActionEventListener.kt │ │ └── scheme │ │ └── UserActionEvent.kt └── resources │ └── application.yml └── test └── kotlin └── com └── example └── worker ├── .keep └── SimpleTest.kt /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/README.md -------------------------------------------------------------------------------- /adapter/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/build.gradle.kts -------------------------------------------------------------------------------- /adapter/src/main/kotlin/com/example/adapter/ManageTransactionOutPortAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/src/main/kotlin/com/example/adapter/ManageTransactionOutPortAdapter.kt -------------------------------------------------------------------------------- /adapter/src/main/kotlin/com/example/adapter/SendMoneyRepositoryImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/src/main/kotlin/com/example/adapter/SendMoneyRepositoryImpl.kt -------------------------------------------------------------------------------- /adapter/src/main/kotlin/com/example/adapter/UserRepositoryImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/src/main/kotlin/com/example/adapter/UserRepositoryImpl.kt -------------------------------------------------------------------------------- /adapter/src/main/kotlin/com/example/adapter/WalletRepositoryImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/src/main/kotlin/com/example/adapter/WalletRepositoryImpl.kt -------------------------------------------------------------------------------- /adapter/src/main/kotlin/com/example/adapter/http/UserFeignClient.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/src/main/kotlin/com/example/adapter/http/UserFeignClient.kt -------------------------------------------------------------------------------- /adapter/src/main/kotlin/com/example/adapter/http/config/HttpConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/src/main/kotlin/com/example/adapter/http/config/HttpConfig.kt -------------------------------------------------------------------------------- /adapter/src/main/kotlin/com/example/adapter/jpa/SendMoneyHistoryJpaEntity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/src/main/kotlin/com/example/adapter/jpa/SendMoneyHistoryJpaEntity.kt -------------------------------------------------------------------------------- /adapter/src/main/kotlin/com/example/adapter/jpa/SendMoneyHistoryJpaRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/src/main/kotlin/com/example/adapter/jpa/SendMoneyHistoryJpaRepository.kt -------------------------------------------------------------------------------- /adapter/src/main/kotlin/com/example/adapter/jpa/SendMoneyJpaEntity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/src/main/kotlin/com/example/adapter/jpa/SendMoneyJpaEntity.kt -------------------------------------------------------------------------------- /adapter/src/main/kotlin/com/example/adapter/jpa/SendMoneyJpaRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/src/main/kotlin/com/example/adapter/jpa/SendMoneyJpaRepository.kt -------------------------------------------------------------------------------- /adapter/src/main/kotlin/com/example/adapter/jpa/WalletJpaEntity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/src/main/kotlin/com/example/adapter/jpa/WalletJpaEntity.kt -------------------------------------------------------------------------------- /adapter/src/main/kotlin/com/example/adapter/jpa/WalletJpaRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/src/main/kotlin/com/example/adapter/jpa/WalletJpaRepository.kt -------------------------------------------------------------------------------- /adapter/src/main/kotlin/com/example/adapter/jpa/config/JpaConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/src/main/kotlin/com/example/adapter/jpa/config/JpaConfig.kt -------------------------------------------------------------------------------- /adapter/src/main/kotlin/com/example/adapter/kafka/KafkaConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/src/main/kotlin/com/example/adapter/kafka/KafkaConfig.kt -------------------------------------------------------------------------------- /adapter/src/main/kotlin/com/example/adapter/mapper/SendMoneyMapper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/src/main/kotlin/com/example/adapter/mapper/SendMoneyMapper.kt -------------------------------------------------------------------------------- /adapter/src/main/kotlin/com/example/adapter/mapper/WalletMapper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/src/main/kotlin/com/example/adapter/mapper/WalletMapper.kt -------------------------------------------------------------------------------- /adapter/src/main/kotlin/com/example/adapter/redis/RedisConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/src/main/kotlin/com/example/adapter/redis/RedisConfig.kt -------------------------------------------------------------------------------- /adapter/src/main/kotlin/com/example/adapter/redis/RedisRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/src/main/kotlin/com/example/adapter/redis/RedisRepository.kt -------------------------------------------------------------------------------- /adapter/src/main/resources/application-jpa.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/src/main/resources/application-jpa.yml -------------------------------------------------------------------------------- /adapter/src/main/resources/application-kafka.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/src/main/resources/application-kafka.yml -------------------------------------------------------------------------------- /adapter/src/main/resources/application-redis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/adapter/src/main/resources/application-redis.yml -------------------------------------------------------------------------------- /domain/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/domain/build.gradle.kts -------------------------------------------------------------------------------- /domain/src/main/kotlin/com/example/domain/sendmoney/SendMoney.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/domain/src/main/kotlin/com/example/domain/sendmoney/SendMoney.kt -------------------------------------------------------------------------------- /domain/src/main/kotlin/com/example/domain/sendmoney/SendMoneyRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/domain/src/main/kotlin/com/example/domain/sendmoney/SendMoneyRepository.kt -------------------------------------------------------------------------------- /domain/src/main/kotlin/com/example/domain/sendmoney/SendMoneyStatus.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/domain/src/main/kotlin/com/example/domain/sendmoney/SendMoneyStatus.kt -------------------------------------------------------------------------------- /domain/src/main/kotlin/com/example/domain/user/User.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/domain/src/main/kotlin/com/example/domain/user/User.kt -------------------------------------------------------------------------------- /domain/src/main/kotlin/com/example/domain/user/UserRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/domain/src/main/kotlin/com/example/domain/user/UserRepository.kt -------------------------------------------------------------------------------- /domain/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /domain/src/test/kotlin/com/example/domain/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/gradlew.bat -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/settings.gradle.kts -------------------------------------------------------------------------------- /usecase/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/usecase/build.gradle.kts -------------------------------------------------------------------------------- /usecase/src/main/kotlin/com/example/usecase/sendmoney/SendMoneyUseCase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/usecase/src/main/kotlin/com/example/usecase/sendmoney/SendMoneyUseCase.kt -------------------------------------------------------------------------------- /usecase/src/main/kotlin/com/example/usecase/sendmoney/port/in/SendMoneyInPort.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/usecase/src/main/kotlin/com/example/usecase/sendmoney/port/in/SendMoneyInPort.kt -------------------------------------------------------------------------------- /usecase/src/main/kotlin/com/example/usecase/sendmoney/service/SendMoneyFeeCalculator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/usecase/src/main/kotlin/com/example/usecase/sendmoney/service/SendMoneyFeeCalculator.kt -------------------------------------------------------------------------------- /usecase/src/main/kotlin/com/example/usecase/support/port/out/ManageTransactionOutPort.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/usecase/src/main/kotlin/com/example/usecase/support/port/out/ManageTransactionOutPort.kt -------------------------------------------------------------------------------- /usecase/src/main/kotlin/com/example/usecase/wallet/Wallet.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/usecase/src/main/kotlin/com/example/usecase/wallet/Wallet.kt -------------------------------------------------------------------------------- /usecase/src/main/kotlin/com/example/usecase/wallet/WalletRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/usecase/src/main/kotlin/com/example/usecase/wallet/WalletRepository.kt -------------------------------------------------------------------------------- /usecase/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /usecase/src/test/kotlin/com/example/usecase/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /web/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/web/build.gradle.kts -------------------------------------------------------------------------------- /web/src/integration-test/kotlin/com/example/web/SendMoneyTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/web/src/integration-test/kotlin/com/example/web/SendMoneyTest.kt -------------------------------------------------------------------------------- /web/src/integration-test/kotlin/com/example/web/config/EmbeddedMockServer.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/web/src/integration-test/kotlin/com/example/web/config/EmbeddedMockServer.kt -------------------------------------------------------------------------------- /web/src/integration-test/kotlin/com/example/web/config/EmbeddedRedisConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/web/src/integration-test/kotlin/com/example/web/config/EmbeddedRedisConfig.kt -------------------------------------------------------------------------------- /web/src/integration-test/kotlin/com/example/web/config/IntegrationTestConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/web/src/integration-test/kotlin/com/example/web/config/IntegrationTestConfig.kt -------------------------------------------------------------------------------- /web/src/integration-test/kotlin/com/example/web/fixture/SendMoneyRequestFixture.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/web/src/integration-test/kotlin/com/example/web/fixture/SendMoneyRequestFixture.kt -------------------------------------------------------------------------------- /web/src/integration-test/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/web/src/integration-test/resources/application.yml -------------------------------------------------------------------------------- /web/src/integration-test/resources/mappings/approve.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/web/src/integration-test/resources/mappings/approve.json -------------------------------------------------------------------------------- /web/src/main/kotlin/com/example/web/SendMoneyApplication.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/web/src/main/kotlin/com/example/web/SendMoneyApplication.kt -------------------------------------------------------------------------------- /web/src/main/kotlin/com/example/web/config/AdapterConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/web/src/main/kotlin/com/example/web/config/AdapterConfig.kt -------------------------------------------------------------------------------- /web/src/main/kotlin/com/example/web/controller/SendMoneyController.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/web/src/main/kotlin/com/example/web/controller/SendMoneyController.kt -------------------------------------------------------------------------------- /web/src/main/kotlin/com/example/web/service/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /web/src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/web/src/main/resources/application.yml -------------------------------------------------------------------------------- /web/src/test/kotlin/com/example/web/SendMoneyFeeCalculatorTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/web/src/test/kotlin/com/example/web/SendMoneyFeeCalculatorTest.kt -------------------------------------------------------------------------------- /web/src/test/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/web/src/test/resources/application.yml -------------------------------------------------------------------------------- /worker/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/worker/build.gradle.kts -------------------------------------------------------------------------------- /worker/src/integration-test/kotlin/com/example/worker/CompleteNotSignedSendMoneyTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/worker/src/integration-test/kotlin/com/example/worker/CompleteNotSignedSendMoneyTest.kt -------------------------------------------------------------------------------- /worker/src/integration-test/kotlin/com/example/worker/config/EmbeddedKafkaConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/worker/src/integration-test/kotlin/com/example/worker/config/EmbeddedKafkaConfig.kt -------------------------------------------------------------------------------- /worker/src/integration-test/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/worker/src/integration-test/resources/application.yml -------------------------------------------------------------------------------- /worker/src/main/kotlin/com/example/worker/WorkerApplication.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/worker/src/main/kotlin/com/example/worker/WorkerApplication.kt -------------------------------------------------------------------------------- /worker/src/main/kotlin/com/example/worker/config/AdapterConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/worker/src/main/kotlin/com/example/worker/config/AdapterConfig.kt -------------------------------------------------------------------------------- /worker/src/main/kotlin/com/example/worker/consumer/UserActionEventListener.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/worker/src/main/kotlin/com/example/worker/consumer/UserActionEventListener.kt -------------------------------------------------------------------------------- /worker/src/main/kotlin/com/example/worker/scheme/UserActionEvent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/worker/src/main/kotlin/com/example/worker/scheme/UserActionEvent.kt -------------------------------------------------------------------------------- /worker/src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/worker/src/main/resources/application.yml -------------------------------------------------------------------------------- /worker/src/test/kotlin/com/example/worker/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /worker/src/test/kotlin/com/example/worker/SimpleTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Youhoseong/integration-test/HEAD/worker/src/test/kotlin/com/example/worker/SimpleTest.kt --------------------------------------------------------------------------------