@@ -17,6 +17,7 @@ import (
1717func newBarePodClient () * fake.ClientBuilder {
1818 s := runtime .NewScheme ()
1919 utilruntime .Must (corev1 .AddToScheme (s ))
20+ utilruntime .Must (agenticv1alpha1 .AddToScheme (s ))
2021 return fake .NewClientBuilder ().WithScheme (s )
2122}
2223
@@ -131,6 +132,101 @@ func TestBarePodManager_Release_NotFound(t *testing.T) {
131132 }
132133}
133134
135+ func TestBarePodManager_Claim_AuditEnabled_DefaultsTrue (t * testing.T ) {
136+ fc := newBarePodClient ().Build ()
137+ builder := & PodSpecBuilder {Image : "quay.io/test/sandbox:latest" }
138+ m := NewBarePodManager (fc , builder , "test-ns" )
139+ m .SetStep (
140+ & agenticv1alpha1.Agent {Spec : agenticv1alpha1.AgentSpec {Model : "claude-opus-4-6" }},
141+ testLLMProvider (agenticv1alpha1 .LLMProviderAnthropic ),
142+ nil ,
143+ defaultSandboxSA ,
144+ )
145+
146+ name , err := m .Claim (context .Background (), "my-proposal" , "analysis" , "" )
147+ if err != nil {
148+ t .Fatalf ("Claim: %v" , err )
149+ }
150+
151+ var pod corev1.Pod
152+ if err := fc .Get (context .Background (), types.NamespacedName {Name : name , Namespace : "test-ns" }, & pod ); err != nil {
153+ t .Fatalf ("pod not created: %v" , err )
154+ }
155+ env := envToMap (pod .Spec .Containers [0 ].Env )
156+ if env ["LIGHTSPEED_AUDIT_ENABLED" ] != "true" {
157+ t .Errorf ("LIGHTSPEED_AUDIT_ENABLED = %q, want true" , env ["LIGHTSPEED_AUDIT_ENABLED" ])
158+ }
159+ if _ , ok := env ["OTEL_EXPORTER_OTLP_ENDPOINT" ]; ok {
160+ t .Error ("OTEL_EXPORTER_OTLP_ENDPOINT should not be set when no config CR exists" )
161+ }
162+ }
163+
164+ func TestBarePodManager_Claim_AuditWithOTELEndpoint (t * testing.T ) {
165+ config := & agenticv1alpha1.AgenticOLSConfig {}
166+ config .Name = "cluster"
167+ config .Spec .Audit = agenticv1alpha1.AuditConfig {
168+ Logging : agenticv1alpha1 .AuditLoggingEnabled ,
169+ OTEL : agenticv1alpha1.AuditOTELConfig {Endpoint : "jaeger:4317" },
170+ }
171+ fc := newBarePodClient ().WithObjects (config ).Build ()
172+ builder := & PodSpecBuilder {Image : "quay.io/test/sandbox:latest" }
173+ m := NewBarePodManager (fc , builder , "test-ns" )
174+ m .SetStep (
175+ & agenticv1alpha1.Agent {Spec : agenticv1alpha1.AgentSpec {Model : "claude-opus-4-6" }},
176+ testLLMProvider (agenticv1alpha1 .LLMProviderAnthropic ),
177+ nil ,
178+ defaultSandboxSA ,
179+ )
180+
181+ name , err := m .Claim (context .Background (), "my-proposal" , "analysis" , "" )
182+ if err != nil {
183+ t .Fatalf ("Claim: %v" , err )
184+ }
185+
186+ var pod corev1.Pod
187+ if err := fc .Get (context .Background (), types.NamespacedName {Name : name , Namespace : "test-ns" }, & pod ); err != nil {
188+ t .Fatalf ("pod not created: %v" , err )
189+ }
190+ env := envToMap (pod .Spec .Containers [0 ].Env )
191+ if env ["LIGHTSPEED_AUDIT_ENABLED" ] != "true" {
192+ t .Errorf ("LIGHTSPEED_AUDIT_ENABLED = %q, want true" , env ["LIGHTSPEED_AUDIT_ENABLED" ])
193+ }
194+ if env ["OTEL_EXPORTER_OTLP_ENDPOINT" ] != "jaeger:4317" {
195+ t .Errorf ("OTEL_EXPORTER_OTLP_ENDPOINT = %q, want jaeger:4317" , env ["OTEL_EXPORTER_OTLP_ENDPOINT" ])
196+ }
197+ }
198+
199+ func TestBarePodManager_Claim_AuditDisabled (t * testing.T ) {
200+ config := & agenticv1alpha1.AgenticOLSConfig {}
201+ config .Name = "cluster"
202+ config .Spec .Audit = agenticv1alpha1.AuditConfig {
203+ Logging : agenticv1alpha1 .AuditLoggingDisabled ,
204+ }
205+ fc := newBarePodClient ().WithObjects (config ).Build ()
206+ builder := & PodSpecBuilder {Image : "quay.io/test/sandbox:latest" }
207+ m := NewBarePodManager (fc , builder , "test-ns" )
208+ m .SetStep (
209+ & agenticv1alpha1.Agent {Spec : agenticv1alpha1.AgentSpec {Model : "claude-opus-4-6" }},
210+ testLLMProvider (agenticv1alpha1 .LLMProviderAnthropic ),
211+ nil ,
212+ defaultSandboxSA ,
213+ )
214+
215+ name , err := m .Claim (context .Background (), "my-proposal" , "analysis" , "" )
216+ if err != nil {
217+ t .Fatalf ("Claim: %v" , err )
218+ }
219+
220+ var pod corev1.Pod
221+ if err := fc .Get (context .Background (), types.NamespacedName {Name : name , Namespace : "test-ns" }, & pod ); err != nil {
222+ t .Fatalf ("pod not created: %v" , err )
223+ }
224+ env := envToMap (pod .Spec .Containers [0 ].Env )
225+ if _ , ok := env ["LIGHTSPEED_AUDIT_ENABLED" ]; ok {
226+ t .Error ("LIGHTSPEED_AUDIT_ENABLED should not be set when audit logging is disabled" )
227+ }
228+ }
229+
134230func TestBarePodManager_WaitReady_ImmediateReady (t * testing.T ) {
135231 pod := & corev1.Pod {}
136232 pod .Name = "ls-analysis-my-proposal"
0 commit comments