MCPcopy
hub / github.com/google/cadvisor / createManagerAndAddSubContainers

Function createManagerAndAddSubContainers

lib/manager/manager_test.go:224–284  ·  view source on GitHub ↗
(
	memoryCache *memory.InMemoryCache,
	sysfs *fakesysfs.FakeSysFs,
	containers []string,
	f func(*containertest.MockContainerHandler),
	t *testing.T,
)

Source from the content-addressed store, hash-verified

222}
223
224func createManagerAndAddSubContainers(
225 memoryCache *memory.InMemoryCache,
226 sysfs *fakesysfs.FakeSysFs,
227 containers []string,
228 f func(*containertest.MockContainerHandler),
229 t *testing.T,
230) *manager {
231 container.ClearContainerHandlerFactories()
232 mif := &manager{
233 quitChannels: make([]chan error, 0, 2),
234 memoryCache: memoryCache,
235 }
236
237 subcontainers1 := []info.ContainerReference{
238 {Name: "/kubepods/besteffort"},
239 {Name: "/kubepods/burstable"},
240 }
241 subcontainers2 := []info.ContainerReference(nil)
242 subcontainers3 := []info.ContainerReference{
243 {Name: "/kubepods/burstable/pod01042b28-179d-446a-954a-7266557e12cd"},
244 {Name: "/kubepods/burstable/pod01042b28-179d-446a-954a-7266557e12ce"},
245 }
246 subcontainers4 := []info.ContainerReference{
247 {Name: "/kubepods/burstable/pod01042b28-179d-446a-954a-7266557e12cd/22f44d2a517778590e2d8bcafafe501f79e8a509e5b6de70b7700c4d37722bce"},
248 {Name: "/kubepods/burstable/pod01042b28-179d-446a-954a-7266557e12cd/ae9465f98d275998e148b6fc12f5f92e5d4a64fca0d255f6dc3a13cc6f93a10f"},
249 }
250
251 subcontainers5 := []info.ContainerReference(nil)
252 subcontainers6 := []info.ContainerReference(nil)
253
254 subcontainerList := [][]info.ContainerReference{subcontainers1, subcontainers2, subcontainers3, subcontainers4, subcontainers5, subcontainers6}
255
256 for idx, name := range containers {
257 mockHandler := containertest.NewMockContainerHandler(name)
258 spec := itest.GenerateRandomContainerSpec(4)
259 mockHandler.On("GetSpec").Return(
260 spec,
261 nil,
262 ).Once()
263 mockHandler.On("ListContainers", container.ListSelf).Return(
264 subcontainerList[idx],
265 nil,
266 )
267 cont, err := newContainerData(name, memoryCache, mockHandler, 60*time.Second, true, clocktesting.NewFakeClock(time.Now()))
268 if err != nil {
269 t.Fatal(err)
270 }
271 mif.containers.Store(namespacedContainerName{
272 Name: name,
273 }, cont)
274 // Add Docker containers under their namespace.
275 if strings.HasPrefix(name, "/docker") {
276 mif.containers.Store(namespacedContainerName{
277 Namespace: DockerNamespace,
278 Name: strings.TrimPrefix(name, "/docker/"),
279 }, cont)
280 }
281 f(mockHandler)

Callers 1

Calls 4

newContainerDataFunction · 0.85
fFunction · 0.50
StoreMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…