integration/container: TestStats: use sub-tests

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn
2025-10-27 09:39:11 +01:00
parent 6511d86797
commit 155d697010

View File

@@ -24,27 +24,31 @@ func TestStats(t *testing.T) {
assert.NilError(t, err)
cID := container.Run(ctx, t, apiClient)
resp, err := apiClient.ContainerStats(ctx, cID, false)
assert.NilError(t, err)
defer resp.Body.Close()
t.Run("no-stream", func(t *testing.T) {
resp, err := apiClient.ContainerStats(ctx, cID, false)
assert.NilError(t, err)
defer func() { _ = resp.Body.Close() }()
var v containertypes.StatsResponse
err = json.NewDecoder(resp.Body).Decode(&v)
assert.NilError(t, err)
assert.Check(t, is.Equal(int64(v.MemoryStats.Limit), info.MemTotal))
assert.Check(t, !reflect.DeepEqual(v.PreCPUStats, containertypes.CPUStats{}))
err = json.NewDecoder(resp.Body).Decode(&v)
assert.Assert(t, is.ErrorContains(err, ""), io.EOF)
var v containertypes.StatsResponse
err = json.NewDecoder(resp.Body).Decode(&v)
assert.NilError(t, err)
assert.Check(t, is.Equal(int64(v.MemoryStats.Limit), info.MemTotal))
assert.Check(t, !reflect.DeepEqual(v.PreCPUStats, containertypes.CPUStats{}))
err = json.NewDecoder(resp.Body).Decode(&v)
assert.Assert(t, is.ErrorIs(err, io.EOF))
})
resp, err = apiClient.ContainerStatsOneShot(ctx, cID)
assert.NilError(t, err)
defer resp.Body.Close()
t.Run("one-shot", func(t *testing.T) {
resp, err := apiClient.ContainerStatsOneShot(ctx, cID)
assert.NilError(t, err)
defer func() { _ = resp.Body.Close() }()
v = containertypes.StatsResponse{}
err = json.NewDecoder(resp.Body).Decode(&v)
assert.NilError(t, err)
assert.Check(t, is.Equal(int64(v.MemoryStats.Limit), info.MemTotal))
assert.Check(t, is.DeepEqual(v.PreCPUStats, containertypes.CPUStats{}))
err = json.NewDecoder(resp.Body).Decode(&v)
assert.Assert(t, is.ErrorContains(err, ""), io.EOF)
var v containertypes.StatsResponse
err = json.NewDecoder(resp.Body).Decode(&v)
assert.NilError(t, err)
assert.Check(t, is.Equal(int64(v.MemoryStats.Limit), info.MemTotal))
assert.Check(t, reflect.DeepEqual(v.PreCPUStats, containertypes.CPUStats{}))
err = json.NewDecoder(resp.Body).Decode(&v)
assert.Assert(t, is.ErrorIs(err, io.EOF))
})
}