Commit graph

728 commits

Author SHA1 Message Date
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
regexowl
b427c1a310 Wizard/test: Remove unused variables
This removes unused variable from the code.
2023-12-19 09:17:01 +01:00
Thomas Lavocat
33723c8a7d api/imageBuilder: fix the alert in case of failure
When a compose request was failing, the promises callback function was
crashing. The reason was because of a misuse of the error object. This
commit simply puts back the correct `path` to access the values within
the error object to fix it.
2023-12-18 09:03:30 +01:00
Thomas Lavocat
888630acea wizard: remove unused code from the implementation
There were some leftovers that needs to be removed. This commit simply
cleans them up.
2023-12-13 16:36:21 +01:00
regexowl
e7dee1edfe api: Remove unused Axios API calls
This removes Axios API calls which were replaced by RTK Query.
2023-12-12 13:09:31 +01:00
regexowl
79a0060697 store: Remove actions.js
This removes the `actions.js` file and its mocking from the LandingPage test as these actions are no longer used.
2023-12-12 12:25:16 +01:00
lucasgarfield
fabd3e015a redux store: define typed useSelector and useDispatch hooks
From the RTK docs:
```
Using configureStore should not need any additional typings. You will,
however, want to extract the RootState type and the Dispatch type so
that they can be referenced as needed. Inferring these types from the
store itself means that they correctly update as you add more state
slices or modify middleware settings.

----------------------------------------------------------------------

While it's possible to import the RootState and
AppDispatch types into each component, it's better to create pre-typed
versions of the useDispatch and useSelector hooks for usage in your
application. This is important for a couple reasons:

    For useSelector, it saves you the need to type (state: RootState)
    every time

    For useDispatch, the default Dispatch type does not know about
    thunks or other middleware. In order to correctly dispatch thunks,
    you need to use the specific customized AppDispatch type from the
    store that includes the thunk middleware types, and use that with
    useDispatch. Adding a pre-typed useDispatch hook keeps you from
    forgetting to import AppDispatch where it's needed.
```
source:
https://react-redux.js.org/using-react-redux/usage-with-typescript#define-root-state-and-dispatch-types
2023-12-08 09:37:25 +01:00
regexowl
44bb6f62ff test: Add a test checking if release lifecycle chart renders correctly
This adds a test that checks if the release lifecycle chart rendered only when RHEL 8 release is selected.
2023-12-07 19:39:58 +01:00
regexowl
c11f80188e test: Update release select option to partial match
With description added to the RHEL release options in Release select every query using name needed to be updated from full to partial match.
2023-12-07 19:39:58 +01:00
regexowl
014a0c1d70 Wizard: Add description to RHEL release options
This adds a description to RHEL options in the Release select on Image Output step as per mocks.
2023-12-07 19:39:58 +01:00
regexowl
f6d1b12b3c Wizard: Add annotation for current date
This adds a line annotation to mark the current date.
2023-12-07 19:39:58 +01:00
regexowl
51f68bda34 test: Mock ResizeObserver
This adds mocked ResizeObserver to the jest setup so the tests don't fail on charts created with Chart.js.
2023-12-07 19:39:58 +01:00
regexowl
fd30e5b634 Wizard: Add release lifecycle charts
This adds information about release lifecycle to the Image Output step of the Wizard. Summary is also shown on the Review step.
2023-12-07 19:39:58 +01:00
Sanne Raymaekers
2b29275c2a CreateImageWizard: move oci to stable
Move the oracle cloud infrastructure PR to stable.
2023-12-07 17:01:51 +01:00
regexowl
3e07472826 Wizard/ImagesTable/test: Change "VMWare" to "VMware"
The "w" in VMware should be lower case, this updates it in all places.
2023-12-05 13:20:42 +01:00
Sanne Raymaekers
cea1caf175 CreateImageWizard: proprely gate WSL images
`isBeta` is a function, so the check would also return true in stable.
2023-12-04 15:06:28 +01:00
regexowl
e011c4ba0b test: Await asynchronous setUp()
This adds await to call of asynchronous `setUp()` function. Previously this wasn't awaited which sometimes caused the tests to continue without being properly set up first.
2023-12-04 11:28:16 +01:00
lucasgarfield
c7dd831645 API: Update image-builder API
This commit updates the image-builder API due to these two recent
changes:

A new type added for the ClientId, used when differentiating between API
and UI users.
fce3d1c355

OpenSCAP profile names and descriptions.
1d292917d1
2023-12-04 10:48:29 +01:00
Sanne Raymaekers
31d286aac3 test/CreateImageWizard: Test compose requests sent by wizard 2023-12-01 13:11:07 +01:00