1package kubernetes 2 3import ( 4 "bytes" 5 "testing" 6 "time" 7 8 composetypes "github.com/docker/cli/cli/compose/types" 9 "gotest.tools/v3/golden" 10) 11 12func 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} 79