Skip to content

Commit 77029e7

Browse files
committed
test: add more chainsaw e2e tests for artifact update scenario
Signed-off-by: cannarelladev <cannarella.dev@gmail.com>
1 parent 3a0d37a commit 77029e7

File tree

12 files changed

+210
-24
lines changed

12 files changed

+210
-24
lines changed

.github/chainsaw/chainsaw-config.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,6 @@ spec:
1515
failFast: false
1616
# Run tests in parallel
1717
parallel: 6
18-
# Report format
19-
reportFormat: JSON
20-
reportName: chainsaw-report
2118
# Skip delete (useful for debugging)
2219
skipDelete: false
2320
# Catch configuration for debugging (uses test namespace automatically)
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
apiVersion: artifact.falcosecurity.dev/v1alpha1
2+
kind: Config
3+
metadata:
4+
name: config-test
5+
spec:
6+
config: |
7+
json_output: false
8+
json_include_output_property: false
9+
log_stderr: true
10+
log_syslog: true
11+
log_level: debug

.github/chainsaw/config-inline/chainsaw-test.yaml

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ kind: Test
33
metadata:
44
name: config-inline
55
spec:
6-
description: Test Config with inline configuration
6+
description: Test Config with inline configuration (create and update)
77
steps:
88
- name: Create Falco instance
99
try:
@@ -45,3 +45,26 @@ spec:
4545
env:
4646
- name: NAMESPACE
4747
value: ($namespace)
48+
- name: Update Config with new content
49+
try:
50+
- apply:
51+
file: 03-config-updated.yaml
52+
- name: Verify config file was updated
53+
try:
54+
- command:
55+
entrypoint: bash
56+
args:
57+
- ./verify-update.sh
58+
timeout: 120s
59+
env:
60+
- name: NAMESPACE
61+
value: ($namespace)
62+
catch:
63+
- command:
64+
entrypoint: bash
65+
args:
66+
- ../scripts/debug-artifact.sh
67+
timeout: 30s
68+
env:
69+
- name: NAMESPACE
70+
value: ($namespace)
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/bash
2+
set -e
3+
4+
# Source common functions - chainsaw runs from test directory
5+
source ../scripts/common.sh
6+
7+
CONFIG_FILE="/etc/falco/config.d/50-config-test.yaml"
8+
9+
# Wait for content to be updated (json_output changed from true to false)
10+
wait_for_content_update "$CONFIG_FILE" "json_output: false" "json_output: true"
11+
12+
verify_falco_running
13+
14+
echo "Update verification passed"
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: artifact.falcosecurity.dev/v1alpha1
2+
kind: Rulesfile
3+
metadata:
4+
name: rulesfile-inline
5+
spec:
6+
priority: 50
7+
inlineRules: |
8+
- rule: Test Inline Rule Updated
9+
desc: Updated test rule for e2e reconciliation testing
10+
condition: evt.type = open
11+
output: "Updated rule triggered"
12+
priority: INFO
13+
enabled: false

.github/chainsaw/rulesfile-inline/chainsaw-test.yaml

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ kind: Test
33
metadata:
44
name: rulesfile-inline
55
spec:
6-
description: Test Rulesfile with inline rules
6+
description: Test Rulesfile with inline rules (create and update)
77
steps:
88
- name: Create Falco instance
99
try:
@@ -45,3 +45,26 @@ spec:
4545
env:
4646
- name: NAMESPACE
4747
value: ($namespace)
48+
- name: Update Rulesfile with new content
49+
try:
50+
- apply:
51+
file: 03-rulesfile-updated.yaml
52+
- name: Verify rules file was updated
53+
try:
54+
- command:
55+
entrypoint: bash
56+
args:
57+
- ./verify-update.sh
58+
timeout: 120s
59+
env:
60+
- name: NAMESPACE
61+
value: ($namespace)
62+
catch:
63+
- command:
64+
entrypoint: bash
65+
args:
66+
- ../scripts/debug-artifact.sh
67+
timeout: 30s
68+
env:
69+
- name: NAMESPACE
70+
value: ($namespace)
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/bash
2+
set -e
3+
4+
# Source common functions - chainsaw runs from test directory
5+
source ../scripts/common.sh
6+
7+
RULES_FILE="/etc/falco/rules.d/50-03-rulesfile-inline-inline.yaml"
8+
9+
# Wait for content to be updated (check for "Updated" which only exists in new version)
10+
wait_for_content_update "$RULES_FILE" "Rule Updated"
11+
12+
verify_falco_running
13+
14+
echo "Update verification passed"
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
apiVersion: artifact.falcosecurity.dev/v1alpha1
2+
kind: Rulesfile
3+
metadata:
4+
name: rulesfile-oci
5+
spec:
6+
priority: 60
7+
ociArtifact:
8+
reference: ghcr.io/falcosecurity/rules/falco-rules:latest

.github/chainsaw/rulesfile-oci/chainsaw-test.yaml

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ kind: Test
33
metadata:
44
name: rulesfile-oci
55
spec:
6-
description: Test Rulesfile with OCI artifact reference
6+
description: Test Rulesfile with OCI artifact reference (create and update priority)
77
steps:
88
- name: Create Falco instance
99
try:
@@ -45,3 +45,26 @@ spec:
4545
env:
4646
- name: NAMESPACE
4747
value: ($namespace)
48+
- name: Update Rulesfile priority
49+
try:
50+
- apply:
51+
file: 03-rulesfile-updated.yaml
52+
- name: Verify rules file was renamed
53+
try:
54+
- command:
55+
entrypoint: bash
56+
args:
57+
- ./verify-update.sh
58+
timeout: 120s
59+
env:
60+
- name: NAMESPACE
61+
value: ($namespace)
62+
catch:
63+
- command:
64+
entrypoint: bash
65+
args:
66+
- ../scripts/debug-artifact.sh
67+
timeout: 30s
68+
env:
69+
- name: NAMESPACE
70+
value: ($namespace)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
set -e
3+
4+
# Source common functions - chainsaw runs from test directory
5+
source ../scripts/common.sh
6+
7+
OLD_RULES_FILE="/etc/falco/rules.d/50-01-rulesfile-oci-oci.yaml"
8+
NEW_RULES_FILE="/etc/falco/rules.d/60-01-rulesfile-oci-oci.yaml"
9+
10+
# Wait for file to be renamed (priority changed from 50 to 60)
11+
wait_for_file_rename "$OLD_RULES_FILE" "$NEW_RULES_FILE"
12+
13+
verify_falco_running
14+
15+
echo "Update verification passed"

0 commit comments

Comments
 (0)