Skip to content

ユーザー機能テストにおけるMS2(未病DB)メタデータ付与機能のテスト追加#39

Open
lieunguyen-tma wants to merge 2 commits into
RCOSDP:mainfrom
lieunguyen-tma:feature/metadata-mibyou-db
Open

ユーザー機能テストにおけるMS2(未病DB)メタデータ付与機能のテスト追加#39
lieunguyen-tma wants to merge 2 commits into
RCOSDP:mainfrom
lieunguyen-tma:feature/metadata-mibyou-db

Conversation

@lieunguyen-tma

@lieunguyen-tma lieunguyen-tma commented May 14, 2026

Copy link
Copy Markdown
Contributor

Purpose

MetadataアドオンのMS2(未病DB)メタデータ付与機能のテスト用Notebookを追加しました。

Changes

本PRの変更を「(1) 未病DBメタデータ付与テスト本体」と「(2) それを CI で実行するための共有CI基盤の修正」に分けて記載する。

(1) 未病DBメタデータ付与テスト本体(本リポジトリ内のみ/共有CIへの影響なし)

MetadataアドオンのMS2(未病DB)メタデータ付与機能のテスト手順を追加し、実行可能にするための変更。

  • テスト手順 テスト手順-Metadataアドオン-未病データベース.ipynb を新規追加。主なテスト内容:ログイン・プロジェクト作成、WEKOアプリ登録・SWORD Client設定(管理者権限アカウント)、FileMibyouDbMetadataForm による6セクション(測定手順・条件等 / フォルダ構成 / テキストファイル / エクセルファイル / 画像ファイル / 任意のファイル)の展開・入力・折りたたみ、メタデータの保存・再編集・値確認、WEKO(JairoCloud)へのメタデータ送信。
  • scripts/metadata_mibyou_db.py を新規追加(FieldType enum・FileMibyouDbMetadataForm クラス・セクション/フィールド/テーブル操作メソッドを含む未病DBメタデータフォーム用ヘルパーモジュール)。
  • resources/Datatest-Metadataアドオン-未病データベース/ にテスト用サンプルデータを追加(text1.csv / text1.tsv / text2.csv / excel1.xlsx / image1.png / image1.jpeg)。
  • 取りまとめ-Metadataアドオン.ipynb:機関管理者アカウント・WEKO関連パラメータ(idp_name_institutional_admin / weko_url 等)を parametersセルに追加、テスト手順-Metadataアドオン-未病データベース.ipynbrun_notebook 実行セルを追加(上記パラメータを伝播)。
  • 結合試験-実行.ipynb:機関管理者アカウント・WEKO関連パラメータを追加し、取りまとめ-Metadataアドオン.ipynb 呼び出し時に伝播するよう更新。
  • run_tests.py取りまとめ-Metadataアドオン.ipynb 呼び出し時に WEKO関連パラメータ(admin_rdm_url / weko_url / weko_admin_email / weko_admin_password / weko_index_name / idp_name_institutional_admin / idp_username_institutional_admin / idp_password_institutional_admin)を追加伝播するよう更新。

(2) 未病DBテストを CI で実行するための共有CI基盤の修正

(2-a) 未病DBアイテムタイプをWEKO DBへ投入する — .github/patches/ へのSQLパッチ追加

  • .github/patches/:未病DB itemtype 投入用 SQL パッチファイルを新規追加(item_type_name.sql / item_type.sql / item_type_mapping.sql / rocrate_mapping.sql / facet_search_setting.sql / sword_mapping_51000.json)。CI 環境の WEKO DB には初期状態で未病DB 専用アイテムタイプ(id=51000)が存在しないため、セットアップ時に投入する。item_type.sqlitem_type_mapping.sqlsword_mapping_51000.json からは 資源タイプ フィールドを除外(GRDM: string 型 / WEKO: object 型 の不一致回避)。
  • .github/patches/item_type.sql:WEKO ソース SQL の選択肢値に含まれる全角パイプ (U+FF5C)を半角パイプ |(U+007C)に修正。RDM-osf.io からのエクスポートデータは半角パイプを使用するため、SWORD チェックマッピング時の文字コード不一致を回避する。

(2-b) アイテムタイプ投入・SWORD mapping 登録・検証の追加 — setup_weko.sh の修正

  • .github/scripts/setup_weko.sh:CI WEKO セットアップ(install フェーズ)に以下を追加。
    • 未病DB アイテムタイプ SQL 投入:.github/patches/ の SQL ファイルを WEKO PostgreSQL コンテナに投入・実行(item_type_name.sql / item_type.sql / item_type_mapping.sql / rocrate_mapping.sql / facet_search_setting.sql)。
    • SWORD mapping 51000(未病アイテムタイプ)の insert/update 登録:id=51000 エントリ不在時は INSERT、既存は UPDATE。
    • SWORD mapping 51000 の検証:JsonLdMapper.validate() を実行し、マッピングエラー時は CI を失敗させる(mapping 30002 の既存検証と同様のロジックを 51000 にも追加)。

(2-c) WEKOセットアップ実行条件の拡張 — setup_rdm.sh / e2e-test.yml の修正

  • .github/scripts/setup_rdm.sh:WEKOの証明書セットアップ条件を WEKO_ENABLED=true のみから SKIP_METADATA=false の場合も含めるよう拡張(未病DBテストはWEKO接続を必要とするため)。
  • .github/workflows/e2e-test.yml
    • WEKOリポジトリのチェックアウト・セットアップ・起動・接続確認・ログ収集・停止の各ステップ実行条件を WEKO_ENABLED == 'true' のみから SKIP_METADATA == 'false' の場合も含めるよう拡張。run_tests.py 呼び出し時の --weko フラグ付与条件も同様に拡張。
    • user / user-metadata / user-minio エントリの include_adminfalse から true に変更(これら3テストグループでは管理者サービスの起動が必要であるため)。

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:

@lieunguyen-tma lieunguyen-tma force-pushed the feature/metadata-mibyou-db branch from 6ab2db2 to 1f4961e Compare July 14, 2026 09:15
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.

1 participant