github.com/Prakhar-Agarwal-byte/moby@v0.0.0-20231027092010-a14e3e8ab87e/integration/container/inspect_test.go (about) 1 package container // import "github.com/Prakhar-Agarwal-byte/moby/integration/container" 2 3 import ( 4 "encoding/json" 5 "strings" 6 "testing" 7 "time" 8 9 "github.com/Prakhar-Agarwal-byte/moby/client" 10 "github.com/Prakhar-Agarwal-byte/moby/integration/internal/container" 11 "github.com/Prakhar-Agarwal-byte/moby/testutil/request" 12 "gotest.tools/v3/assert" 13 is "gotest.tools/v3/assert/cmp" 14 "gotest.tools/v3/poll" 15 "gotest.tools/v3/skip" 16 ) 17 18 func TestInspectCpusetInConfigPre120(t *testing.T) { 19 skip.If(t, testEnv.DaemonInfo.OSType == "windows" || !testEnv.DaemonInfo.CPUSet) 20 21 ctx := setupTest(t) 22 apiClient := request.NewAPIClient(t, client.WithVersion("1.19")) 23 24 name := strings.ToLower(t.Name()) 25 // Create container with up to-date-API 26 container.Run(ctx, t, request.NewAPIClient(t), container.WithName(name), 27 container.WithCmd("true"), 28 func(c *container.TestContainerConfig) { 29 c.HostConfig.Resources.CpusetCpus = "0" 30 }, 31 ) 32 poll.WaitOn(t, container.IsInState(ctx, apiClient, name, "exited"), poll.WithDelay(100*time.Millisecond)) 33 34 _, body, err := apiClient.ContainerInspectWithRaw(ctx, name, false) 35 assert.NilError(t, err) 36 37 var inspectJSON map[string]interface{} 38 err = json.Unmarshal(body, &inspectJSON) 39 assert.NilError(t, err, "unable to unmarshal body for version 1.19: %s", err) 40 41 config, ok := inspectJSON["Config"] 42 assert.Check(t, is.Equal(true, ok), "Unable to find 'Config'") 43 44 cfg := config.(map[string]interface{}) 45 _, ok = cfg["Cpuset"] 46 assert.Check(t, is.Equal(true, ok), "API version 1.19 expected to include Cpuset in 'Config'") 47 } 48 49 func TestInspectAnnotations(t *testing.T) { 50 ctx := setupTest(t) 51 apiClient := request.NewAPIClient(t) 52 53 annotations := map[string]string{ 54 "hello": "world", 55 "foo": "bar", 56 } 57 58 name := strings.ToLower(t.Name()) 59 id := container.Create(ctx, t, apiClient, 60 container.WithName(name), 61 container.WithCmd("true"), 62 func(c *container.TestContainerConfig) { 63 c.HostConfig.Annotations = annotations 64 }, 65 ) 66 67 inspect, err := apiClient.ContainerInspect(ctx, id) 68 assert.NilError(t, err) 69 assert.Check(t, is.DeepEqual(inspect.HostConfig.Annotations, annotations)) 70 }