3 Commits

Author SHA1 Message Date
Armel Soro
c0af267fd5 Fix Dev UI Cypress E2E tests (#6967)
* Start the API Server from the UI component itself

* Store Cypress screenshots and videos as test artifacts upon test failures

This should make it easier to understand and investigate.

* Increase timeout to find element via getByDataCy

The default timeout used to cause certain flakiness at times.

* Install Terminal Report Plugin [1] to log useful information about Cypress runs

It outputs actions, intercepted requests, console messages and errors directly to stdout in a convenient format.

[1] https://github.com/archfz/cypress-terminal-report

* Revert "Increase timeout to find element via getByDataCy"

This reverts commit 410b5c6c3f.

* Intercept network calls when clearing or saving DevState and wait until we get successful responses

In some cases, clicking too quickly led to inconsistent behavior, where for example the Containers tab would not be up-to-date yet

* Disable Angular telemetry when running 'ng serve'
2023-07-15 11:56:29 +02:00
Philippe Martin
649181c1dc Implement devfile state in odo api (#6941)
* POST /devstate/container

* Implement POST /devstate/container

* Generate DELETE /devstate/container/{containerName}

* Implement DELETE /devstate/container/{containerName}

* Serve /devstate/image

* Implement /devstate/image

* Serve /devstate/resource

* Implement /devstate/resource

* Move Components specific code to components.go

* Serve /devstate/*command

* Implement /devstate/*command

* Serve /devstate/metadata

* Implement /devstate/metadata

* Serve devstate/chart

* Implement /devstate/chart

* Create a DevfileContent schema reference

* Use `DELETE /command/{name}` instead of `DELETE /*Command/{name}`

* Serve /devstate/command/move

* Implement /devstate/command/move

* Serve /devstate/command/{name}/[un]setDefault

* Implement /devstate/command/{name}/[un]setDefault

* serve /devstate/events

* Implement /devstate/events

* Serve /devstate/quantityValid

* Implement /devstate/quantityValid

* Add json tag to API result value

* Sets a proxy for the API

* Move calls from wasm to api (first part)

* Implement PUT /devsatte/devfile

* Move calls from wasm to api (end)

* Implement GET /devstate/devfile

* Implement DELETE /devstate/devfile

* At startup, get devfile from api, not from localStorage

* Rename service wasmGo -> devstate

* Remove wasm module

* Update to latest devfile-lifecycle version, license compatible

* Apply suggestions from code review

Co-authored-by: Armel Soro <armel@rm3l.org>

* Remove wasm from ui/{Makefile/devfile.yaml}

* Define DevfileContent into apispec

* Define required fields

* Generate API models from front

* Regenerate API server after spec changes

* Fix examples case

* Fix github action e2e tests not running

* Make target for all generated api code

---------

Co-authored-by: Armel Soro <armel@rm3l.org>
2023-07-05 05:19:29 -04:00
Philippe Martin
6a4e964d5e Move from github.com/feloy/devfile-builder (#6937)
* Move from github.com/feloy/devfile-builder

* Update .github/workflows/ui-e2e.yaml

Co-authored-by: Armel Soro <armel@rm3l.org>

---------

Co-authored-by: Armel Soro <armel@rm3l.org>
2023-06-29 11:06:02 +02:00