Files
ExperionCrawler/dxf-graph/next_todo_list_hist_section.md
windpacer 7330711499 chore: 프로젝트 파일 구조 정리 - 루트 파일 폴더별 이동, 테스트/구버전 삭제
루트 파일 정리:
- DXF/P&ID 관련 → dxf-graph/
- fastTable 관련 → fastTable/
- plan/ → plans/ 통합 (최신 버전 유지)
- 테스트 출력 파일, 구버전 프로젝트 삭제
- 불필요한 루트 문서 삭제
2026-05-10 17:39:58 +09:00

4.0 KiB

테스트 함수

함수 API 엔드포인트 테스트 항목
histLoad() GET /api/history/tagnames 1. 태그 이름 목록 로드
2. 8개 선택란 드롭다운 채움
3. 기존 선택값 보존
histQuery() GET /api/history/query 또는 POST /api/text-to-sql/query-history-interval 1. 단일 태그 조회
2. 다중 태그 조회
3. 기본 간격(5분) 처리
4. 1분 강제 처리
5. 사용자 간격(1시간, 1일 등) 처리
6. 시간 범위 필터
7. limit 파라미터
8. 테이블 렌더링
histReset() - 1. 모든 태그 선택 초기화
2. 시간 필드 초기화
3. 간격 및 limit 기본값 복구
4. 결과 숨김
htLoadStatus() GET /api/experion/hypertable/status 1. 하이퍼테이블 존재 여부 확인
2. 레코드 개수 표시
3. 보관 정책 확인
4. 압축 상태 확인
5. 연속 집계 상태 확인
htCreate() POST /api/experion/hypertable/create 1. 기본값으로 생성
2. 보관 정책 활성화
3. 압축 활성화
4. 연속 집계 생성
5. 데이터 마이그레이션
6. 기존 테이블이 있을 때 처리
htToggleRetention() - 1. 체크박스 상태 확인
2. 상태 메시지 변경
htToggleCompression() - 1. 체크박스 상태 확인
2. 상태 메시지 변경

테스트 시나리오

  1. 태그 불러오기: 태그 선택 버튼 → 8개 드롭다운 채움
  2. 기본 조회: 1개 태그, 간격=5분 → 기본 API 호출 확인
  3. 다중 태그 조회: 2개 태그 → OR 쿼리 확인
  4. 1분 간격: #hf-interval = 1 minute → HistoryIntervalRowDto 처리
  5. 사용자 간격: #hf-interval = 1 hour → Text-to-SQL API 호출 확인
  6. 테이블 렌더링: 결과 데이터 → timeBucket 또는 recordedAt 열 사용
  7. 하이퍼테이블 상태: 상태 버튼 → 현재 테이블 구조 표시
  8. 하이퍼테이블 생성: 하이퍼테이블이 없을 때 생성 확인
  9. 보관 정책 설정: 체크박스 → RetentionPolicy 확인
  10. 압축 설정: 체크박스 → Compression 확인
  11. 초기화: 초기화 버튼 → 모든 필드 초기화 확인

하이퍼테이블 하위 테스트

htLoadStatus() 테스트

항목 확인 포인트
테이블 존재 isHypertable: true/false, tableName: string
레코드 수 recordCount: number
보관 정책 hasRetentionPolicy: true/false
압축 hasCompression: true/false
연속 집계 hasContinuousAggregate: true/false

htCreate() 테스트

항목 리턴값
성공 { success, message, tableName }
충돌(409) { tableName } → 테이블 이미 있음
오류(500) { success, message } → 생성 실패

📝 전체 테스트 목록 요약

Phase 1 완료 항목 (1-7)

  • 01 인증서 관리 (cert) - 4개 함수, 4개 시나리오
  • 02 서버 접속 테스트 (conn) - 4개 함수, 4개 시나리오
  • 03 데이터 크롤링 (crawl) - 2개 함수, 5개 시나리오
  • 04 DB 저장 (db) - 4개 함수, 5개 시나리오
  • 05 노드맵 대시보드 (nm-dash) - 5개 함수, 5개 시나리오
  • 06 포인트빌더 (pb) - 9개 함수, 6개 시나리오
  • 07 이력 조회 (hist) - 7개 함수, 11개 시나리오 (작업 시작)

🗺️ 전체 테스트 플로우

flowchart TD
    A[인증서 관리 cert] --> B[서버 접속 conn]
    B --> C[데이터 크롤링 crawl]
    C --> D[DB 저장 db]
    D --> E[노드맵 대시보드 nm-dash]
    E --> F[포인트빌더 pb]
    F --> G[이력 조회 hist]
    
    subgraph Phase1 [Phase 1: UI 테스트 계획]
        A
        B
        C
        D
        E
        F
        G
    end