Skip to content

test: add mock server#102

Merged
so5 merged 6 commits into
RIKEN-RCCS:dev2025from
k-ota-sec:test/mock_server
Mar 18, 2026
Merged

test: add mock server#102
so5 merged 6 commits into
RIKEN-RCCS:dev2025from
k-ota-sec:test/mock_server

Conversation

@k-ota-sec
Copy link
Copy Markdown
Contributor

モックサーバーを使用した試験を追加しました

@so5 so5 merged commit 994fd11 into RIKEN-RCCS:dev2025 Mar 18, 2026
so5 pushed a commit that referenced this pull request Mar 24, 2026
* add create MockServer

* chg GHA実行の安定化

* chg モック対応済みのもののみゲートウェイサーバーを使用するように修正

* chg mock切替の修正に伴い、手順書一部周瀬尾

* fix モック時に無効な名称が反映されるのを修正 / issue#948をスキップ / jobExecuteのremotehostテストをスキップ

* [skip ci] update version number

---------

Co-authored-by: Yosuke Midorikawa <midorikawa-yousuke-k@sec.co.jp>
Co-authored-by: version-number-updater[bot] <action@github.com>
so5 pushed a commit to so5/OPEN-WHEEL that referenced this pull request Mar 24, 2026
* add create MockServer

* chg GHA実行の安定化

* chg モック対応済みのもののみゲートウェイサーバーを使用するように修正

* chg mock切替の修正に伴い、手順書一部周瀬尾

* fix モック時に無効な名称が反映されるのを修正 / issue#948をスキップ / jobExecuteのremotehostテストをスキップ

* [skip ci] update version number

---------

