@@ -166,6 +166,79 @@ func TestGenerateContainerPodData(t *testing.T) {
166166
167167}
168168
169+ func TestGetEphemeralContainers (t * testing.T ) {
170+ name := "filebeat"
171+ namespace := "default"
172+ podIP := "127.0.0.1"
173+ containerID := "docker://foobar"
174+ uid := "005f3b90-4b9d-12f8-acf0-31020a840133"
175+ containerImage := "elastic/filebeat:6.3.0"
176+ node := "node"
177+
178+ expectedEphemeralContainers :=
179+ []kubernetes.Container {
180+ {
181+ Name : "filebeat" ,
182+ Image : "elastic/filebeat:6.3.0" ,
183+ },
184+ }
185+ expectedephemeralContainersStatuses :=
186+ []kubernetes.PodContainerStatus {
187+ {
188+ Name : "filebeat" ,
189+ State : v1.ContainerState {
190+ Running : & v1.ContainerStateRunning {
191+ StartedAt : metav1.Time {},
192+ },
193+ },
194+ Ready : false ,
195+ ContainerID : "docker://foobar" ,
196+ },
197+ }
198+
199+ pod :=
200+ & kubernetes.Pod {
201+ ObjectMeta : metav1.ObjectMeta {
202+ Name : name ,
203+ UID : types .UID (uid ),
204+ Namespace : namespace ,
205+ Labels : map [string ]string {},
206+ Annotations : map [string ]string {},
207+ },
208+ TypeMeta : metav1.TypeMeta {
209+ Kind : "Pod" ,
210+ APIVersion : "v1" ,
211+ },
212+ Status : v1.PodStatus {
213+ PodIP : podIP ,
214+ Phase : kubernetes .PodRunning ,
215+ EphemeralContainerStatuses : []kubernetes.PodContainerStatus {
216+ {
217+ Name : name ,
218+ ContainerID : containerID ,
219+ State : v1.ContainerState {
220+ Running : & v1.ContainerStateRunning {},
221+ },
222+ },
223+ },
224+ },
225+ Spec : v1.PodSpec {
226+ NodeName : node ,
227+ EphemeralContainers : []v1.EphemeralContainer {
228+ {
229+ EphemeralContainerCommon : v1.EphemeralContainerCommon {
230+ Image : containerImage ,
231+ Name : name ,
232+ },
233+ },
234+ },
235+ },
236+ }
237+ ephContainers , ephContainersStatuses := getEphemeralContainers (pod )
238+ assert .Equal (t , expectedEphemeralContainers , ephContainers )
239+ assert .Equal (t , expectedephemeralContainersStatuses , ephContainersStatuses )
240+ }
241+
169242// MockDynamicComm is used in tests.
170243type MockDynamicComm struct {
171244 context.Context
0 commit comments