Skip to content

Commit 907d071

Browse files
tas50claude
andcommitted
🟢 Add unit tests for Security Hub standardNameFromArn
Tests all ARN formats: standards/, ruleset/, PCI-DSS, NIST, no-match fallback, empty string, and ARN without version suffix. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 4d2b1b6 commit 907d071

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
// Copyright Mondoo, Inc. 2024, 2026
2+
// SPDX-License-Identifier: BUSL-1.1
3+
4+
package resources
5+
6+
import (
7+
"testing"
8+
9+
"github.com/stretchr/testify/assert"
10+
)
11+
12+
func TestStandardNameFromArn(t *testing.T) {
13+
t.Run("aws foundational standards ARN", func(t *testing.T) {
14+
name := standardNameFromArn("arn:aws:securityhub:us-west-2::standards/aws-foundational-security-best-practices/v/1.0.0")
15+
assert.Equal(t, "aws-foundational-security-best-practices", name)
16+
})
17+
18+
t.Run("cis ruleset ARN", func(t *testing.T) {
19+
name := standardNameFromArn("arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0")
20+
assert.Equal(t, "cis-aws-foundations-benchmark", name)
21+
})
22+
23+
t.Run("pci-dss standards ARN", func(t *testing.T) {
24+
name := standardNameFromArn("arn:aws:securityhub:us-east-1::standards/pci-dss/v/3.2.1")
25+
assert.Equal(t, "pci-dss", name)
26+
})
27+
28+
t.Run("nist standards ARN", func(t *testing.T) {
29+
name := standardNameFromArn("arn:aws:securityhub:us-east-1::standards/nist-800-53/v/5.0.0")
30+
assert.Equal(t, "nist-800-53", name)
31+
})
32+
33+
t.Run("ARN without standards or ruleset prefix returns full ARN", func(t *testing.T) {
34+
arn := "arn:aws:securityhub:us-west-2:123456789012:hub/default"
35+
name := standardNameFromArn(arn)
36+
assert.Equal(t, arn, name)
37+
})
38+
39+
t.Run("empty string returns empty", func(t *testing.T) {
40+
assert.Equal(t, "", standardNameFromArn(""))
41+
})
42+
43+
t.Run("standards ARN without version suffix", func(t *testing.T) {
44+
name := standardNameFromArn("arn:aws:securityhub:::standards/my-standard")
45+
assert.Equal(t, "my-standard", name)
46+
})
47+
}

0 commit comments

Comments
 (0)