Skip to content

WIP: Hds 4340 test branch - #31208

Closed
lane-wetmore wants to merge 16 commits into
mainfrom
hds-4340-test-branch
Closed

WIP: Hds 4340 test branch#31208
lane-wetmore wants to merge 16 commits into
mainfrom
hds-4340-test-branch

Conversation

@lane-wetmore

@lane-wetmore lane-wetmore commented Jul 3, 2025

Copy link
Copy Markdown
Contributor

Description

Testing after rebase

Wrap
Before After
TODO image
Create/edit policy
Before After
TODO image

TODO only if you're a HashiCorp employee

  • Backport Labels: If this fix needs to be backported, use the appropriate backport/ label that matches the desired release branch. Note that in the CE repo, the latest release branch will look like backport/x.x.x, but older release branches will be backport/ent/x.x.x+ent.
    • LTS: If this fixes a critical security vulnerability or severity 1 bug, it will also need to be backported to the current LTS versions of Vault. To ensure this, use all available enterprise labels.
  • ENT Breakage: If this PR either 1) removes a public function OR 2) changes the signature
    of a public function, even if that change is in a CE file, double check that
    applying the patch for this PR to the ENT repo and running tests doesn't
    break any tests. Sometimes ENT only tests rely on public functions in CE
    files.
  • Jira: If this change has an associated Jira, it's referenced either
    in the PR description, commit message, or branch name.
  • RFC: If this change has an associated RFC, please link it in the description.
  • ENT PR: If this change has an associated ENT PR, please link it in the
    description. Also, make sure the changelog is in this PR, not in your ENT PR.

PCI review checklist

  • I have documented a clear reason for, and description of, the change I am making.
  • If applicable, I've documented a plan to revert these changes if they require more than reverting the pull request.
  • If applicable, I've documented the impact of any changes to security controls.

Examples of changes to security controls include using new access control methods, adding or removing logging pipelines, etc.

@lane-wetmore
lane-wetmore requested a review from a team as a code owner July 3, 2025 19:15
@lane-wetmore lane-wetmore added the ui label Jul 3, 2025
@github-actions github-actions Bot added the hashicorp-contributed-pr If the PR is HashiCorp (i.e. not-community) contributed label Jul 3, 2025
@github-actions

github-actions Bot commented Jul 3, 2025

Copy link
Copy Markdown

Build Results:
All builds succeeded! ✅

@github-actions

github-actions Bot commented Jul 3, 2025

Copy link
Copy Markdown

CI Results: failed ❌

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull Request Overview

This PR refactors the legacy CodeMirror-based JSON editor to the new HDS CodeEditor, updates related helpers and test suites, and cleans up obsolete dependencies and styles.

  • Migrate JsonEditorComponent and templates to use HDS CodeEditor with new onBlur, onLint, and onSetup hooks.
  • Revamp the codemirror test helper: point at .hds-code-editor__editor, add setCodeEditorValue, getCodeEditorValue, and assertCodeBlockValue.
  • Update all affected tests to wait for .cm-editor and use the new helper functions instead of direct CodeMirror API calls.
  • Remove old CodeMirror dependencies and styles from package.json, build files, and SCSS.

Reviewed Changes

Copilot reviewed 53 out of 54 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
ui/lib/core/addon/components/json-editor.js Refactor JSON editor component to HDS CodeEditor API
ui/lib/core/addon/components/json-editor.hbs Update template to use <Hds::CodeBlock> for read-only mode
ui/tests/helpers/codemirror.js Revise helper to target .hds-code-editor__editor and add new APIs
ui/tests/integration/components/transit-key-actions-test.js Convert CM calls to setCodeEditorValue / getCodeEditorValue
ui/tests/** Bulk-update tests to await .cm-editor and use new helper methods
ui/package.json Remove obsolete codemirror and related type deps
ui/lib/core/addon/modifiers/code-mirror.js Remove legacy CodeMirror modifier
ui/app/styles/components/codemirror.scss Delete deprecated CodeMirror styles
Comments suppressed due to low confidence (2)

ui/lib/core/addon/components/json-editor.js:24

  • [nitpick] There are two @param {String} [value] entries in the jsdoc. Please remove the duplicate to avoid confusion.
 * @param {String} [value] - Value within the display. Generally, a json string.

ui/tests/integration/components/transit-key-actions-test.js:153

  • [nitpick] Consider importing and using the shared setEditorValue helper from vault/tests/helpers/codemirror.js to replace the waitFor + codemirror() + setCodeEditorValue pattern for better consistency and reduced duplication.
    await waitFor('.cm-editor');

const cm = element.CodeMirror;
invariant(cm, `No registered CodeMirror instance for '.CodeMirror'`);
const cm = element.editor;
invariant(cm, `No registered CodeMirror instance for ''${selector}'`);

Copilot AI Jul 3, 2025

Copy link

Choose a reason for hiding this comment

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

The invariant message has extra single quotes around the selector; remove the redundant quotes so it reads No registered CodeMirror instance for '${selector}'.

Suggested change
invariant(cm, `No registered CodeMirror instance for ''${selector}'`);
invariant(cm, `No registered CodeMirror instance for '${selector}'`);

Copilot uses AI. Check for mistakes.
@lane-wetmore
lane-wetmore marked this pull request as draft July 3, 2025 20:43
@lane-wetmore
lane-wetmore deleted the hds-4340-test-branch branch July 3, 2025 21:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hashicorp-contributed-pr If the PR is HashiCorp (i.e. not-community) contributed pr/no-changelog pr/no-milestone ui

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants