Skip to content

ユーザー機能テストにおけるWiki操作機能のテスト追加#36

Open
lieunguyen-tma wants to merge 3 commits into
RCOSDP:mainfrom
lieunguyen-tma:feature/wiki-operation
Open

ユーザー機能テストにおけるWiki操作機能のテスト追加#36
lieunguyen-tma wants to merge 3 commits into
RCOSDP:mainfrom
lieunguyen-tma:feature/wiki-operation

Conversation

@lieunguyen-tma

@lieunguyen-tma lieunguyen-tma commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

Purpose

Wiki操作のテストのためのNotebookを追加し、これを 結合試験-実行.ipynb から実行するための修正を行った。

追加された「テスト手順」ファイルの目的は以下の通りである。

  • テスト手順-Wiki操作-WikiDecoration.ipynb
    • Wikiページにおける装飾機能(テキスト装飾、リンク、リスト等)の動作を確認する
  • テスト手順-Wiki操作-WikiHierarchy.ipynb
    • Wikiページの階層構造(親子関係やページ構成)の作成・表示・操作が正しく動作することを確認する
  • テスト手順-Wiki操作-WikiImport.ipynb
    • Wikiページのインポート機能が正しく動作することを確認する

これらを実行するための「取りまとめ」ファイルである以下のファイルも追加した。

  • 取りまとめ-Wiki操作.ipynb

なお、Wiki操作のうち「WikiJoint(共同編集)」は、【A】【B】の2セッションを交互に操作する必要があり、現行の試験基盤への拡張実装が前提となること、およびCRDT同期・ネットワーク切断復旧検証の安定化に相応のコストを要することから、本PRではスコープ外とする。

Changes

本PRの変更を「(1) Wiki操作テスト本体」と「(2) それを CI で実行するための共有CI基盤の修正」に分けて記載する。

(1) Wiki操作テスト本体(本リポジトリ内のみ/共有CIへの影響なし)

Wiki操作(Import / Hierarchy / Decoration)のテスト手順を追加し、実行可能にするための変更。

  • テスト手順3本 テスト手順-Wiki操作-{WikiImport,WikiHierarchy,WikiDecoration}.ipynb と取りまとめ 取りまとめ-Wiki操作.ipynb を新規追加(既存の取りまとめ/テスト手順Notebookと同じ構成)。
  • scripts/grdm.py に Wiki操作用ヘルパ7件を追加(既存ヘルパと同じ async / Playwright locator 方式)。
  • resources/Datatest-Wiki/ にテストデータを追加。
  • 結合試験-実行.ipynb に手動実行時のスキップ用フラグ skip_wiki を追加。
  • フォルダアップロード手順(WikiImport / WikiHierarchy)を修正:アップロード完了待ち(progressbar が 0 になるまで)を追加し、アップロード状態モーダルの確認をファイル数に応じて条件化。

(2) Wiki操作テストを CI で実行するための共有CI基盤の修正(すべて WIKI_ENABLED=true のときのみ動作)

(2-a) Wiki画面を描画させる — wikiバンドルを OSF イメージへ組み込む

  • .github/workflows/e2e-test.ymlRDM-wiki-frontend をビルドし wiki-edit-page.js を OSF イメージへ組み込み、OSF_IMAGE を差し替え(既存の WEKO / Flowable の外部リポ取り込み・migration の OSF_IMAGE 差し替えと同じ方式)。

(2-b) Wiki編集のリアルタイム同期を動かす — y-websocket を起動

  • .github/workflows/e2e-test.yml(起動):RDM-y-websocket をクローン&ローカルで Docker イメージをビルドし、docker/y-websocket/docker-compose.yml を使って docker compose up -d で起動。
  • .github/workflows/e2e-test.yml(ログ収集・停止ステップ):y-websocket のコンテナログを y-websocket-logs.txt として収集し Artifact にアップロード(y-websocket-logs-{test-group})。その後 docker compose down -v でコンテナを停止(WEKO / Flowable の cleanup ブロックと同じ方式)。
  • .github/scripts/setup_rdm.shcreate_docker_overrideY_WEBSOCKET_URL の注入を追加(web サービスの環境変数として。未設定時はスキップ)。

(2-c) Wikiインポートを成功させる — ユーザー鍵を用意

  • .github/scripts/setup_test_data.pycreate_rdmuserkey() を追加し、WIKI_ENABLED 時のみ各テストユーザーの鍵レコードを投入(既存の各機能のデータ投入と同じくガード付き。鍵の実体は保存せずメタデータ行のみ)。
    • ※ ユーザー鍵は Wiki 機能が利用を前提とするデータで、Wiki 以外の機能テストでは不要(本PR以前も鍵は未投入で他テストは成功)。このため WIKI_ENABLED 時のみ投入する。

(2-d) Wikiテストを専用グループでのみ実行する(他グループへ影響させない)

  • .github/workflows/e2e-test.ymluser-wiki グループを追加+WIKI_ENABLED の算出(既存の user-weko-* / user-jupyterhub / user-workflow-* と同じく専用グループ化)。
  • .github/scripts/generate_ci_config.sh--wiki フラグを追加し wiki_enabled を CI 設定に出力(既存の --minio / --weko / --flowable と同じ)。
  • run_tests.pyrun_wiki_tests() を追加し wiki_enabled が false で早期リターン(既存の run_jupyterhub_tests / run_weko_tests / run_workflow_tests と同じパターン)。

Ticket

Custom Test Configuration

  • RDM_REPOSITORY: RCOSDP/RDM-osf.io
  • RDM_BRANCH: develop
  • OSF_IMAGE:
  • EMBER_IMAGE:
  • CAS_IMAGE:
  • MFR_IMAGE:
  • WB_IMAGE:
  • EXCLUDE_NOTEBOOKS:
  • WIKI_REPOSITORY: RCOSDP/RDM-wiki-frontend
  • WIKI_BRANCH: develop
  • Y_WEBSOCKET_REPOSITORY: RCOSDP/RDM-y-websocket
  • Y_WEBSOCKET_BRANCH: master

@yacchin1205 yacchin1205 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gitleaks による検出事項が残っているため、修正をお願いします。
このPRには、リポジトリの .gitleaks.toml で定義されている rdm-nii-url ルールに該当するURLがNotebook内に残っています。(実URLはレビューコメントには記載しません。)
必ず pre-commit hook を実行し、gitleaksを実行した上で再提出をお願いいたします。

@hidefumi-moritani

Copy link
Copy Markdown

gitleaks による検出事項が残っているため、修正をお願いします。 このPRには、リポジトリの .gitleaks.toml で定義されている rdm-nii-url ルールに該当するURLがNotebook内に残っています。(実URLはレビューコメントには記載しません。) 必ず pre-commit hook を実行し、gitleaksを実行した上で再提出をお願いいたします。

@yacchin1205

上記を含め、「Wiki操作機能」の対応が完了しました。上記の不備があり、申し訳ありませんでした。

CI基盤側の修正内容を本 Pull Request の「Changes」にまとめておりますので、お手数ですが、ご確認よろしくお願いします。

@lieunguyen-tma
lieunguyen-tma marked this pull request as ready for review July 17, 2026 03:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants