github.com/portworx/docker@v1.12.1/api/client/container/stats_unit_test.go (about)

     1  package container
     2  
     3  import (
     4  	"bytes"
     5  	"testing"
     6  
     7  	"github.com/docker/engine-api/types"
     8  )
     9  
    10  func TestDisplay(t *testing.T) {
    11  	c := &containerStats{
    12  		Name:             "app",
    13  		CPUPercentage:    30.0,
    14  		Memory:           100 * 1024 * 1024.0,
    15  		MemoryLimit:      2048 * 1024 * 1024.0,
    16  		MemoryPercentage: 100.0 / 2048.0 * 100.0,
    17  		NetworkRx:        100 * 1024 * 1024,
    18  		NetworkTx:        800 * 1024 * 1024,
    19  		BlockRead:        100 * 1024 * 1024,
    20  		BlockWrite:       800 * 1024 * 1024,
    21  		PidsCurrent:      1,
    22  	}
    23  	var b bytes.Buffer
    24  	if err := c.Display(&b); err != nil {
    25  		t.Fatalf("c.Display() gave error: %s", err)
    26  	}
    27  	got := b.String()
    28  	want := "app\t30.00%\t100 MiB / 2 GiB\t4.88%\t104.9 MB / 838.9 MB\t104.9 MB / 838.9 MB\t1\n"
    29  	if got != want {
    30  		t.Fatalf("c.Display() = %q, want %q", got, want)
    31  	}
    32  }
    33  
    34  func TestCalculBlockIO(t *testing.T) {
    35  	blkio := types.BlkioStats{
    36  		IoServiceBytesRecursive: []types.BlkioStatEntry{{8, 0, "read", 1234}, {8, 1, "read", 4567}, {8, 0, "write", 123}, {8, 1, "write", 456}},
    37  	}
    38  	blkRead, blkWrite := calculateBlockIO(blkio)
    39  	if blkRead != 5801 {
    40  		t.Fatalf("blkRead = %d, want 5801", blkRead)
    41  	}
    42  	if blkWrite != 579 {
    43  		t.Fatalf("blkWrite = %d, want 579", blkWrite)
    44  	}
    45  }