Commit graph

83 commits

Author SHA1 Message Date
Sanne Raymaekers
b43b938f28 app: Allow the IdentifyApp call to fail 2021-03-31 15:01:04 +01:00
Sanne Raymaekers
41f506219c routes: Remove root element mutation 2021-03-30 19:23:13 +01:00
Tomas Hozza
4777cdac76 Handle all valid image_status.status values
osbuild-composer and as a result also Image Builder are returning an
invalid `image_status.status` value "running" for composes which are in
progress.

Extend the front-end to handle all valid `image_status.status` values,
specifically also "building", "uploading" and "registering". Also keep
support for the invalid value "running" for some time to ensure backward
compatibility with older osbuild-composer versions.

Modify test cases in `ImagesTable.test.js` to verify all possible
`image_status.status` values. Also modify the `image_status` values used
for testing to what is actually returned by osbuild-composer Cloud API
and as a result also by Image Builder's API.

Signed-off-by: Tomas Hozza <thozza@redhat.com>
2021-03-25 16:45:23 +01:00
Tom Gundersen
782d6c684c ImagesTable: update empty-table message
Update the message now that we support CentOS Stream, Azure+GCP support as well as package selection.
2021-03-23 18:34:50 +01:00
Jacob Kozol
f00cf08506 CreateImageWizard: add registration validation
If register now is selected, an activation key is required. If no
activation key is entered the Next and Create buttons are disabled.
Also, if the activation key is empty an error message will appear to
prompt the user to enter an activation key.

The subscription errors variable is removed in favor of declaring the
error message directly in the registration step component. The
validateSubscription function is removed in favor of validating the
activation key field on change.
2021-03-23 18:34:27 +01:00
Jacob Kozol
6d147c95fc CreateImageWizard: default to register the image later 2021-03-23 18:34:27 +01:00
Chloe Kaubisch
a686fd970b CreateImageWizard: single upload_request
Change imageRequest to accept a single uploadRequest instead of
an array of uploadRequests.
2021-03-22 12:04:48 +01:00
Jacob Kozol
f268441d41 CreateImageWizard: validate upload destination
The user should not be able to continue without selecting an upload
destination. The uploadDestination fields are now checked to see if one
is selected before enabling the Next button in the footer. Also, the
onSaveInProgress variable is changed to isSaveInProgress to conform with
the other validation variables.
2021-03-15 14:37:27 +01:00
Sanne Raymaekers
b0614ae750 CreateImageWizard: Notification on successful compose response 2021-03-09 21:41:17 +00:00
Sanne Raymaekers
ef0f5e4a8d CreateImageWizard: Move footer to custom component
Adds an error message in some error cases.
2021-03-09 21:41:17 +00:00
Sanne Raymaekers
c325a310a2 ImagesTable: Instead of the image type show the upload target
Fixes #105
2021-03-08 13:33:46 +00:00
Ondřej Budai
afd0a81236 azure: fix the oauth link
Multi-tenant access needs the v2.0 route that requires:
- scope
- response_type

I also also added response_mode=form_post so the token isn't shown in
the address bar.
2021-03-08 11:48:09 +01:00
Ondřej Budai
6bbf141238 azure: open the login screen in a new window
my editor screamed at me that using target="_blank" without rel="noopener"
is dangerous so I added it as well.
2021-03-08 11:48:09 +01:00
Sanne Raymaekers
398eeb8cb2 CreateImageWizard: Add Azure upload step 2021-03-08 10:03:04 +00:00
Sanne Raymaekers
f3887a1d42 CreateImageWizard: Fix google image type
Image type gcp doesn't exist, it should be vhd.
2021-03-05 16:54:40 +00:00
Sanne Raymaekers
76108cb701 CreateImageWizard: Fix google share options
This needs to be an array of strings.
2021-03-05 16:38:36 +00:00
Jacob Kozol
22385fd5ea CreateImageWizard: add google upload step
The user can now specify their authentication settings for Google Cloud
Platform. These can be either a Google account, Service account, Google
group, or a domain.
2021-03-05 16:21:08 +01:00
Sanne Raymaekers
6adab8bd3b CreateImageWizard: Fix review step
The wizard crashed in the review step when registering the system later
was selected.
2021-03-03 12:36:53 +01:00
Sanne Raymaekers
971399aaeb App: Wait for user active session before checking permission 2021-03-02 16:28:28 +01:00
Jacob Kozol
43e87a184d CreateImageWizard: update review page
The review page now uses more patternfly components and has been split
up a little so it is easier to add review fields for additional target
environments.
2021-03-01 17:01:58 +01:00
Sanne Raymaekers
60589dd2c1 CreateImageWizard: Add selected packages to compose request 2021-02-24 20:28:37 +01:00
Jacob Kozol
f4cbf61b22 CreateImageWizard: update aws upload step
Update the text and title to better fit current designs.
2021-02-24 18:53:21 +00:00
Jacob Kozol
6b575c5478 CreateImageWizard: add package step
The additional package selection step is added to the create image
wizard. Users can now query for packages and select them from a list.
These packages are not yet passed into the blueprint customizations and
are just for display. Tests have been updated and added.
2021-02-24 18:50:02 +00:00
Jacob Kozol
5e81d5daf9 CreateImageWizard: support multiple upload providers
The user can now select between multiple upload providers. AWS, Azure,
and Google. The selection uses tiles and the user can select one or more
destinations. Currently, only aws supports setting the upload
parameters.

