mirror of https://github.com/docker/compose.git
				
				
				
			Only add `--domainname` flag to `docker run` in ACI context
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
This commit is contained in:
		
							parent
							
								
									701d1b834e
								
							
						
					
					
						commit
						268c02523a
					
				|  | @ -25,15 +25,15 @@ import ( | |||
| 	"github.com/containerd/console" | ||||
| 	"github.com/spf13/cobra" | ||||
| 
 | ||||
| 	"github.com/docker/compose-cli/api/containers" | ||||
| 
 | ||||
| 	"github.com/docker/compose-cli/api/client" | ||||
| 	"github.com/docker/compose-cli/api/containers" | ||||
| 	"github.com/docker/compose-cli/cli/options/run" | ||||
| 	"github.com/docker/compose-cli/context/store" | ||||
| 	"github.com/docker/compose-cli/progress" | ||||
| ) | ||||
| 
 | ||||
| // Command runs a container
 | ||||
| func Command() *cobra.Command { | ||||
| func Command(contextType string) *cobra.Command { | ||||
| 	var opts run.Opts | ||||
| 	cmd := &cobra.Command{ | ||||
| 		Use:   "run", | ||||
|  | @ -46,7 +46,6 @@ func Command() *cobra.Command { | |||
| 
 | ||||
| 	cmd.Flags().StringArrayVarP(&opts.Publish, "publish", "p", []string{}, "Publish a container's port(s). [HOST_PORT:]CONTAINER_PORT") | ||||
| 	cmd.Flags().StringVar(&opts.Name, "name", "", "Assign a name to the container") | ||||
| 	cmd.Flags().StringVar(&opts.DomainName, "domainname", "", "Container NIS domain name") | ||||
| 	cmd.Flags().StringArrayVarP(&opts.Labels, "label", "l", []string{}, "Set meta data on a container") | ||||
| 	cmd.Flags().StringArrayVarP(&opts.Volumes, "volume", "v", []string{}, "Volume. Ex: storageaccount/my_share[:/absolute/path/to/target][:ro]") | ||||
| 	cmd.Flags().BoolVarP(&opts.Detach, "detach", "d", false, "Run container in background and print container ID") | ||||
|  | @ -55,6 +54,10 @@ func Command() *cobra.Command { | |||
| 	cmd.Flags().StringArrayVarP(&opts.Environment, "env", "e", []string{}, "Set environment variables") | ||||
| 	cmd.Flags().StringVarP(&opts.RestartPolicyCondition, "restart", "", containers.RestartPolicyNone, "Restart policy to apply when a container exits") | ||||
| 
 | ||||
| 	if contextType == store.AciContextType { | ||||
| 		cmd.Flags().StringVar(&opts.DomainName, "domainname", "", "Container NIS domain name") | ||||
| 	} | ||||
| 
 | ||||
| 	return cmd | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -18,15 +18,25 @@ package run | |||
| 
 | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"strings" | ||||
| 	"testing" | ||||
| 
 | ||||
| 	"gotest.tools/v3/assert" | ||||
| 	"gotest.tools/v3/golden" | ||||
| ) | ||||
| 
 | ||||
| func TestHelp(t *testing.T) { | ||||
| 	var b bytes.Buffer | ||||
| 	c := Command() | ||||
| 	c := Command("aci") | ||||
| 	c.SetOutput(&b) | ||||
| 	_ = c.Help() | ||||
| 	golden.Assert(t, b.String(), "run-help.golden") | ||||
| } | ||||
| 
 | ||||
| func TestHelpNoDomainFlag(t *testing.T) { | ||||
| 	var b bytes.Buffer | ||||
| 	c := Command("default") | ||||
| 	c.SetOutput(&b) | ||||
| 	_ = c.Help() | ||||
| 	assert.Assert(t, !strings.Contains(b.String(), "domainname")) | ||||
| } | ||||
|  |  | |||
|  | @ -115,7 +115,6 @@ func main() { | |||
| 		contextcmd.Command(), | ||||
| 		cmd.PsCommand(), | ||||
| 		cmd.ServeCommand(), | ||||
| 		run.Command(), | ||||
| 		cmd.ExecCommand(), | ||||
| 		cmd.LogsCommand(), | ||||
| 		cmd.RmCommand(), | ||||
|  | @ -180,6 +179,8 @@ func main() { | |||
| 		ctype = cc.Type() | ||||
| 	} | ||||
| 
 | ||||
| 	root.AddCommand(run.Command(ctype)) | ||||
| 
 | ||||
| 	if ctype == store.AciContextType { | ||||
| 		// we can also pass ctype as a parameter to the volume command and customize subcommands, flags, etc. when we have other backend implementations
 | ||||
| 		root.AddCommand(volume.ACICommand()) | ||||
|  |  | |||
|  | @ -64,7 +64,7 @@ func TestCheckOwnCommand(t *testing.T) { | |||
| 	assert.Assert(t, isContextAgnosticCommand(login.Command())) | ||||
| 	assert.Assert(t, isContextAgnosticCommand(context.Command())) | ||||
| 	assert.Assert(t, isContextAgnosticCommand(cmd.ServeCommand())) | ||||
| 	assert.Assert(t, !isContextAgnosticCommand(run.Command())) | ||||
| 	assert.Assert(t, !isContextAgnosticCommand(run.Command("default"))) | ||||
| 	assert.Assert(t, !isContextAgnosticCommand(cmd.ExecCommand())) | ||||
| 	assert.Assert(t, !isContextAgnosticCommand(cmd.LogsCommand())) | ||||
| 	assert.Assert(t, !isContextAgnosticCommand(cmd.PsCommand())) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue