Skip to content

Commit 9641597

Browse files
Added condition executor test
1 parent 668a1f4 commit 9641597

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
package condition_test
2+
3+
import (
4+
"soarca/internal/executors/condition"
5+
"soarca/models/cacao"
6+
"soarca/models/execution"
7+
mock_stix "soarca/test/unittest/mocks/mock_utils/stix"
8+
"testing"
9+
10+
"github.com/go-playground/assert/v2"
11+
"github.com/google/uuid"
12+
)
13+
14+
func TestExecuteConditionTrue(t *testing.T) {
15+
mock_stix := new(mock_stix.MockStix)
16+
17+
conditionExecutior := condition.New(mock_stix)
18+
19+
executionId := uuid.New()
20+
21+
meta := execution.Metadata{ExecutionId: executionId,
22+
PlaybookId: "1",
23+
StepId: "2"}
24+
25+
step := cacao.Step{Type: cacao.StepTypeIfCondition,
26+
Condition: "a = a",
27+
OnTrue: "3",
28+
OnFalse: "4"}
29+
vars := cacao.NewVariables()
30+
31+
mock_stix.On("Evaluate", "a = a", vars).Return(true, nil)
32+
33+
nextStepId, goToBranch, err := conditionExecutior.Execute(meta, step, vars)
34+
assert.Equal(t, nil, err)
35+
assert.Equal(t, true, goToBranch)
36+
assert.Equal(t, "3", nextStepId)
37+
38+
}
39+
40+
func TestExecuteConditionFalse(t *testing.T) {
41+
mock_stix := new(mock_stix.MockStix)
42+
43+
conditionExecutior := condition.New(mock_stix)
44+
45+
executionId := uuid.New()
46+
47+
meta := execution.Metadata{ExecutionId: executionId,
48+
PlaybookId: "1",
49+
StepId: "2"}
50+
51+
step := cacao.Step{Type: cacao.StepTypeIfCondition,
52+
Condition: "a = a",
53+
OnTrue: "3",
54+
OnFalse: "4"}
55+
vars := cacao.NewVariables()
56+
57+
mock_stix.On("Evaluate", "a = a", vars).Return(true, nil)
58+
59+
nextStepId, goToBranch, err := conditionExecutior.Execute(meta, step, vars)
60+
assert.Equal(t, nil, err)
61+
assert.Equal(t, true, goToBranch)
62+
assert.Equal(t, "3", nextStepId)
63+
64+
}

0 commit comments

Comments
 (0)