github.com/afbjorklund/moby@v20.10.5+incompatible/integration-cli/docker_cli_plugins_logdriver_test.go (about) 1 package main 2 3 import ( 4 "context" 5 "strings" 6 "testing" 7 8 "github.com/docker/docker/client" 9 "gotest.tools/v3/assert" 10 ) 11 12 func (s *DockerSuite) TestPluginLogDriver(c *testing.T) { 13 testRequires(c, IsAmd64, DaemonIsLinux) 14 15 pluginName := "cpuguy83/docker-logdriver-test:latest" 16 17 dockerCmd(c, "plugin", "install", pluginName) 18 dockerCmd(c, "run", "--log-driver", pluginName, "--name=test", "busybox", "echo", "hello") 19 out, _ := dockerCmd(c, "logs", "test") 20 assert.Equal(c, strings.TrimSpace(out), "hello") 21 22 dockerCmd(c, "start", "-a", "test") 23 out, _ = dockerCmd(c, "logs", "test") 24 assert.Equal(c, strings.TrimSpace(out), "hello\nhello") 25 26 dockerCmd(c, "rm", "test") 27 dockerCmd(c, "plugin", "disable", pluginName) 28 dockerCmd(c, "plugin", "rm", pluginName) 29 } 30 31 // Make sure log drivers are listed in info, and v2 plugins are not. 32 func (s *DockerSuite) TestPluginLogDriverInfoList(c *testing.T) { 33 testRequires(c, IsAmd64, DaemonIsLinux) 34 pluginName := "cpuguy83/docker-logdriver-test" 35 36 dockerCmd(c, "plugin", "install", pluginName) 37 38 cli, err := client.NewClientWithOpts(client.FromEnv) 39 assert.NilError(c, err) 40 defer cli.Close() 41 42 info, err := cli.Info(context.Background()) 43 assert.NilError(c, err) 44 45 drivers := strings.Join(info.Plugins.Log, " ") 46 assert.Assert(c, strings.Contains(drivers, "json-file")) 47 assert.Assert(c, !strings.Contains(drivers, pluginName)) 48 }