Commit graph

746 commits

Author SHA1 Message Date
lucasgarfield
46ac78b1de api: update image builder api via npm run api
There have been some recent updates to the /experimental/ routes related
to blueprints, this commit pulls them in.
2024-01-22 15:31:33 +01:00
lucasgarfield
819863835b LandingPage: Hotfix to remove exposed blueprint buttons
Commit bae6435fd9 adds scaffolding for the
blueprint table. Blueprint features should be hidden behind experimental
flags. The new buttons related to creating blueprints and rebuilding
images in the header were not hidden behind the experimental flag, this
commit fixes that and does so.

bae6435fd9 also changed the header title
from "Image Builder" to "Images". This change has been a long time
coming - it is being left in for now. We may want to revisit the copy in
the popovers to align it as the term "Image Builder" is still being used
in those.
2024-01-22 10:06:40 +01:00
Amir
c2e7c34d6e feat(HMS-3386): add blueprints initial layout 2024-01-19 17:20:21 +01:00
regexowl
0982cbe8db test: Update tests
After bumping redux from 4.2.1 to 5.0.1 and @reduxjs/toolkit from 1.9.5 to 2.0.1 some tests started to fail. Added async logic solves the issue.
2024-01-19 10:23:02 +01:00
regexowl
fdad6adb92 deps: Bump redux and @reduxjs/toolkit
This bumps redux from version 4.2.1 to 5.0.1 and @reduxjs/toolkit from 1.9.5 to 2.0.1
2024-01-19 10:23:02 +01:00
regexowl
2a9fcd7470 Wizard: Indicate disabled packages
When a package is added to the chosen packages it stays in the list of available packages, but gets disabled as an option.

This adds a visual indication in a form of greyed out name of the package.
2024-01-19 09:47:46 +01:00
regexowl
f90718815b test: Replace .getBy queries by awaited .findBy
Components sometimes render slower than tests run which causes failures when the test suite expects elements that did not finish their rendering yet.

This should help to prevent most of possible problems with the rendering speed.
2024-01-17 17:19:57 +01:00
regexowl
7b61700c06 V2Wizard: Enable tests for the Registration step
This re-enables all the tests that are checking the behavior of the Registration step.
2024-01-17 09:33:13 +01:00
regexowl
360984df7c V2Wizard: Add components to the Registration step
This migrates all the needed components from Javascript and DDF to Typescript and RTK.

New slices were added for registration type and activation key.

Disabling the "Next" button should work correctly now.
2024-01-17 09:33:13 +01:00
regexowl
9ce438295d V2Wizard: Create a folder for Registration step and copy needed components
This created a new folder for the Registration step and copies components that will be needed:
- ActivationKeyInformation.tsx
- ActivationKeys.tsx
- Registration.tsx
- RegistrationKeyInformation.tsx
2024-01-17 09:33:13 +01:00
lucasgarfield
d26a7658db V2Wizard: Fix wizard initializeWizard action
Fixes #1552.

The wizardSlice's initializeWizard action was not working because when it
was passed to `dispatch()` as an argument it was missing the `()`...
oops!

It also needs to be dispatched inside of a useEffect hook with an empty
dependency array so that it is only dispatched once, when the wizard
opens.
2024-01-16 17:23:22 +01:00
regexowl
55686cc844 V2Wizard: Improve validators
Follow up to https://github.com/RedHatInsights/image-builder-frontend/pull/1548

This cleans up implementation for the AWS account ID ad GCP e-mail validators.
2024-01-15 17:37:28 +01:00
lucasgarfield
3ed2192358 V2Wizard: Enable GCP tests
All tests passing except when required to move to registration step as
it has not been implemented yet.
2024-01-15 16:42:28 +01:00
lucasgarfield
ce23667833 V2Wizard: Add datatest-id support to <ValidatedTextInput>
Adds a `dataTestId` prop to the `<ValidatedTextInput>`.
2024-01-15 16:42:28 +01:00
lucasgarfield
698037a7dc V2Wizard: Uncomment relevant GCP tests and add data-testids
The tests have not been modified at this point, only uncommented, so the
next commit will have a clear diff.

Some data-testids were added to radio selectors and the Google principle
input as well for use in the tests.
2024-01-15 16:42:28 +01:00
lucasgarfield
5a3726a4c8 V2Wizard: Update GCP validator and state management
The e-mail validator now requires a domain.

