Files
zellyy-finance/src/test-appwrite.ts
hansoo 9851627ff1 feat: Add CI/CD pipeline and code quality improvements
- Add GitHub Actions workflow for automated CI/CD
- Configure Node.js 18.x and 20.x matrix testing
- Add TypeScript type checking step
- Add ESLint code quality checks with enhanced rules
- Add Prettier formatting verification
- Add production build validation
- Upload build artifacts for deployment
- Set up automated testing on push/PR
- Replace console.log with environment-aware logger
- Add pre-commit hooks for code quality
- Exclude archive folder from linting

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12 15:27:54 +09:00

91 lines
3.1 KiB
TypeScript

/**
* Appwrite 연결 테스트 스크립트
*
* 이 파일은 Appwrite 서비스와의 연결을 테스트하기 위한 스크립트입니다.
* 개발 가이드라인에 따라 UI 스레드를 차단하지 않도록 비동기 처리와 오류 처리를 포함합니다.
*/
import { Client, Account } from "appwrite";
import { appwriteLogger } from "@/utils/logger";
// 설정 값 직접 지정
const endpoint = "https://a11.ism.kr/v1";
const projectId = "68182a300039f6d700a6"; // 올바른 프로젝트 ID
const apiKey =
"standard_9672cc2d052d4fc56d9d28e75c6476ff1029d932b7d375dbb4bb0f705d741d8e6d9ae154929009e01c7168810884b6ee80e6bb564d3fe6439b8b142ed4a8d287546bb0bed2531c20188a7ecc36e6f9983abb1ab0022c1656cf2219d4c2799655c7baef00ae4861fe74186dbb421141d9e2332f2fad812975ae7b4b7f57527cea";
// 테스트 함수
async function testAppwriteConnection() {
appwriteLogger.info("Appwrite 연결 테스트 시작...");
appwriteLogger.info("설정 정보:", {
endpoint,
projectId,
apiKey: apiKey ? "설정됨" : "설정되지 않음",
});
try {
// Appwrite 클라이언트 생성
const client = new Client();
client.setEndpoint(endpoint).setProject(projectId);
// 계정 서비스 초기화
const account = new Account(client);
// 연결 테스트 (익명 세션 생성 시도)
try {
appwriteLogger.info("익명 세션 생성 시도...");
const session = await account.createAnonymousSession();
appwriteLogger.info("익명 세션 생성 성공:", session.$id);
// 세션 정보 확인
try {
const user = await account.get();
appwriteLogger.info("사용자 정보 확인 성공:", user.$id);
} catch (userError) {
appwriteLogger.error("사용자 정보 확인 실패:", userError);
}
// 세션 삭제
try {
await account.deleteSession(session.$id);
appwriteLogger.info("세션 삭제 성공");
} catch (deleteError) {
appwriteLogger.error("세션 삭제 실패:", deleteError);
}
} catch (sessionError) {
appwriteLogger.error("익명 세션 생성 실패:", sessionError);
// 프로젝트 정보 확인 시도
try {
appwriteLogger.info("프로젝트 정보 확인 시도...");
// 프로젝트 정보는 API 키가 있어야 확인 가능
if (!apiKey) {
appwriteLogger.error(
"API 키가 없어 프로젝트 정보를 확인할 수 없습니다."
);
} else {
appwriteLogger.info(
"API 키가 있지만 클라이언트에서는 사용할 수 없습니다."
);
}
} catch (projectError) {
appwriteLogger.error("프로젝트 정보 확인 실패:", projectError);
}
}
} catch (error) {
appwriteLogger.error("Appwrite 클라이언트 생성 오류:", error);
}
appwriteLogger.info("Appwrite 연결 테스트 완료");
}
// 테스트 실행
testAppwriteConnection()
.then(() => {
appwriteLogger.info("테스트가 완료되었습니다.");
})
.catch((error) => {
appwriteLogger.error("테스트 중 예외 발생:", error);
});