diff --git a/.forge/BAIS-E2E-ANA-001-attempt-1.md b/.forge/BAIS-E2E-ANA-001-attempt-1.md deleted file mode 100644 index e7f321b..0000000 --- a/.forge/BAIS-E2E-ANA-001-attempt-1.md +++ /dev/null @@ -1,3 +0,0 @@ -# BAIS-E2E-ANA-001-attempt-1 - -Forge 이슈 작업 브랜치 `forge/BAIS-E2E-ANA-001-attempt-1`. diff --git a/.forge/BAIS-E2E-MIG-001-attempt-1.md b/.forge/BAIS-E2E-MIG-001-attempt-1.md new file mode 100644 index 0000000..0384ad0 --- /dev/null +++ b/.forge/BAIS-E2E-MIG-001-attempt-1.md @@ -0,0 +1,3 @@ +# BAIS-E2E-MIG-001-attempt-1 + +Forge 이슈 작업 브랜치 `forge/BAIS-E2E-MIG-001-attempt-1`. diff --git a/.forge/BAIS-NATIVE-1783698057-attempt-1.md b/.forge/BAIS-NATIVE-1783698057-attempt-1.md deleted file mode 100644 index ff1dd68..0000000 --- a/.forge/BAIS-NATIVE-1783698057-attempt-1.md +++ /dev/null @@ -1,3 +0,0 @@ -# BAIS-NATIVE-1783698057-attempt-1 - -Forge 이슈 작업 브랜치 `forge/BAIS-NATIVE-1783698057-attempt-1`. diff --git a/.forge/BAIS-SOURCE-1783702539-attempt-1.md b/.forge/BAIS-SOURCE-1783702539-attempt-1.md deleted file mode 100644 index b15de76..0000000 --- a/.forge/BAIS-SOURCE-1783702539-attempt-1.md +++ /dev/null @@ -1,3 +0,0 @@ -# BAIS-SOURCE-1783702539-attempt-1 - -Forge 이슈 작업 브랜치 `forge/BAIS-SOURCE-1783702539-attempt-1`. diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index 6622513..b7d7378 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -1,5 +1,5 @@ name: ci -on: [pull_request] +on: [push, pull_request] jobs: test: runs-on: ubuntu-latest diff --git a/docs/bais/source-inventory.md b/docs/bais/source-inventory.md deleted file mode 100644 index c791407..0000000 --- a/docs/bais/source-inventory.md +++ /dev/null @@ -1,27 +0,0 @@ -# BAIS 소스 인벤토리 분석 - -## 대표적인 C 모듈 - -1. **Module A** - - 설명: 이 모듈은 데이터 처리 기능을 제공합니다. - - 주요 함수: `processData()`, `initialize()`, `cleanup()` - -2. **Module B** - - 설명: 이 모듈은 사용자 인터페이스를 관리합니다. - - 주요 함수: `renderUI()`, `handleInput()`, `updateDisplay()` - -3. **Module C** - - 설명: 이 모듈은 네트워크 통신을 처리합니다. - - 주요 함수: `sendData()`, `receiveData()`, `connectToServer()` - -## 변환 위험 - -- **Module A**: 데이터 처리 로직이 복잡하여 변환 시 데이터 손실 위험이 존재. -- **Module B**: UI 요소가 다양한 플랫폼에서 다르게 동작할 수 있어 호환성 문제 발생 가능. -- **Module C**: 네트워크 프로토콜 변경 시 통신 오류 발생 가능성. - -## 신뢰도 격차 - -- **Module A**: 테스트 커버리지가 낮아 신뢰도 부족. -- **Module B**: 사용자 피드백 부족으로 UI의 직관성에 대한 신뢰도 문제. -- **Module C**: 외부 라이브러리에 의존하여 안정성에 대한 신뢰도 격차 존재. \ No newline at end of file diff --git a/pom.xml b/pom.xml index 38f992a..3e45ad2 100644 --- a/pom.xml +++ b/pom.xml @@ -1,18 +1,14 @@ - + 4.0.0 + com.example - bais-gate-e2e + bais-authorization-service 1.0-SNAPSHOT jar - - org.springframework.boot - spring-boot-starter-parent - 3.2.0 - - - 17 @@ -35,6 +31,11 @@ org.springframework.boot spring-boot-maven-plugin + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0-M5 + - + \ No newline at end of file diff --git a/src/main/java/com/example/authorization/AuthorizationService.java b/src/main/java/com/example/authorization/AuthorizationService.java new file mode 100644 index 0000000..a88d2e5 --- /dev/null +++ b/src/main/java/com/example/authorization/AuthorizationService.java @@ -0,0 +1,11 @@ +package com.example.authorization; + +import org.springframework.stereotype.Service; + +@Service +public class AuthorizationService { + public boolean hasAccess(String userRole, String resource) { + // 간단한 권한 확인 로직 + return "ADMIN".equals(userRole) || "USER".equals(userRole) && "RESOURCE".equals(resource); + } +} \ No newline at end of file diff --git a/src/main/java/com/example/baisgate/BaisGateApplication.java b/src/main/java/com/example/baisgate/BaisGateApplication.java deleted file mode 100644 index 451a245..0000000 --- a/src/main/java/com/example/baisgate/BaisGateApplication.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.example.baisgate; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class BaisGateApplication { - public static void main(String[] args) { - SpringApplication.run(BaisGateApplication.class, args); - } -} \ No newline at end of file diff --git a/src/main/java/com/example/baisgate/PaymentService.java b/src/main/java/com/example/baisgate/PaymentService.java deleted file mode 100644 index 489d52a..0000000 --- a/src/main/java/com/example/baisgate/PaymentService.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.example.baisgate; - -public class PaymentService { - public String approve(String transactionId) { - if (transactionId == null || transactionId.trim().isEmpty()) { - throw new IllegalArgumentException("Transaction ID cannot be blank"); - } - return "APPROVED:" + transactionId; - } -} \ No newline at end of file diff --git a/src/test/java/com/example/authorization/AuthorizationServiceTest.java b/src/test/java/com/example/authorization/AuthorizationServiceTest.java new file mode 100644 index 0000000..cad95c4 --- /dev/null +++ b/src/test/java/com/example/authorization/AuthorizationServiceTest.java @@ -0,0 +1,17 @@ +package com.example.authorization; + +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.*; + +class AuthorizationServiceTest { + + private final AuthorizationService authorizationService = new AuthorizationService(); + + @Test + void testHasAccess() { + assertTrue(authorizationService.hasAccess("ADMIN", "RESOURCE")); + assertTrue(authorizationService.hasAccess("USER", "RESOURCE")); + assertFalse(authorizationService.hasAccess("USER", "OTHER_RESOURCE")); + assertFalse(authorizationService.hasAccess("GUEST", "RESOURCE")); + } +} \ No newline at end of file diff --git a/src/test/java/com/example/baisgate/BaisGateApplicationTests.java b/src/test/java/com/example/baisgate/BaisGateApplicationTests.java deleted file mode 100644 index 1a8f4c5..0000000 --- a/src/test/java/com/example/baisgate/BaisGateApplicationTests.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.example.baisgate; - -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.context.SpringBootTest; - -@SpringBootTest -class BaisGateApplicationTests { - - @Test - void contextLoads() { - } -} \ No newline at end of file diff --git a/src/test/java/com/example/baisgate/PaymentServiceTest.java b/src/test/java/com/example/baisgate/PaymentServiceTest.java deleted file mode 100644 index 1caa7a9..0000000 --- a/src/test/java/com/example/baisgate/PaymentServiceTest.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.example.baisgate; - -import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.*; - -class PaymentServiceTest { - - @Test - void testApprove_WithValidTransactionId_ReturnsApproved() { - PaymentService paymentService = new PaymentService(); - String result = paymentService.approve("12345"); - assertEquals("APPROVED:12345", result); - } - - @Test - void testApprove_WithBlankTransactionId_ThrowsIllegalArgumentException() { - PaymentService paymentService = new PaymentService(); - Exception exception = assertThrows(IllegalArgumentException.class, () -> { - paymentService.approve(""); - }); - assertEquals("Transaction ID cannot be blank", exception.getMessage()); - } - - @Test - void testApprove_WithNullTransactionId_ThrowsIllegalArgumentException() { - PaymentService paymentService = new PaymentService(); - Exception exception = assertThrows(IllegalArgumentException.class, () -> { - paymentService.approve(null); - }); - assertEquals("Transaction ID cannot be blank", exception.getMessage()); - } -} \ No newline at end of file