Switching from 'withGoogle' to 'withInsights' now sets the other GCP
related options to 'undefined' in order to keep the store state such
that it accurately reflects the current wizard state.

This is done in the reducer, not via a listener. That is a bit
inconsistent with the current listeners in place but this is an evolving
design and the inconsistency is acceptable for now. We may either accept
it, move the reducer actions here into listeners, or move the existing
listeners into reducers at some point in the future.
2024-01-15 16:42:28 +01:00
lucasgarfield
7c8cfe7f63 V2Wizard: Add <Gcp> step
`<Aws>` state is now managed with RTK instead of DDF.
2024-01-15 16:42:28 +01:00
mgold1234
3f51acdb85 Oscap: convert oscap javaScript file to typeScript file
this commit convert oscap file from JavaScript to TypeScript
2024-01-12 13:12:33 +01:00
Sanne Raymaekers
54a560670e api: update image builder api
Include the experimental blueprint endpoints.
2024-01-11 15:15:37 +01:00
lucasgarfield
9953207d25 V2Wizard: Refactor Aws step
We encountered a number of bugs with the previous implementation where
going to the next or previous step and returning to the AWS step
resulted in incorrectly displayed information about the selected source,
etc...

All state that needs to be available during the entire wizard life cycle
has been moved to RTK.
2024-01-11 09:22:18 +01:00
lucasgarfield
617b36ba4f V2Wizard: Enabled tests for <Aws> substep of Image Output step
Most tests now passing, the one test that requires submission (not
implemented yet) is still disabled.
2024-01-11 09:22:18 +01:00
lucasgarfield
091c34431e V2Wizard: Implement <Aws> subset of Image Output step
DDF has been dropped, RTK being used for state management now.
2024-01-11 09:22:18 +01:00
lucasgarfield
e5c55828e3 V2Wizard: Copy <AwsSourcesSelect> and convert to Typescript
No changes made, file simply copied so future commits have clear diffs
when dropping DDF.
2024-01-11 09:22:18 +01:00
lucasgarfield
f778b5431c V2Wizard: Create foundation for Target Environments substep AWS
Substep for an AWS target environment created in wizard, component to
follow in subsequent commit.
2024-01-11 09:22:18 +01:00
mgold1234
a0a08ff5e8 app: useEffect warning fixes
This commit addresses warnings related to the react-hooks/exhaustive-deps rule.
It resolves these warnings by adding the missing dependencies to the useEffect hook.
2024-01-09 14:23:10 +01:00
lucasgarfield
e5f37450a1 V2Wizard: Enable <TargetEnvironment> specific tests
These tests have been updated to satisfy Typescript and are passing.
2024-01-08 11:59:23 +01:00
lucasgarfield
0acb93fe12 V2Wizard: Copy TargetEnvironment specific tests
No changes have been made to this file yet, it has just been copied for
the V2 wizard and converted to .tsx.
2024-01-08 11:59:23 +01:00
lucasgarfield
0153b98d25 V2Wizard: Enable tests for Image Output step
Tests for the Image Output step are enabled and passing.
2024-01-08 11:59:23 +01:00
lucasgarfield
f41f3c51b7 V2Wizard: Add <CentOSAcknowledgement> to Target Output step
The state from RTK is now used to determine whether or not to display
the CentOS acknowledgement.
2024-01-08 11:59:23 +01:00
lucasgarfield
779416785f V2Wizard: Correctly enable/disable Next button for Image Output step
The 'next' button is now disabled if no target environments are selected
on the Image Output step.
2024-01-08 11:59:23 +01:00
lucasgarfield
788a63ead7 V2Wizard: Add listeners for <TargetEnvironment> in Image Output step
Listeners are used to monitor changes to the release (aka distribution)
and architecture. If either of these values is changed, the listener
will correct the list of target environments by removing unsupported
targets. e.g. aarch64 images do not support azure, if azure is a
selected target and the arch is changed from x86 to aarch64, azure will
be removed from the list of selected targets.
2024-01-08 11:59:23 +01:00
lucasgarfield
a3ef0cc2f7 V2Wizard: Add <TargetEnvironment> to Image Output step
DDF has been dropped from `<TargetEnvironment>`, state is managed with
RTK.
2024-01-08 11:59:23 +01:00
lucasgarfield
937219ba51 V2Wizard: Add <ArchSelect> to Image Output step
This commit drops the DDF dependency from the `<ArchSelect>`.
2024-01-08 11:59:23 +01:00
lucasgarfield
1f38ce5187 V2Wizard: Add <ReleaseLifecycle> to Image Output step
The `<ReleaseLifecycle>` component has dropped DDF and now uses RTK.
2024-01-08 11:59:23 +01:00
lucasgarfield
ad2bd7a31a V2Wizard: Add <ReleaseSelect> to Image Output step
The `<ReleaseSelect>` component now uses RTK instead of DDF. Some
additional small changes  were necessary due to Typescript - in
particular, we use a Map() to store the releases (in order to ensure
they appear in the correct order) and .tsconfig had to be modified to
allow iteration over the Map() object.
2024-01-08 11:59:23 +01:00
lucasgarfield
2465ab4b84 V2Wizard: Add <ImageOutput> skeleton
Adds the foundation for the image output step.
2024-01-08 11:59:23 +01:00
lucasgarfield
b446f1d1e4 V2Wizard: Copy components needed for image output step
The components for the architecture select, centos acknowledgement,
release select, and target environement have been copied and converted
to Typescript files. When these files are modified in future commits,
the result will be a clean diff where all changes made are obvious.
2024-01-08 11:59:23 +01:00
lucasgarfield
bb5ff08e2c V2Wizard: Restore tests
Uncomment all tests that should be passing up to this point in the V2
wizard development.
2024-01-08 11:24:54 +01:00
lucasgarfield
bb6bf51068 V2Wizard: Add <CreateImageWizard>
Adds the scaffolding for the V2 wizard, only empty Image output and
Review steps present at this time.
2024-01-08 11:24:54 +01:00
lucasgarfield
58fcdc0dab V2Wizard/Store: Add wizard slice
The V2 wizard's state will be managed using RTK. Adding a slice for the
wizard lays the groundwork.
2024-01-08 11:24:54 +01:00
lucasgarfield
f089080cb1 V2Wizard: Copy original wizard tests
The tests have been converted from .js to .tsx and all lines have been
commented out. As steps are added to the wizard, the relevant lines will
be uncommented. The V2 wizard can be considered finish when all
commented lines have been removed. Proceeding this way (as opposed to
starting with an empty test file and adding tests back) will help us
ensure we do not accidently 'drop' a test.
2024-01-08 11:24:54 +01:00
lucasgarfield
e1f66dd444 V2Wizard: Clean up for a fresh start
To make code reviews easier, these files are being removed for now. They
will be added back over time in a way that results in clearer diffs.
2024-01-08 11:24:54 +01:00
regexowl
3ac435db85 ImagesTable: Remove unused Skeleton
This removes an unused compoment from the imports.
2024-01-05 12:25:10 +01:00
regexowl
b3fade4a5f fixtures: Update repositories fixture based on the API generated code
This updates the type of `testingRepos` fixtures from `ApiRepositoryResponse[]` to `ApiRepositoryResponseRead[]`.

