github.com/alexandrev/docker@v1.9.0/runconfig/config_test.go (about)

     1  package runconfig
     2  
     3  import (
     4  	"bytes"
     5  	"fmt"
     6  	"io/ioutil"
     7  	"testing"
     8  
     9  	"github.com/docker/docker/pkg/stringutils"
    10  )
    11  
    12  func TestDecodeContainerConfig(t *testing.T) {
    13  	fixtures := []struct {
    14  		file       string
    15  		entrypoint *stringutils.StrSlice
    16  	}{
    17  		{"fixtures/container_config_1_14.json", stringutils.NewStrSlice()},
    18  		{"fixtures/container_config_1_17.json", stringutils.NewStrSlice("bash")},
    19  		{"fixtures/container_config_1_19.json", stringutils.NewStrSlice("bash")},
    20  	}
    21  
    22  	for _, f := range fixtures {
    23  		b, err := ioutil.ReadFile(f.file)
    24  		if err != nil {
    25  			t.Fatal(err)
    26  		}
    27  
    28  		c, h, err := DecodeContainerConfig(bytes.NewReader(b))
    29  		if err != nil {
    30  			t.Fatal(fmt.Errorf("Error parsing %s: %v", f, err))
    31  		}
    32  
    33  		if c.Image != "ubuntu" {
    34  			t.Fatalf("Expected ubuntu image, found %s\n", c.Image)
    35  		}
    36  
    37  		if c.Entrypoint.Len() != f.entrypoint.Len() {
    38  			t.Fatalf("Expected %v, found %v\n", f.entrypoint, c.Entrypoint)
    39  		}
    40  
    41  		if h.Memory != 1000 {
    42  			t.Fatalf("Expected memory to be 1000, found %d\n", h.Memory)
    43  		}
    44  	}
    45  }