Skip to content

Commit

Permalink
Added condition executor test
Browse files Browse the repository at this point in the history
  • Loading branch information
MaartendeKruijf committed May 6, 2024
1 parent 668a1f4 commit 9641597
Showing 1 changed file with 64 additions and 0 deletions.
64 changes: 64 additions & 0 deletions test/unittest/executor/condition/condition_executor_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
package condition_test

import (
"soarca/internal/executors/condition"
"soarca/models/cacao"
"soarca/models/execution"
mock_stix "soarca/test/unittest/mocks/mock_utils/stix"
"testing"

"github.com/go-playground/assert/v2"
"github.com/google/uuid"
)

func TestExecuteConditionTrue(t *testing.T) {
mock_stix := new(mock_stix.MockStix)

conditionExecutior := condition.New(mock_stix)

executionId := uuid.New()

meta := execution.Metadata{ExecutionId: executionId,
PlaybookId: "1",
StepId: "2"}

step := cacao.Step{Type: cacao.StepTypeIfCondition,
Condition: "a = a",
OnTrue: "3",
OnFalse: "4"}
vars := cacao.NewVariables()

mock_stix.On("Evaluate", "a = a", vars).Return(true, nil)

nextStepId, goToBranch, err := conditionExecutior.Execute(meta, step, vars)
assert.Equal(t, nil, err)
assert.Equal(t, true, goToBranch)
assert.Equal(t, "3", nextStepId)

}

func TestExecuteConditionFalse(t *testing.T) {
mock_stix := new(mock_stix.MockStix)

conditionExecutior := condition.New(mock_stix)

executionId := uuid.New()

meta := execution.Metadata{ExecutionId: executionId,
PlaybookId: "1",
StepId: "2"}

step := cacao.Step{Type: cacao.StepTypeIfCondition,
Condition: "a = a",
OnTrue: "3",
OnFalse: "4"}
vars := cacao.NewVariables()

mock_stix.On("Evaluate", "a = a", vars).Return(true, nil)

nextStepId, goToBranch, err := conditionExecutior.Execute(meta, step, vars)
assert.Equal(t, nil, err)
assert.Equal(t, true, goToBranch)
assert.Equal(t, "3", nextStepId)

}

0 comments on commit 9641597

Please sign in to comment.