The new type was added automatically after bumping @rtk-query/codegen-openapi to a higher version. The difference between the types is the uuid field which is not a part of `ApiRepositoryResponse[]`.
2024-01-05 09:41:10 +01:00
regexowl
2ae670bf35 store: Run code generation after codegen-openapi version bump
These changes were made by running `npm run api` after a version bump of @rtk-query/codegen-openapi from 1.0.0 to 1.2.0
2024-01-05 09:41:10 +01:00
mgold1234
1b39c30dc2 wizard/oscap: update the oscap step to latest specifications
Before, in the Oscap step, the drop down select menu was only listing profile_ids
Now, it shows the profiles names. When the user selects one, the details about the
profile are displayed under the selection, improving user experience.

FIXES# HMS-3087
2024-01-04 13:38:27 +01:00
mgold1234
f597b6b854 fsc: fix array-callback-return linting warnings
this comit fixes the array-callback warning by changing map to foreach
and return null to the second map
2024-01-03 16:15:53 +01:00
mgold1234
262ac6d3be ImagesTable: fix grey box under AMI when image build is in progress
Previously a Skeleton component was used as a placeholder for an AMI when the build was still pending.
This removes the Skeleton and returns undefined rendering the AMI as empty.
2024-01-03 08:51:14 +01:00
regexowl
d96ebc9b3e store/test: Remove unused code
This cleans up the code base by removing actions and slices which are no longer in use.
2023-12-21 15:48:36 +01:00
regexowl
850e77eb01 API/test: Remove getVersion() Axios call
This removes `getVersion()` API call previously used in Axios.
2023-12-19 15:36:49 +01:00