github.com/demonoid81/moby@v0.0.0-20200517203328-62dd8e17c460/daemon/config/config_common_unix_test.go (about)

     1  // +build !windows
     2  
     3  package config // import "github.com/demonoid81/moby/daemon/config"
     4  
     5  import (
     6  	"testing"
     7  
     8  	"github.com/demonoid81/moby/api/types"
     9  )
    10  
    11  func TestCommonUnixValidateConfigurationErrors(t *testing.T) {
    12  	testCases := []struct {
    13  		config *Config
    14  	}{
    15  		// Can't override the stock runtime
    16  		{
    17  			config: &Config{
    18  				CommonUnixConfig: CommonUnixConfig{
    19  					Runtimes: map[string]types.Runtime{
    20  						StockRuntimeName: {},
    21  					},
    22  				},
    23  			},
    24  		},
    25  		// Default runtime should be present in runtimes
    26  		{
    27  			config: &Config{
    28  				CommonUnixConfig: CommonUnixConfig{
    29  					Runtimes: map[string]types.Runtime{
    30  						"foo": {},
    31  					},
    32  					DefaultRuntime: "bar",
    33  				},
    34  			},
    35  		},
    36  	}
    37  	for _, tc := range testCases {
    38  		err := Validate(tc.config)
    39  		if err == nil {
    40  			t.Fatalf("expected error, got nil for config %v", tc.config)
    41  		}
    42  	}
    43  }
    44  
    45  func TestCommonUnixGetInitPath(t *testing.T) {
    46  	testCases := []struct {
    47  		config           *Config
    48  		expectedInitPath string
    49  	}{
    50  		{
    51  			config: &Config{
    52  				InitPath: "some-init-path",
    53  			},
    54  			expectedInitPath: "some-init-path",
    55  		},
    56  		{
    57  			config: &Config{
    58  				CommonUnixConfig: CommonUnixConfig{
    59  					DefaultInitBinary: "foo-init-bin",
    60  				},
    61  			},
    62  			expectedInitPath: "foo-init-bin",
    63  		},
    64  		{
    65  			config: &Config{
    66  				InitPath: "init-path-A",
    67  				CommonUnixConfig: CommonUnixConfig{
    68  					DefaultInitBinary: "init-path-B",
    69  				},
    70  			},
    71  			expectedInitPath: "init-path-A",
    72  		},
    73  		{
    74  			config:           &Config{},
    75  			expectedInitPath: "docker-init",
    76  		},
    77  	}
    78  	for _, tc := range testCases {
    79  		initPath := tc.config.GetInitPath()
    80  		if initPath != tc.expectedInitPath {
    81  			t.Fatalf("expected initPath to be %v, got %v", tc.expectedInitPath, initPath)
    82  		}
    83  	}
    84  }