Co-authored-by: Yosuke Midorikawa <midorikawa-yousuke-k@sec.co.jp>
Co-authored-by: version-number-updater[bot] <action@github.com>
so5 added a commit that referenced this pull request Apr 25, 2026
…ions CI (#104)

* add sourceScript input field to task component's property sub-screen

* [skip ci] update version number

* fix jsonSchema

* Fix checker and source behavior

* remove job specific field when use job scheduler is false

* update AGENTS.md

* Add a fixed hostname to make UT more robust.

* update AGENTS.md

* replace PBS setting because xml output option is deprecated

* [WIP] support local and remote shared storage (not well tested)

* for, foreach, and while component support skip copy functionality

* implement direct file transfer between remotehosts by rsync

* update compose.yml for UT

* stop ignore log* files

* fix bug in test code

* add clean up process to Dispater UT

* remove some prompt from AGENTS.md and move to skills

* never re-run if task component is already stage-out phase. only file transfer will be occurred

* keep files on remotehost if it will be used inputFile of another component on remotehost even if cleanup Flag is true

* support mandatry option of each inputFiles

* revamp validation check

* add validater for source script on remotehost

* add validation check for inputFile overwriting

* add UI for root workflow's clean up setting

* support force copy option

* add description about mandatory flag of inputFile

* write JSON data with spaces

* refactor UT setup function

* gather target files will be automatically downloaded from remotehost inside PS component

* add validation check for gather/scatter target component existance

* queue in remotehost setting is now array of string. Older setting is found during bootup process, it will be automatically migrated

* add confirmation dialog when uploading to storage component cause overwriting

* change connector color

* add tooltip to connector

* move some input field of task component to advanced panel

* add header column to inputFiles and outputFiles

* validation error dialog is non-modal from now on

* remove all remote files which is kept for symlink target when project finish

* add xml attribute when files are transferd to hpciss/hpciss-tar component

* add attribute viewer and E2E test

* test: add mock server (#102)

* add create MockServer

* chg GHA実行の安定化

* chg モック対応済みのもののみゲートウェイサーバーを使用するように修正

* chg mock切替の修正に伴い、手順書一部周瀬尾

* fix モック時に無効な名称が反映されるのを修正 / issue#948をスキップ / jobExecuteのremotehostテストをスキップ

* [skip ci] update version number

---------

Co-authored-by: Yosuke Midorikawa <midorikawa-yousuke-k@sec.co.jp>
Co-authored-by: version-number-updater[bot] <action@github.com>

* test: fix some test failed (#103)

* test(cypress): fix e2e test home.cy.js

不具合発生試験を修正

* test(cypress): fix e2e test sourceAndViewer.cy.js

不具合発生試験を修正

* test(cypress): fix e2e test fix commands

deleteコマンドの不具合を修正

* test(cypress): fix e2e test open-bulkjobTask.cy.js

不具合発生試験を修正

* test(cypress): fix e2e test open-open-for.cy.js

不具合発生試験を修正
※他テスト向けのコマンド修正で正常に終了するようになった

* test(cypress): fix e2e test ps.cy.js

不具合発生試験を一部修正
psコンポーネント設定画面が開けていなかったのを修正

* test(cypress): chg e2e test

不具合発生試験にskipを付与

* test(cypress): chg e2e test

skipを付与部分にコメント追記

* createStepjobComponentAndDoubleClickにプロパティを閉じる処理を追加

* test(cypress): fix e2e test home.cy.js

不具合発生試験を修正

* test(cypress): fix e2e test sourceAndViewer.cy.js

不具合発生試験を修正

* fix stepjobTaskの失敗テスト修正

* test(cypress): fix e2e test stepjob.cy.js

不具合発生試験を一部修正
他修正で解消

* test(cypress): fix e2e test task.cy.js

不具合発生試験を一部修正
他修正で解消

* test(cypress): fix Apply code formatter

* test(cypress): fix e2e test while.cy.js

不具合発生試験を修正

* test(cypress): fix e2e test ps.cy.js

不具合発生試験を一部修正
画面側不具合と思われるテストにコメント追記

* test(cypress): fix e2e test bulkjobTask.cy.js

不具合発生試験を修正 
before指定のリモートアクセスがない場合のみ作成を行うように修正

* test(cypress): fix e2e test stepjob.cy.js

画面側不具合と思われるテストにコメント追記

* test(cypress): fix e2e test task.cy.js

不具合発生試験を一部修正
調査中・画面側不具合と思われる試験にコメントを追記

* test(cypress): fix e2e test task.cy.js

不具合発生試験を一部修正

* test(cypress): fix e2e test bulkjobTask.cy.js

リモートアクセスの追加処理を削除

* test(cypress): fix e2e test task.cy.js

不具合内容の記載をチケット#10821に合わせ修正

* test(cypress): fix e2e test while.cy.js

テスト実装の一部をコマンドで置き換え

* test(cypress): fix e2e test while.cy.js
commands-workFlow.js

ドロップダウン選択値コマンド
最終的な改修方針をTODOコメントとして記載

* test(cypress): fix e2e test  add skip

githubアクションでクラッシュ/失敗発生試験にスキップを付与

* test(cypress): fix e2e test foreach.cy.js

foreachの修正を反映

* test(cypress): fix e2e test source.cy.js

source.cy.jsの修正を反映

* test(cypress): fix e2e test viewer.cy.js

viewer.cy.jsの修正を反映

* test(cypress): fix e2e test hpcisstar.cy.js

hpcisstar.cy.jsの修正を反映

* test(cypress): fix e2e test hpciss.cy.js

hpciss.cy.jsの修正を反映

* test(cypress): fix e2e test if.cy.js

if.cy.jsの修正を反映

* test(cypress): fix e2e test remoteHost.cy.js

remoteHost.cy.jsの修正を反映

* test(cypress): fix e2e test bulkjobTask.cy.js

bulkjobTask.cy.jsの修正を反映

* test(cypress): fix e2e test storage.cy.js

storage.cy.jsの修正を反映

* test(cypress): fix e2e test workflow.cy.js

workflow.cy.jsの修正を反映

* test(cypress): fix e2e test bulkjobTask.cy.js

BulkjobTaskはクラッシュする症状が報告されているのでスキップを付与

* test(cypress): fix e2e test hpcisstar.cy.js

components\hpcisstar.cy.js 不具合発生でskipしていた試験
不具合解消が確認できたのでskip解除

* test(cypress): fix e2e test hpcisstar.cy.js

components\hpcisstar.cy.js 不具合発生でskipしていた試験
不具合解消が確認できたのでskip解除
sikip解除漏れ

* test(cypress): fix e2e test hpciss.cy.js

components\hpciss.cy.js
不具合発生でskipしていた試験
不具合解消が確認できたのでskip解除

* test(cypress): fix e2e test storage.cy.js

components\storage.cy.js 不具合発生でskipしていた試験
不具合解消が確認できたのでskip解除

新規不具合を確認した試験にはskip設定したままコメントにその旨を追記

* fix storage.cy.js_Filesに指定のディレクトリがないため失敗の解消 / skipの解除

* chg ghaのCYPRESS_WHEEL_PATH変更 / モックのログを修正

* [skip ci] update version number

---------

Co-authored-by: miyamori yuji <miyamori-yuji-k@sec.co.jp>
Co-authored-by: Yosuke Midorikawa <midorikawa-yousuke-k@sec.co.jp>
Co-authored-by: version-number-updater[bot] <action@github.com>

* implement direct file transfer between remotehosts by rsync

* format config file

* add and organize test scripts

* fix test environment only related github workflow

* use mock for CI

* - fix UT again
- add diagnostic message

* Use docker mock and gateway server to reduce memory usage

* fix E2E test

* remove dupulicated source script field

* fix E2E test again

* - fix dialog close but
- fix clean process

* fix edge case

* fix E2E test

* add missing files which is used in setComponentStateFinished

* re-enable auth test

* fix: implement clean component E2E tests with proper state setup

 - Add `prepareCleanComponentTest` Cypress command that sets project state
   to "finished", commits the state, creates a marker file, and stages it
   so that `cleanComponent` detects it as an unsaved change
 - Update `setComponentStateFinished` to reload the page and wait for
   `projectState === "finished"` so the context menu shows "clean"
 - Rewrite all 12 clean component tests to follow the 6-step pattern:
   set state → add file → git add → run clean → discard dialog → verify file removed
 - Add mock server support for clean component tests:
   - Track per-component file snapshots in `_COMPONENT_FILE_SNAPSHOTS`
   - Emit `unsavedFiles` event with added files on `cleanComponent`
   - Add `__testSetupCleanComponent` socket event and `setupCleanComponentTest` export
 - Add `setupMockCleanTest` Cypress task with socket.io-client fallback
   for Docker-hosted mock server
 - Add `test/cypress/fixtures/tmp_*.json` to `.gitignore`
 - Remove stale temporary fixture files

* pointer-events:none to the last breadcrumb item via v-breadcrumbs-item
 --disabled, which blocked the workflow play button click.

 Switched to #item slot to replace the entire <li>, preventing the
 auto-disable behavior. The last (leaf) item is manually set to
 pointer-events:none on the component-button to keep it non-clickable.

 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* remove unnesessary assertion

* remove only modifier from fixed test

* stop closing and re-opening dialog

* fix clean component test

* fix race condition in component property

* Fix memory leak error

* introduce serialization queue dedicated for each project

* use more reliable way

* tweak render timing

* Rewrite remotehost test because it is now dialog not independent page.

* remove unintentionaly added entry

* fix memory leak

* Reduce home screen visits to prevent Chrome renderer crashes

* fix minor resource leak

* arrange test scripts

* Revert timeout value

* introduce E2E test skill

* Skip hpciss and hpciss remote file browser test

* modify E2E test skill

* fix: use component state for context menu and fix fileBrowser race conditions

 - componentGraph: check targetComponent.state instead of projectState
   to decide between "clean" and "delete" context menu items so the menu
   reflects each component's individual run state
 - fileBrowser: reset activeItem/selectedFile when switching to a
   different component to prevent stale selection glitches
 - fileBrowser: add fileListSeq counter to drop in-flight getFileList
   callbacks that arrive after a newer request was issued
 - remotehostManager: track isLoaded flag and show table loading indicator
   until both getJobSchedulerLabelList and getHostList responses arrive

 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* add data-cy attribute

* fix: use live component state for context menu clean/delete decision

 componentContextMenuItems used targetComponent.state which could be
 stale after doClean replaced the component object in the store. Look up
 the current component by ID in currentComponent.descendants to get the
 live state, falling back to targetComponent.state when not found.

 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* add tweak for getFiles race condition

* fix file open race condition

* - Introduce drawerVisible variable which represent componentProperty visibility
- Use safer way to updateComponent

* hide componentProperty drawer after component unselected

* tmp commit: baseline

* fix remotehost test

* introduce SBS to project edit queue to cancel queued edit operation

* Add sentinel to ensure all edit workflow task is done before stopping/clearing queue

* - remove harmful try-catch block which introduced dbb0bb2 commit
- except inputFiles and outputFiles when updating with data from server

* drop some props from updateComponent because they must be changed by dedicated API

* reset mock server state to reduce project list

* add { transition: false } to prevent chrome renderer crash

* - check snackbar if file is saved or not
- fix lint error

* add test:e2e:mock:run script for GitHub Actions workflow

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix CI: add wheel_auth container and socket.io-client dependency

- Add wheel_auth container to run_cypress.yml (port 8090) for auth.cy.js
- Add wait for port 8090 to be ready
- Add socket.io-client to test/package.json dependencies (required for resetMockProjectList task)
- Add wheel_auth to cleanup/log collection steps

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* add wheel_config_auth to repository for CI

- Remove test/wheel_config_auth/ from .gitignore (files contain only empty JSON, no sensitive data)
- Add negation rules for remotehost.json and projectList.json in wheel_config_auth/
- Required by run_cypress.yml to start wheel_auth container for auth.cy.js tests

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: prevent Chrome renderer crash in CI and fix goHome cross-server navigation

- Add --disable-dev-shm-usage Chrome flag in CI only (GitHub Actions /dev/shm
  is 64MB, causing Chrome renderer crash during file upload in importProject)
- Fix goHome command to navigate to baseUrl when browser is left on a different
  server (e.g., after auth.cy.js which uses port 8090)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: increase /dev/shm size in CI to prevent Chrome renderer crash

GitHub Actions runners only have 64MB /dev/shm by default, which causes
Chrome to crash when processing file uploads in importProject.cy.js.
Mount a 512MB tmpfs at /dev/shm before running tests.
Remove --disable-dev-shm-usage flag (no longer needed with sufficient shm).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* test: fix timing-dependent failures in storage and task specs

- storage.cy.js: add .should('not.be.disabled') before every
  file_browser-remove_file-btn click. The remove button's enabled
  state depends on Vue's reactive isFileSelected computed which
  updates asynchronously after a treeview click. Without the guard,
  Cypress can attempt the click before the DOM update propagates,
  resulting in a 'element is disabled' error in a warm browser.

- commands-workFlow.js (cleanFileBrowserItems): same guard added
  for consistency and to prevent silent cleanup failures.

- task.cy.js: correct the assertion for
  'シェルスクリプト選択セレクトボックス表示確認' from
  .should('be.not.visible') to .should('be.visible').
  The test opens the advanced panel and the test name explicitly
  says the combobox should be displayed. The previous assertion
  accidentally passed because Cypress caught the element during
  the Vuetify expansion-panel open animation (height 0,
  overflow hidden) before it became visible. In a warm browser
  the animation completes faster and the incorrect assertion fails.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* update test document

* ignore version.json

* improve ps E2E test stability

---------

Co-authored-by: version-number-updater[bot] <action@github.com>
Co-authored-by: k-ota-sec <k-ota@sec.co.jp>
Co-authored-by: Yosuke Midorikawa <midorikawa-yousuke-k@sec.co.jp>
Co-authored-by: miyamori yuji <miyamori-yuji-k@sec.co.jp>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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