Skip to content

Commit bdb2d89

Browse files
khushi1310PriteshKiriJonsy13
authored andcommitted
fixed_issue (litmuschaos#5259)
Signed-off-by: khushi1310 <[email protected]> Co-authored-by: Pritesh Kiri <[email protected]> Co-authored-by: Vedant Shrotria <[email protected]> Signed-off-by: UJESH KUMAR YADAV <[email protected]>
1 parent 3a558e1 commit bdb2d89

File tree

1 file changed

+17
-4
lines changed
  • chaoscenter/graphql/server/pkg/chaos_experiment/handler

1 file changed

+17
-4
lines changed

chaoscenter/graphql/server/pkg/chaos_experiment/handler/handler.go

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,10 @@ func (c *ChaosExperimentHandler) SaveChaosExperiment(ctx context.Context, reques
8383
"experimentId": request.ID,
8484
}
8585

86-
// Check if the workflow_name exists under same project
86+
// Check if the experiment exists under same project
8787
wfDetails, err := c.chaosExperimentOperator.GetExperiment(ctx, bson.D{
8888
{"experiment_id", request.ID},
89-
{"tags", request.Tags},
89+
{"project_id", projectID},
9090
{"is_removed", false},
9191
})
9292
if err != nil && err != mongo.ErrNoDocuments {
@@ -160,12 +160,25 @@ func (c *ChaosExperimentHandler) CreateChaosExperiment(ctx context.Context, requ
160160

161161
var revID = uuid.New().String()
162162

163-
// Check if the experiment_name exists under same project
164-
err := c.validateDuplicateExperimentName(ctx, projectID, request.ExperimentName)
163+
// Fetch the existing experiment to check if name has changed
164+
existingExperiment, err := c.chaosExperimentOperator.GetExperiment(ctx, bson.D{
165+
{"experiment_id", *request.ExperimentID},
166+
{"project_id", projectID},
167+
{"is_removed", false},
168+
})
169+
165170
if err != nil {
166171
return nil, err
167172
}
168173

174+
// Check if the experiment_name exists under same project only if name has changed
175+
if existingExperiment.Name != request.ExperimentName {
176+
err = c.validateDuplicateExperimentName(ctx, projectID, request.ExperimentName)
177+
if err != nil {
178+
return nil, err
179+
}
180+
}
181+
169182
newRequest, wfType, err := c.chaosExperimentService.ProcessExperiment(ctx, request, projectID, revID)
170183
if err != nil {
171184
return nil, err

0 commit comments

Comments
 (0)