github.com/xeptore/docker-cli@v20.10.14+incompatible/cli/command/stack/kubernetes/warnings_test.go (about)

     1  package kubernetes
     2  
     3  import (
     4  	"bytes"
     5  	"testing"
     6  	"time"
     7  
     8  	composetypes "github.com/docker/cli/cli/compose/types"
     9  	"gotest.tools/v3/golden"
    10  )
    11  
    12  func TestWarnings(t *testing.T) {
    13  	duration := composetypes.Duration(5 * time.Second)
    14  	attempts := uint64(3)
    15  	config := &composetypes.Config{
    16  		Version: "3.4",
    17  		Services: []composetypes.ServiceConfig{
    18  			{
    19  				Name: "front",
    20  				Build: composetypes.BuildConfig{
    21  					Context: "ignored",
    22  				},
    23  				ContainerName:  "ignored",
    24  				CgroupParent:   "ignored",
    25  				CredentialSpec: composetypes.CredentialSpecConfig{File: "ignored"},
    26  				DependsOn:      []string{"ignored"},
    27  				Deploy: composetypes.DeployConfig{
    28  					UpdateConfig: &composetypes.UpdateConfig{
    29  						Delay:           composetypes.Duration(5 * time.Second),
    30  						FailureAction:   "rollback",
    31  						Monitor:         composetypes.Duration(10 * time.Second),
    32  						MaxFailureRatio: 0.5,
    33  					},
    34  					RestartPolicy: &composetypes.RestartPolicy{
    35  						Delay:       &duration,
    36  						MaxAttempts: &attempts,
    37  						Window:      &duration,
    38  					},
    39  				},
    40  				Devices:       []string{"ignored"},
    41  				DNSSearch:     []string{"ignored"},
    42  				DNS:           []string{"ignored"},
    43  				DomainName:    "ignored",
    44  				EnvFile:       []string{"ignored"},
    45  				Expose:        []string{"80"},
    46  				ExternalLinks: []string{"ignored"},
    47  				Image:         "dockerdemos/front",
    48  				Links:         []string{"ignored"},
    49  				Logging:       &composetypes.LoggingConfig{Driver: "syslog"},
    50  				MacAddress:    "ignored",
    51  				Networks:      map[string]*composetypes.ServiceNetworkConfig{"private": {}},
    52  				NetworkMode:   "ignored",
    53  				Restart:       "ignored",
    54  				SecurityOpt:   []string{"ignored"},
    55  				StopSignal:    "ignored",
    56  				Ulimits:       map[string]*composetypes.UlimitsConfig{"nproc": {Hard: 65535}},
    57  				User:          "ignored",
    58  				Volumes: []composetypes.ServiceVolumeConfig{
    59  					{
    60  						Type: "bind",
    61  						Bind: &composetypes.ServiceVolumeBind{Propagation: "ignored"},
    62  					},
    63  					{
    64  						Type:   "volume",
    65  						Volume: &composetypes.ServiceVolumeVolume{NoCopy: true},
    66  					},
    67  				},
    68  			},
    69  		},
    70  		Networks: map[string]composetypes.NetworkConfig{
    71  			"global": {},
    72  		},
    73  	}
    74  	var buf bytes.Buffer
    75  	warnUnsupportedFeatures(&buf, config)
    76  	warnings := buf.String()
    77  	golden.Assert(t, warnings, "warnings.golden")
    78  }