Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GEN-1910]: init workflow for UI E2E tests (using Cypress) #1910

Closed
wants to merge 244 commits into from

Conversation

BenElferink
Copy link
Contributor

@BenElferink BenElferink commented Dec 4, 2024

This pull request includes multiple changes to improve the end-to-end (E2E) testing workflow and add Cypress testing capabilities. The most important changes include updates to the E2E workflow configuration, Cypress configuration and tests, and new scripts for managing the Odigos UI.

E2E Workflow Configuration:

Cypress Configuration and Tests:

Odigos UI Management:

  • tests/common/odigos_ui.sh: Added a new script to manage the Odigos UI, including starting, stopping, and testing the frontend and backend processes.

Miscellaneous:

BenElferink and others added 30 commits October 20, 2024 05:28
This pull request includes several changes to improve the handling of
action types in the `CreateAction` and `UpdateAction` resolvers, as well
as the addition of a new update function for `AddClusterInfo` actions.
The most important changes involve refactoring action type strings into
constants and implementing the `UpdateAddClusterInfo` function.

### Refactoring action types:

*
[`frontend/graph/schema.resolvers.go`](diffhunk://#diff-8e6e95029056db2c0301fc338e0ca5a04356ce5d45ee9514bbd167f2d85bae70L560-R560):
Replaced hardcoded action type strings with constants from
`actionservices` for better maintainability.
[[1]](diffhunk://#diff-8e6e95029056db2c0301fc338e0ca5a04356ce5d45ee9514bbd167f2d85bae70L560-R560)
[[2]](diffhunk://#diff-8e6e95029056db2c0301fc338e0ca5a04356ce5d45ee9514bbd167f2d85bae70L569-R569)

### New update functionality:

*
[`frontend/graph/schema.resolvers.go`](diffhunk://#diff-8e6e95029056db2c0301fc338e0ca5a04356ce5d45ee9514bbd167f2d85bae70L582-R599):
Implemented the `UpdateAction` resolver to handle updating
`AddClusterInfo` actions.
*
[`frontend/services/actions/addclusterinfo.go`](diffhunk://#diff-c2da2861415e61f772e3b44d22810aa34b4eba6070f744709c4b1b6b919a3f09L70-R137):
Added the `UpdateAddClusterInfo` function to update existing
`AddClusterInfo` actions in Kubernetes.

### Constants definition:

*
[`frontend/services/actions/constants.go`](diffhunk://#diff-377602090c56364ea3a4d6cdadda1ad9b1c6ba9e122f882e5a1f640b1e62acf8R1-R7):
Added constants for action types `ActionTypeAddClusterInfo` and
`ActionTypeDeleteAttribute`.
This pull request introduces changes to the `DeleteAction` functionality
in the `frontend/graph` package, adding support for an `actionType`
parameter. This enhancement allows for more specific handling of
different action types during deletion.

Key changes include:

### GraphQL Schema and Resolvers

*
[`frontend/graph/schema.graphqls`](diffhunk://#diff-bc07b91dedd1782d9ddbbb6374ad97c7604f9a267de5174645723d863c732f80L314-R314):
Updated the `deleteAction` mutation to include an `actionType`
parameter.
*
[`frontend/graph/schema.resolvers.go`](diffhunk://#diff-8e6e95029056db2c0301fc338e0ca5a04356ce5d45ee9514bbd167f2d85bae70L603-R620):
Modified the `DeleteAction` resolver to handle different action types
based on the `actionType` parameter.

### Generated Code

*
[`frontend/graph/generated.go`](diffhunk://#diff-4bacf1f13939a5c243f3f83d21f4560b331d13667d81ea5945ed1f57ddb205f2L200-R200):
Updated the `DeleteAction` method signatures and complexity calculations
to include the `actionType` parameter.
[[1]](diffhunk://#diff-4bacf1f13939a5c243f3f83d21f4560b331d13667d81ea5945ed1f57ddb205f2L200-R200)
[[2]](diffhunk://#diff-4bacf1f13939a5c243f3f83d21f4560b331d13667d81ea5945ed1f57ddb205f2L266-R266)
[[3]](diffhunk://#diff-4bacf1f13939a5c243f3f83d21f4560b331d13667d81ea5945ed1f57ddb205f2L911-R911)
[[4]](diffhunk://#diff-4bacf1f13939a5c243f3f83d21f4560b331d13667d81ea5945ed1f57ddb205f2R1342-R1350)
[[5]](diffhunk://#diff-4bacf1f13939a5c243f3f83d21f4560b331d13667d81ea5945ed1f57ddb205f2L5793-R5802)

### Action Services

*
[`frontend/services/actions/addclusterinfo.go`](diffhunk://#diff-c2da2861415e61f772e3b44d22810aa34b4eba6070f744709c4b1b6b919a3f09R148-R162):
Added the `DeleteAddClusterInfo` function to handle the deletion of
`AddClusterInfo` actions.
*
[`frontend/services/actions/addclusterinfo.go`](diffhunk://#diff-c2da2861415e61f772e3b44d22810aa34b4eba6070f744709c4b1b6b919a3f09R13):
Imported `apierrors` for error handling in the new deletion function.
[GEN-1515]: fix stringify for graphql (odigos-io#1615)
This pull request introduces a new `ProbabilisticSamplerAction` to the
codebase, along with the necessary updates to support its creation,
update, and deletion. The key changes include adding the new action
type, updating the GraphQL schema, and implementing the corresponding
service functions.

### Addition of `ProbabilisticSamplerAction`:

*
[`frontend/graph/model/models_gen.go`](diffhunk://#diff-642ccd7ed71fdfa394bd7f7fd99c9c33e20ff18c876a91cb989d379a44390469R311-R337):
Added the `ProbabilisticSamplerAction` struct and its methods to the
model.
*
[`frontend/graph/schema.graphqls`](diffhunk://#diff-bc07b91dedd1782d9ddbbb6374ad97c7604f9a267de5174645723d863c732f80R309-R318):
Updated the GraphQL schema to include the `ProbabilisticSamplerAction`
type.

### Resolver Updates:

*
[`frontend/graph/schema.resolvers.go`](diffhunk://#diff-8e6e95029056db2c0301fc338e0ca5a04356ce5d45ee9514bbd167f2d85bae70L568-R571):
Updated the `CreateAction`, `UpdateAction`, and `DeleteAction` resolvers
to handle the new `ProbabilisticSamplerAction` type.
[[1]](diffhunk://#diff-8e6e95029056db2c0301fc338e0ca5a04356ce5d45ee9514bbd167f2d85bae70L568-R571)
[[2]](diffhunk://#diff-8e6e95029056db2c0301fc338e0ca5a04356ce5d45ee9514bbd167f2d85bae70L586-R591)
[[3]](diffhunk://#diff-8e6e95029056db2c0301fc338e0ca5a04356ce5d45ee9514bbd167f2d85bae70L617-R630)

### Constants Update:

*
[`frontend/services/actions/constants.go`](diffhunk://#diff-377602090c56364ea3a4d6cdadda1ad9b1c6ba9e122f882e5a1f640b1e62acf8L8-R9):
Added `ActionTypeProbabilisticSampler` and corrected the naming of
`ActionTypeLatencySampler`.

### Service Implementation:

*
[`frontend/services/actions/probabilisticsampler.go`](diffhunk://#diff-2f6dc14f04b67e0a11a5b999216a0e08f575927294c5033187b84f1179fb5624R1-R139):
Implemented the service functions `CreateProbabilisticSampler`,
`UpdateProbabilisticSampler`, and `DeleteProbabilisticSampler` to manage
`ProbabilisticSamplerAction` in Kubernetes.
Copy link

@BenElferink BenElferink closed this Dec 4, 2024
@BenElferink
Copy link
Contributor Author

PR moved to: #1912

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants