-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
프로젝트 생성, AWS 계정 연동, AWS 리소스 생성 로직 테스트 및 리팩토링
시나리오 1: 프로젝트 생성
API: POST /api/v1/organizations
Request 예시:
{
"orgName": "My Test Project",
"description": "테스트 프로젝트"
}테스트 체크리스트:
- HTTP 201 Created 응답 확인
- organizationId 반환 확인
- tenantKey 자동 생성 확인
- 데이터베이스에 Organization 레코드 생성 확인
- 데이터베이스에 Tenant 레코드 생성 확인 (1:1 관계)
시나리오 2: AWS 계정 연동
2-1. 자격증명 등록
API: POST /api/v1/cloud/credentials
Request 예시:
{
"tenantKey": "test-project-tenant-key",
"providerType": "AWS",
"accountScope": "123456789012",
"roleArn": "arn:aws:iam::123456789012:role/AgenticCPRole",
"externalId": "agenticcp-external-id-12345",
"sessionName": "AgenticCP-Session"
}테스트 체크리스트:
- HTTP 201 Created 응답 확인
- credentialsId 반환 확인
- 데이터베이스에 TenantCloudCredentials 레코드 생성 확인
- 중복 등록 시 기존 자격증명 반환 확인 (멱등성)
2-2. 연결 테스트
API: POST /api/v1/cloud/credentials/{credentialsId}/test
테스트 체크리스트:
- HTTP 200 OK 응답 확인
- data.success: true 확인
- errorMessage: null 확인
- lastUsedAt 업데이트 확인
- AWS STS AssumeRole 실제 성공 확인 (CloudWatch 로그 또는 AWS Console)
시나리오 3: AWS 리소스 생성 (S3 버킷)
API: POST /api/v1/cloud/s3/buckets?provider=AWS
Request 예시:
{
"bucketName": "my-test-bucket-12345",
"region": "ap-northeast-2",
"objectOwnership": "BucketOwnerEnforced",
"objectLockEnabled": false
}테스트 체크리스트:
- HTTP 201 Created 응답 확인
- 버킷 ID 반환 확인
- 등록된 자격증명을 통한 AWS API 호출 성공 확인
- AWS Console에서 실제 버킷 존재 확인
- 데이터베이스에 CloudResource 레코드 생성 확인
전체 플로우 검증
- 프로젝트 생성 → tenantKey 획득
- AWS 자격증명 등록 → credentialsId 획득
- 연결 테스트 → 성공 확인
- S3 버킷 생성 → 실제 리소스 생성 확인
전제 조건
- 데이터베이스 준비 완료
- AWS IAM Role 생성 및 Trust Policy 설정 완료
- 애플리케이션 실행 중
Metadata
Metadata
Assignees
Labels
No labels