Skip to content

Commit 805faf8

Browse files
committed
Kubernetes fix for test file
1 parent 77a9c61 commit 805faf8

1 file changed

Lines changed: 35 additions & 2 deletions

File tree

translator/translate/otel/translate_otel_test.go

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313

1414
"github.com/aws/amazon-cloudwatch-agent/tool/testutil"
1515
"github.com/aws/amazon-cloudwatch-agent/translator"
16+
"github.com/aws/amazon-cloudwatch-agent/translator/context"
1617
_ "github.com/aws/amazon-cloudwatch-agent/translator/registerrules"
1718
"github.com/aws/amazon-cloudwatch-agent/translator/translate/agent"
1819
"github.com/aws/amazon-cloudwatch-agent/translator/translate/otel/common"
@@ -22,6 +23,8 @@ import (
2223

2324
func TestHealthCheckExtension(t *testing.T) {
2425
agent.Global_Config.Region = "us-east-1"
26+
27+
// Test case 1: Non-Kubernetes environment should NOT have health check extension
2528
input := map[string]interface{}{
2629
"metrics": map[string]interface{}{
2730
"metrics_collected": map[string]interface{}{
@@ -34,15 +37,45 @@ func TestHealthCheckExtension(t *testing.T) {
3437
require.NoError(t, err)
3538
require.NotNil(t, cfg)
3639

37-
// Verify that the health check extension is registered
40+
// Verify that the health check extension is NOT registered for non-Kubernetes
3841
extensionFound := false
3942
for _, ext := range cfg.Service.Extensions {
4043
if ext.Type().String() == "health_check" {
4144
extensionFound = true
4245
break
4346
}
4447
}
45-
assert.True(t, extensionFound, "Health check extension should be registered")
48+
assert.False(t, extensionFound, "Health check extension should NOT be registered for non-Kubernetes environments")
49+
50+
// Test case 2: Kubernetes environment should have health check extension
51+
inputK8s := map[string]interface{}{
52+
"logs": map[string]interface{}{
53+
"metrics_collected": map[string]interface{}{
54+
"kubernetes": map[string]interface{}{
55+
"cluster_name": "TestCluster",
56+
},
57+
},
58+
},
59+
}
60+
61+
// Set Kubernetes mode in context for this test
62+
ctx := context.CurrentContext()
63+
ctx.SetKubernetesMode("EKS")
64+
defer ctx.SetKubernetesMode("") // Reset after test
65+
66+
cfgK8s, err := Translate(inputK8s, "linux")
67+
require.NoError(t, err)
68+
require.NotNil(t, cfgK8s)
69+
70+
// Verify that the health check extension IS registered for Kubernetes
71+
extensionFoundK8s := false
72+
for _, ext := range cfgK8s.Service.Extensions {
73+
if ext.Type().String() == "health_check" {
74+
extensionFoundK8s = true
75+
break
76+
}
77+
}
78+
assert.True(t, extensionFoundK8s, "Health check extension should be registered for Kubernetes environments")
4679
}
4780

4881
func TestTranslator(t *testing.T) {

0 commit comments

Comments
 (0)