The icons point to files hosted on cloud.redhat.com.
2021-02-19 12:10:57 +01:00
Ondřej Budai
2ddbfa5255 add support for CentOS Stream 8
image-builder has recently got support for building CentOS Stream 8 images.
This commit adds the option to build these images in the frontend.
2021-02-18 19:30:01 +01:00
Sanne Raymaekers
005c0d783a CreateImageWizard: Set initial status correctly 2021-02-18 00:44:05 +00:00
Sanne Raymaekers
9a590a946e ImagesTable: Adapt to new compose status response 2021-02-17 19:16:14 +00:00
Sanne Raymaekers
17ff7d1c6d ImagesTable: Don't poll status when compose is complete 2021-02-17 19:16:14 +00:00
Sanne Raymaekers
a6938b9f23 ImagesTable: Clean up possible statuses
- building should be running
- registering and uploading aren't separate statuses
2021-02-17 19:16:14 +00:00
Sanne Raymaekers
7b696ac766 LandingPage: Add signup button to the under construction page 2021-02-16 13:51:56 +01:00
Sanne Raymaekers
3414607a48 App: Show under construction page if getversion fails 2021-02-09 15:48:57 +01:00
Sanne Raymaekers
0a575399c1 CreateImageWizard: Change image type to ami
Once we have multiple image types we need to make this dynamic based on
upload type. But qcow2 doesn't work under any circumstance so let's use
ami.
2021-02-05 12:28:14 +01:00
Jacob Kozol
b17d9b5325 CreateImageWizard: display in modal
The wizard now displays inside a modal.
2021-02-04 17:19:02 +01:00
Jacob Kozol
d66ef828f8 CreateImageWizard: remove isInPage
The isInPage wizard property was causing console errors in both the
browser and the tests.
2021-02-04 17:19:02 +01:00
Sanne Raymaekers
1883a065f7 Same folder name between presentational and smart components 2021-02-03 12:58:49 +01:00
Sanne Raymaekers
9bfa5f8c1f CreateImageWizard: Make sure to check the right error 2021-01-26 10:09:11 +01:00
Sanne Raymaekers
5adb8b581e CreateImageWizard: Only ask for aws account id in upload step 2020-12-18 11:46:01 +01:00
Jenn Giardino
9c1125cf37
LandingPage: Adds empty state when no images 2020-12-17 17:43:43 +01:00
Jenn Giardino
4cbd745ec5 Removes stack layout from wizard 2020-12-17 11:36:29 +01:00
Sanne Raymaekers
eca63afeed src: Replace Main with React.Fragment in App.js
We shouldn't apply any style at this point, and let any style be
determined by the page we're embedded in.
2020-12-16 17:24:39 +01:00
Jenn Giardino
5463af8cd6 Adds a Stack layout to have the wizard footer visible
TLDR; before this update the user always has to scroll to get to
the footer actions in the wizard.

There's a weird nested page section thing happening which results
in the wizard body+footer being 100% of the height of the main content
area, but when you add the wizard header as a separate section above
the 100% height wizard body+footer, the header pushes the wizard
contents down so that the bottom portion of the wizard (equal to the
height of the header, and roughly the height of the footer) is always out
of view. This means that the user always has to scroll to get to the
footer.
2020-12-16 11:39:29 +01:00
Jenn Giardino
b40f623f65 Includes additional PF toolbar components to complete the toolbar layout
I'm not certain that TableToolbar is the right component to use vs the PF Toolbar
but am leaving it for the moment.
2020-12-16 11:36:20 +01:00
Jenn Giardino
c6153c26b1 Updates target column to display the full cloud provider name 2020-12-16 11:36:20 +01:00
Jenn Giardino
38b277737e Updates release column in table to display a blue label 2020-12-16 11:36:20 +01:00
Jenn Giardino
142674b43b components: Moves wizard steps into separate files
Replaces the flex layout in Review step with more semantic `<dl>`
elements.

Be more compliant with designs.
2020-12-10 14:45:32 +01:00
Aleksandar Todorov
31eef3b83e tests: implement commented out assertion for the Create button
see previous commit for explanation why we do it like that!

Also simplify how the mocked backend API returns a promise and
wait for it on the assertions.
2020-11-30 13:32:40 +02:00
Aleksandar Todorov
7639452298 tests: Spy on history.push instead of trying to assert page change
When the SUT calls history.push that will cause a page redirect
inside the browser. However it doesn't cause the new page to be
rendered when running the test suite hence all assertions fail!

The reason for this is that Jest + RTL use jsdom under the hood,
which partially implements HTML/DOM APIs but **IS NOT** a browser!

It also turns out RTL is not well suited for end-to-end scenarios
which cover multiple pages.

This commit:

- patches renderWithReduxRouter() to also return the history object
  so we can set a spy on it later
- changes eslint confirugration to ignore unused variables starting
  with underscore
- updates the verifyCancelButton() function and scenarios which
  make use of it
2020-11-30 13:32:40 +02:00
Aleksandar Todorov
8fcc10006b Change verifyCancelButton to return a promise and wait on it
instead of waiting inside verifyCancelButton() make it return the
result of waitFor, which is a promise, and wait on it inside each
individual test scenario.
2020-11-30 13:32:40 +02:00
Sanne Raymaekers
3763457b8e package.json: Update major versions of react and patternfly 2020-11-27 11:35:23 +02:00
Aleksandar Todorov
49044c5746 tests: Redo waiting for elements to be removed to resolve warning
gets rid of:

Warning: You seem to have overlapping act() calls, this is not
supported. Be sure to await previous act() calls before making a
new one.
2020-11-25 12:07:36 +01:00