ユーザー機能テストにおけるMS2(未病DB)メタデータ付与機能のテスト追加#39
Open
lieunguyen-tma wants to merge 2 commits into
Open
Conversation
db6510f to
9ca31fe
Compare
f649988 to
03fde55
Compare
6ab2db2 to
1f4961e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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を新規追加(FieldTypeenum・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アドオン-未病データベース.ipynbのrun_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.sql・item_type_mapping.sql・sword_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フェーズ)に以下を追加。.github/patches/の SQL ファイルを WEKO PostgreSQL コンテナに投入・実行(item_type_name.sql/item_type.sql/item_type_mapping.sql/rocrate_mapping.sql/facet_search_setting.sql)。id=51000エントリ不在時は INSERT、既存は UPDATE。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_ENABLED == 'true'のみからSKIP_METADATA == 'false'の場合も含めるよう拡張。run_tests.py呼び出し時の--wekoフラグ付与条件も同様に拡張。user/user-metadata/user-minioエントリのinclude_adminをfalseからtrueに変更(これら3テストグループでは管理者サービスの起動が必要であるため)。Ticket
Custom Test Configuration